logoalt Hacker News

velcrovanlast Sunday at 1:46 PM43 repliesview on HN

Anyone got any advice for a techy dad with no (zero) Minecraft experience who wants to set up a Minecraft server for the family in 2026? Kids right now are playing on their iPads, and (sometimes) old macbooks/windows PCs.


Replies

AkBKukUlast Sunday at 2:08 PM

Minecraft comes in two flavors, Java and Bedrock. All of the mobile, console ports, and windows store versions are based on bedrock. Java is the one you download directly from the website. Bedrock isn't really about custom hosted servers, but there is a way.

You can run a standard Java Minecraft server however you like, and then you can wrap it to also work with the Bedrock using Gyser[1] which will protocol translate it on the fly. It can require some workarounds on the more restrictive bedrock clients but it does work. That will let you setup and control the server from Java which has more options available.

[1] https://geysermc.org/

show 2 replies
cogman10last Sunday at 3:07 PM

My main advice, ignore all advice online about JVM tuning minecraft. It's dated and often just wrong.

The best thing you can do is run on the latest JVM, set your max memory as high as you can tolerate, and use ZGC. That's it.

The JVM tuning guides for minecraft will have you switching and toggling every JVM flag under the sun with extremely dubious "evidence" of the payout for the flags they switch. In some cases, they will set contradictory flags. For example, setting eden size and target pause time. The fine tuning flags disable the heuristic flags like target pause time.

KISS. ZGC has very low latency and the larger the heap you give it the less it'll slow things down (though, do keep it under 32gb. Object header compression works on heaps less than 32gb). And using the latest JVM reduces the memory needed and increases the performance in general of the JVM. Win-win.

show 3 replies
Velocifyerlast Sunday at 2:34 PM

Go to https://minecraft.wiki/w/Tutorial:Setting_up_a_Java_Edition_... for how to create a vanilla server for Minecraft Java edition (which is the best version, but is only on Windows and MacOS and Linux, unlike the significantly inferrior bedrock edition, which is way buggier but is avalible elsewhere).

If you need more performance, install [fabric](https://fabricmc.net/) and then install [lithium](https://modrinth.com/mod/lithium), but do not use mods like paper or spigot or purpur as they will mess up farms.

show 1 reply
VCFundedGenYerlast Sunday at 1:49 PM

The edition of Minecraft on phones/tablets/etc is more locked down and limited than Java, so unfortunately your options might be somewhat limited (though not impossible).

I have run a Docker Minecraft Server (itzg/docker-minecraft-server) for years and it's been rock solid. Best part is not having to install a lot of dependencies, the image just does it all. I think they also have a Bedrock Edition server but I never got it working right (see above).

You'd need everyone to run the Java Edition on Windows/Mac/Linux systems if you want to do it with the least amount of pain. Otherwise, people are just paying for "Realms" which are hosted servers.

show 1 reply
hjkl0last Sunday at 3:00 PM

Most comments here ignored the kids’ preference to play on the iPad. With that in mind, you may want to check out the Realms offering. I believe you get a 10 user server for ~$7. Note that is also highly fragmented, and there are different realms subscriptions for Java and Bedrock and also different tiers.

Depends on what your goals are with the family server, Realms may not be a good fit at all. But in terms of getting kids playing together simply and quickly, it’s the easiest way to go.

As a side note, I know kids who switched to Java after years of insisting only on Bedrock and sorely regretted not making the move much sooner. This is part of growing up these days.

abstractbilllast Sunday at 2:31 PM

I've been admining our family minecraft servers for about 5 years, and just handed off that job to my 12 year old daughter who now knows more than enough of the linux command-line to do it. I thoroughly recommend it, it's been great!

There are many ways to get it done. What worked best for us was choosing java over bedrock, renting a cheap linux vps, and writing some very simple shell scripts for starting, stopping, changing worlds, etc. Happy to talk you through anything you get stuck on!

munchbunnylast Sunday at 4:27 PM

If it’s a problem you’re willing to solve with money and don’t want any special stuff like mods, you can pay for a server with Realms and then you don’t need to think too hard about it.

But the canonical way to do it that is both free and infinitely customizable is to host your own server. It’s pretty straightforward to do these days. However, before you do, I would suggest playing the game a bit to understand what the settings are/mean. You and your kids could play together a bit on a Realms server or a community/public server to get a feel for what you want in a custom server.

chainwaxyesterday at 1:40 PM

A couple of weeks ago I set up a server this way to help get my fiancee into video games. I already owned a proper Minecraft PC license from way back in the day, and bought Minecraft on Android for ~$5. My thinking is that we could play together, me on a Mac and her on a Galaxy Tab we have with a controller. Attempting to get these two clients to play together is what led me into the same situation you are about to find yourself in.

Something to know is that there are two versions of Minecraft, Java and Bedrock (C++). Some others in this thread have talked about the history of why this is, but the important thing to know is that Java runs on Mac/Windows/Linux, and there are some neat launchers that can run it on Android. Bedrock runs on Consoles/Tablets/Phones/Windows. Note that Bedrock _does not_ run on Linux or Mac.

There are ways to host Bedrock-only servers if you're _sure_ no users will ever be running the Java client, but I would recommend running a Java server with the Geyser and Floodgate plugins for compatibility reasons. The plugins are a translation layer that trick Bedrock clients into thinking they're connecting to a Bedrock server. I've been playing this way (me on Mac/Java, her on Android/Bedrock) for two weeks with no real issues. I haven't explored adding any other plugins to the server.

I'm running this in a container on an old Thinkpad in my office. This setup is common enough that GLM-5.2 set it up in (nearly) one shot.

I also really recommend running an instance of https://bluemap.bluecolored.de/ in another container on the same machine. It hosts a neat map of your world, which your family could pull up on their phones while not playing. My server itself is LAN only, but I used a Cloudflare tunnel to host the map so she can show her friends: https://mcmap.thg3.net/

Let me know if you have any questions or would like my server config!

show 1 reply
TrueSlacker0last Sunday at 4:14 PM

I recently did this so the kids and their friends could all play together. I ended up running the paper minecraft server on one of our home linux computers. It runs the java version but this is ok as there is a mod for bedrock to connect to java. I set it up so that the service starts every time the computer boots up so they dont have to run anything to start it. Then once you have it running and open the appropriate ports on your router, technically anyone with a valid java version can connect. But now its time to install 3 mods. geyser, floodgate and via version so its easier for everyone to connect from bedrock on tablets and on versions that are too high while your server is a version behind. As of writing this paper server is still stable on 26.1 not yet to 26.2.

[0] https://modrinth.com has a bunch of mods the kids have enjoyed as well.

cogogolast Sunday at 2:11 PM

I just run the server off of the fastest laptop and one of them also uses that machine to play and lock it all down with tailscale. Honestly probably not worth the effort when the java edition allows them to play together over the wifi network out of the box. Have not found a solution I like to open up to other kids at school.

echoanglelast Sunday at 1:50 PM

If you want to selfhost and use docker for Java edition, this is the easiest way:

https://github.com/itzg/docker-minecraft-server

There’s also a version for bedrock (the version that’s supported on mobile devices).

bennyp101yesterday at 9:57 AM

I've been running this[0] for a few years now, moved it a couple of days ago to a portainer VM on proxmox with 6GB ram, its running perfectly fine for 3 of us, and works fine from tablets and PC.

Can also run on the nintendo switch if you setup a cname to redirect to your server IP, i.e: mco.lbsg.net x.x.x.x play.lbsg.net x.x.x.x

Then choose the "Lifeboat" server

[0] https://jamesachambers.com/minecraft-java-bedrock-server-tog...

Guvantelast Sunday at 5:40 PM

Minecraft realms aren't as powerful as a server but if you are doing Bedrock to support iPads then it is certainly the easiest way to do it.

harriganlast Sunday at 2:06 PM

Minecraft servers are resource hogs even when idle. Enable the built-in idle server shutdown (IDLE_SERVER=true). It automatically stops the server after a few minutes with no players and starts it again when needed. It's not enabled by default.

show 1 reply
hedgehoglast Sunday at 3:48 PM

Luanti with Mineclonia plug-in works well if you are willing to move entirely to Mac/Windows/Linux clients. The whole stack is open source so it's easier to make changes etc if you want. No hacky binary patching of Java bytecode. Originally I was going to try Minecraft proper first since I'd already paid for that, but Microsoft doesn't honor old licenses and in the end the Luanti path probably works better.

https://content.luanti.org/packages/ryvnf/mineclonia/

show 1 reply
pridkettlast Sunday at 4:45 PM

GeyserMC will be your friend if using Bedrock and Java.

But the big thing is that community is a little all over the place. I use ChatGPT to walk me through everything to securely set up a couple of servers. Kids love it.

Most chatbots will be smart and recommend things you need for permissions, rollback, backups, and most importantly, whitelisting. For giggles I left an unprotected Minecraft server up on the default port of my residential IP and the thing was griefed to heck within days. The griefers were just griefing other griefers.

maccam912last Sunday at 3:05 PM

I've been on this journey! I am definitely not doing it the easiest way, but I've got it deployed on Kubernetes with https://github.com/itzg/minecraft-server-charts and then use prism launcher on my kids computers to get the versions to match up and stuff. I also use automodpack so I can install some quality of life mods on the server and they'll just sync to the clients.

willis936last Sunday at 7:45 PM

Docker compose + systemd, automated backups (bonus points for coordinating with restic/borg + rsync cronjob), and ram disks. Ram disks in particular are a game changer for game feel. For the backups you'll need to leverage a feature that exports the world. This used to need to be a mod, but it's possible it's been folded into vanilla.

madducilast Sunday at 2:22 PM

I run the itzg Docker Image behind a Wireguard VPN, all hosted on an embedded board (a armbian powered Radxa 12L with 16 GB Ram).

So far so good, we have an offline server, so even if the Microsoft Server is down, we can play (we use PolyMC on PC with offline accounts as well, for the same reason). By default, new users are in "spectator" mode, so they can't do anything without an activation from admin.

Friends get Wireguard QR codes, periodically we rotate them.

himata4113last Sunday at 1:48 PM

https://pufferfish.host/ they have the most powerful and easy to use panel.

AussieWog93last Sunday at 2:33 PM

Genuinely, install Ubuntu Server Edition into an old computer, set up SSH then tell Claude Code the account and IP for login.

You can ask if to set up damn near anything you want and it'll do it.

If you're using a laptop make sure it disables all of the sleep on lid close stuff, as well as other laptop-specific power optimisations.

A VPS would work too if you want something always available with a datacentre network connection.

show 1 reply
kelvinjps10last Sunday at 3:31 PM

You can actually host a server for bedrock https://www.minecraft.net/en-us/download/server/bedrock The version that mobile and console uses and that in PC you can choose

lizimolast Sunday at 3:56 PM

I'm surprised no one mentioned https://github.com/pumpkin-mc/pumpkin in this thread. It's the fastest Minecraft server implementation and it's written in Rust.

terriblepersonlast Sunday at 4:46 PM

If you decide to do mods, you can make your life much, much easier by using a launcher. I use Prism, but I haven't looked for anything new in the last few years so it's possible there are better options now.

Also, find a world backup solution and use it.

nkrisclast Sunday at 2:33 PM

I run a docker image with the Java server and GeyserMC to allow Bedrock clients to connect to it so my son can play from my iPad while I use my computer.

If they’re playing from MacOS/Windows then the GeyserMC layer isn’t necessary as they can run the Java client.

JamesSwiftlast Sunday at 5:43 PM

The server is simple, theres plenty of docker examples online. Cross play between bedrock and java edition, and connecting to custom servers on eg switch is the harder part. And using linux as a client is more advanced.

kitdlast Sunday at 4:37 PM

I tried running my own but it turned out to be more complex than I was expecting (and desiring). I ended up paying a bit for a hosted server at ShockByte.

stpedgwdgfhgddyesterday at 8:59 AM

My son setup a minecraft server on a mac mini using claude, was pretty smooth. If your kids just use it in house you do no need to worry about security issues. In my case I did create a dedicated user account for the server.

show 1 reply
hnlmorglast Sunday at 5:08 PM

Just run the either the Java or bedrock server as a docker container. There’s good community-maintained containers out there.

poly2itlast Sunday at 2:03 PM

Are all of your family playing on Bedrock edition? There is a version split between console editions (plus some Windows users) and the original Java edition, with most of the (verbal?) online community playing on the latter.

If you are not all playing on the same edition, you can use something called GeyserMC (https://geysermc.org/) to allow Bedrock players to join your Java server.

Modding your server can greatly improve your server performance. Java is the platform with the best modding support. The modding APIs are however community built, due to historical and upsteram reasons. The subjectively best API for development (in my opinion) is Fabric (https://fabricmc.net/), but many older mods have only targetted Forge. Due to a split in the Forge development team, this API was recently superceded by NeoForge (https://neoforged.net/). Most relevant mods support both Fabric and NeoForge.

To explore mods, I would recommend using Modrinth. It has a pleasant and powerful interface, and links to source code on open source mods.

https://modrinth.com/

Here is a search filter for an overview of server-side optimisation mods:

https://modrinth.com/discover/mods?g=categories:fabric&l=ope...

To set up your Minecraft server, I would recommend NixOS (https://nixos.org) for devops with nix-minecraft for server configuration:

https://github.com/Infinidoge/nix-minecraft

Feel free to ask clarifying questions if you have any, I might have written this somewhat compactly!

burner54828182last Sunday at 4:20 PM

I had Claude code do this for me last night. Setup the whole thing in about 10 minutes with directions on connecting

sebmaynardlast Sunday at 4:12 PM

I ran geyser with paper for years.. now I pay for 2 realms, and it's so much easier for them and their friends

mikepurvislast Sunday at 4:46 PM

I run the crafty controller Docker container on my unraid machine and it's easy and pretty hands off.

spicyusernamelast Sunday at 4:01 PM

Just buy a Realm subscription from Mojang.

I ran a private server for my kids for a while and it was a huge headache. Bedrock is purposely made to not make it easy to DIY. It was difficult for their friends to join, everyone was mad when it was down when they wanted to play, and I had to take great care to not lose their progress.

Paying for a Realm doesn't scratch that DIY itch, but your kids will actually get to enjoy playing, which is really the point, isn't it?

Alternately, run a Java server and use the Java-to-Bedrock plugin / proxy / adapter.

bombcarlast Sunday at 5:40 PM

No joke serious - play GTNH. You can turn off the mobs if needed and the quest book is phenomenal and the feeling of accomplishment is real.

And you can stay in steam forever if you wanted.

icaselast Sunday at 4:02 PM

i did this and it’s so worth it.

just get everyone on java. i play on my framework laptop, my wife on her mac and my son on a steam deck.

BoingBoomTschaklast Sunday at 8:44 PM

Minetest?

whalesaladyesterday at 3:05 PM

docker run itzg/minecraft-server:latest

preisschildlast Sunday at 2:48 PM

itzg has OCI container images and kubernetes helm charts

https://itzg.github.io/docker-minecraft-docs/

speed_spreadlast Sunday at 1:52 PM

I used a Docker image. Good enough as is for LAN usage. I assume it could be exposed online with a Cloudflare tunnel but I wouldnt trust it to not be hacked. Docker may also make it harder to customize (install mods).

MagicMoonlightlast Sunday at 8:11 PM

[dead]