天使

|

ThePangel

|

EA4IXU

GNU nano 8.4

Self-hosting my friend group's 2-week Minecraft phase.md

How I self-hosted my friend group’s 2-week Minecraft phase

So my friends and I had that itch for a 2-week Minecraft phase, so naturally, like in the past, I was in charge of handling the server, so I’ll tell you all how I set it up. (Java and Bedrock crossplay!)

The hardware

The server is running on my Raspberry Pi 5 8GB, since it’s the only spare computer I have, as a bonus it has a relatively low power consumption.

I have it connected by Ethernet directly to my router, and everything is on a 256GB microSD. I also have the official fan.

I have the Pi running Headless PiOS Lite 64bit

Software Stack

First I started by downloading and running the frontend Crafty Controller, tbh I should have used the docker Image (which I have used in the past), but I installed it directly.

From Crafty I created a Paper Server running 26.1.2 (latest version at server creation). I chose paper, because tbh It’s the only server software I have ever used, It’s proven and stable, but, I may test out or fully switch to a fabric server in the near future, because it doesn’t tweak vanilla like paper, and some server side mods sync better with my fabric client side mods (JEI, xaeros map, etc), will post abt that if I do it.

Then I proceeded to install some required plugins, and some convenient ones

Paper/Bukkit plugins

  • Paper Plugins (1):
    • JEIRecipeBridge
  • Bukkit Plugins (12):
    • DiscordSRV, Essentials, floodgate, Geyser-Spigot, LuckPerms, Maintenance, PVPClumps, ServerListPlus, SkinsRestorer, voicechat, WorldEdit

Lets go 1 by 1 and explain what they do and why I added them.

JEIRecipeBridge by Mrbysco

Since Minecraft 1.21.2+, recipes are stored on the server only, so for me and my JEI using friends, this is a no brainer

DiscordSRV by Sracrz, granny and Vankka

This adds seamless integration between the Minecraft server and the discord server, allowing my friends to check current server status, use the ingame chat directly from discord, verify accounts with linking, prox-chat and more I don’t use.

If you plan to have a Discord server specifically for your friends Minecraft server, this is a no brainer, to add that bit of polish and convenience

EssentialsX by mdcfe, JRoy and pop4959

Not to be confused with the Essential mod, this plugin adds a bunch of QOL and convenience commands, like /tpask, /home and more, which makes our social server lower friction, also for me the admin, makes managing stuff easier with some commands.

If you dont mind these types of commands and don’t think they ruin the experience, I recommend it, we found it comfortable and very useful.

Floodgate and Geyser by GeyserMC

I have bundled these together because one is nothing without the other.

This is by far the most important plugin of all, and outright magical. Geyser allows bedrock clients to connect to a java server, essentially adding cross-play.

Floodgate lets bedrock users join without having to own a Java account aswell, which are most bedrock users, and all my friends.

These two plugins allow all my PS4/5 and PE friends join the server and play with java users seamlessly, of course the server is still a Java server, so all mechanics are Java mechanics, this may take so time to get used to for bedrock players.

LuckPerms by lacko

LuckPerms is my permission plugin of choice, It alows me as the admin to grant command and other permissions to the player.

I use this to give my friends access to certain commands like /home or /tpask, without giving everyone OP.

Maintenance by kennytv

This plugin allows me to set the server in a maintenance mode where only I can enter, and the users will see that the server is under maintenance on the server list.

This way I can peacefully fix any issue on the server and the players know whats going on.

PVPClumps by Spog

This just clumps up XP t reduce lag and make xp collection in farms quicker.

ServerListPlus by Minecrell

This plugin lets me fully and with a lot of detail customise the server MOTD dynamically to whatever I desire, really fun and cool

SkinRestorer by SkinRestorer Team

This plugin enables me to add skins to cracked and bedrock players, because in an offline server, since there is no account verification, skins are not fetched.

This plugin restores the skins of paid minecraft accounts like mine automatically, and lets you give any player any skin seamlessly, I use this to set all of my friends skins

Simple Voice Chat

This mod is both simple and cool, and also self explanatory, it adds a voice chat to the game, this way me and my java friends can scream at eachother in game.

This is better than discord because its real prox chat, and 3D audio best on the player position, so I highly recommend.

WorldEdit by EngineHub

We all know world edit, a quick way to make mass edits, its really good.

I only used it to completelly vanish a chunk as a prank, but I added it as a useful admin tool.

Network setup

This is all fine and dandy but how do people connect to my machine, on my network.

Well first I have a domain on Cloudflare dynamically (ddns) pointing to my home IP, on my router I have port 6741 TCP open for Java, 19132 UDP for bedrock and 24454 UDP for Simple Voice chat.

It is much better practice to proxy this trough a vps, but I dont have that kind of money

Yeah that it, pretty easyyyy.

That’s the end! Thanks for reading, good luck on your 2-week adventures. 73

(feel free to leave a comment)