Hi! I want to selfhost a minecraft server for my kid and hjs friends. I havent played minecraft in quite a few years …
Where do I start to self host one?
I am already seflhosting lost of stuff from 'Arrs to Jellyfin and Immich and more, so I am not asking on how to do it technically, but where to look for and what to host for a proper Minecraft server!
Edit: choosed to setup this https://github.com/itzg/docker-minecraft-bedrock-server and so far, super smooth and easy peasy!
In addition to other advice here just be aware that Minecraft servers are prime targets for griefing and abuse.
I recommend setting it to whitelist mode and then each kid your friend wants to join just has to send their username to him so you can add the username to the whitelist. Its an added overhead but it’s much less painful than reverting to a backup for a griefed server - and your kid won’t have to worry about other kids on-sharing the server address.
Easy way to avoid this: choose a different port. I think it’s a safe bet the crawlers are just checking 25565. I’ve had a server up for months with zero issues.
It isn’t on the default port either, it’s on a random high number port which is why I thought it was extra odd they found it.
Huh, that is funky. Fingers crossed mine survives. I think I’ll go and set up some backups, now that I think about it.
I’ve had a server up for almost 9 years never had any randoms even join. Don’t think I’ve ever used the default port tho
It isn’t on the default port either, it’s on a random high number port which is why I thought it was extra odd they found it.
Its been a long time since I played, wouldn’t the best protection from that just be not broadcasting the server to the open internet? Never had an issue with servers that were technically fully open but only telling friends about it. I suppose whitelist is better than security through obscurity though.
I had My minecraft server scanned by at least 3 different bots, and I even had some friendly guy join my server that apparently found it using a bot he wrote. I’m now using a whitelist lol. One of the account names that scanned my server was "Fifth Column, which is a griefing group.
I’ve had a server running without whitelist because a friend hadn’t bought the game yet, within 2 weeks it was griefed. It was just the two of us playing.
There are crawler bots just searching for unprotected Minecraft servers and it’s just a matter of time before they find yours.
It’s a shame the server lacks a pretty basic feature such as password protection.
Like the other commenter said, I dunno how the heck the griefers find the servers - but if it’s on the open Internet, they do.
I set up a server for me an a handful of mates - advertised the address nowhere. They told nobody. A month in a friend and I were playing as usual, and a player with a Russian username joined. I’m like “uh hi who are you?”. They stayed another minute or two while saying nothing, then left.
I think they left when they realized i had an anti-griefer permissions mod that protects the blocks in an area around the spawn point from being modified (its called ‘Flan’). So they joined, saw the server had some protections, and decided it wouldn’t be much fun for them.
Whitelist immediately enabled - no more random Russians.
Quick version:
- Install latest Java
- Install latest Minecraft Java server
- Play vanilla Minecraft
Rabbit hole:
- Bedrock / Java version differences
- Modpacks, mods and Minecraft version differences (1.12, 1.20) require different Java versions.
- Official server vs 3rd party software (papermc, purpur…)
- Publicly open server vs firewalled
deleted by creator
Can I make my Linux Minecraft talk to my Xbox Minecraft?
This is probably not what you are looking for, but if everyone is going to be playing at the same time and they are on java, you can use a mod like World host or e4mc
Also, if someone is using pirated minecraft, you have to set to false online_mode in the server.proprities file on the server(this will also remove skins, but that can be fixed using a plugin/mod if you are using custom software for the server; and will allow anyone to log into anyone elses account, which can be exploited if a player has operator permissions)
My kids and I use https://github.com/itzg/docker-minecraft-bedrock-server and I would recommend it.
Hi, ended up using your suggestion, super smooth and easy.
Hijacking: With the above solution, it’s also super easy to install modpacks and I would recommend Modrinth as both the modded Minecraft launcher and mod-shareplace.
https://docker-minecraft-server.readthedocs.io/en/latest/mods-and-plugins/
Went the same route last year and had no issues.
Just FYI bedrock will only work if the kids are on tablets.
Edit: and consoles
Bedrock is on all platforms, pc included. Java is PC only.
Why does bedrock only work on tablets?
That’s how Microsoft designed it. The tablet and console versions are bedrock, the PC is Java. But others here have said there are modded server versions or plugins that let bedrock players play on Java servers.
On windows, how do you install Minecraft? I got into a loop of fucking MS bullshit that want me to pay $$€ just for installing it and it feels… scammy…
Well, it’s Microsoft after all… But I cannot believe now Minecraft is pay to run…
Hosting the server is free. I’m actually not sure about windows because I don’t use that. We actually play on our iPads. We have a family set up. Pay once for the app, everybody gets to install it on their own device.
For free stuff I think people run Java edition? Again, I’ve never done that. There is an itzg Java server container https://github.com/itzg/docker-minecraft-server
FWIW Bedrock lets you connect to servers online that have free games to play like Bed Wars, Sky Wars, Block Party. I don’t know if Java has that.
It’s really only downloading the executable and java, starting it and opening the required port. See the official documentation for instructions.
If you want to get more involved there are some convenient docker containers which automate some stuff:
You can actually host a bedrock server yourself with Geyser no problem
Why is everyone suggesting random third party shit?
Straight from Mojang/Microsoft:
Bedrock: https://www.minecraft.net/en-us/download/server/bedrock
Java: https://www.minecraft.net/en-us/download/server
Follow the instructions and go.
Why is everyone suggesting random third party shit?
Cause the official stuff runs like shit
Maybe 5 years ago. Vanilla runs fine these days.
Not when compared to the third party servers. Not only do they run better but they give the option of using plugins or mods to further improve performance and enhance gameplay.
It has been a long time since I ran MC servers, you could do all of that with self hosting though. I still remember around 2011 running a server at school with a PC we found in a skip. Glorious 750MB of RAM! It ran alright though for a room full of people.
When I said 3rd party I meant non mojang jars, not hosting providors
Amazing scavenge! I’ve got a server for my partner and I, vanilla+. One mod we have pauses the entire server if nobody is online, it works fantastically and only RAM is held, minimal CPU usage. Vanilla server runs perfectly fine for my case.
Ressource hog.
3rd party solutions run more efficient.
Because paper and others don’t run like garbage, unlike vanilla MC.
I’ve had zero issues running vanilla in a basic VM.
Try paper or fabric, add Aikar’s Flags (https://docs.papermc.io/paper/aikars-flags) and marvel at the high ticks!
With the current Minecraft monthly updates, paper is always behind on the latest features. There are also minor problems that paper introduces with its performance improvements.
Years ago paper was critical for a good Minecraft experience, but a newer PC (newer than 6 years old) runs great on vanilla.
OK, I respect your opinion.
I’m coming from a place of administering a server and I attest to this:
- Minecraft players want their particular mods on their particular seed, they don’t see value in armadillos and whatever other nonsense MS is “releasing”.
- most of my player base has moved on to Vintage Story because Minecraft itself is stagnating like counterstrike did. And now we have the same situation CS had, where there’s a huge base of mc players who are stuck on old versions because, let’s be honest, Minecraft is stale AF under microsoft.
- just because modern hardware is better at running vanilla doesn’t mean paper won’t run even better.
I ran a server on a raspberry pi 3, paper was the only real option on that kind of hardware.
I run 7th gen Intel hardware for my server cluster. Minecraft VMs run totally fine.
Main reason for me is Realms limits the view distance to 16 rather than 32 on Java
Just chiming in to include that hosting a modded Minecraft server is relatively easy as well. You use a modded version like Fabric and put the mods in the mods folder in the MC directory on your host. Users have the same mods in their mods folder and it just works normally. Some mods are server-side only
Minecraft really needs a mod system like ARK: Survival Ascended. I really hate Forge/Fabric so much because of this requirement that host/server match all their version numbers, but no mechanics to be able to do it within the client.
Download PaperMC and Java. Run it. Open the port in your FW. Reverse proxy it to a domain. Boom, done.
First you need to understand the difference between Bedrock edition and Java edition. Bedrock is for consoles, phones and Windows, it’s the default version that Microsoft pushes now. It’s not compatible with Java clients or Java servers. So if you’re planning to have the kid play on Switch or something like that, it’s not going to work.
Assuming you’re clear on all that, you have a few options for Java servers, you can run a plain jane vanilla server (the one that Microsoft provides) fairly easily but it has some limitations, and it’s not the most manageable solution. Modded servers are much more capable and flexible but also can be a little more complex in some cases. Overall, I’ve found Purpur the easiest and most sustainable choice at least a few years ago when I was looking for the right choice it seemed like most people agreed this was the best option. Fabric is another great option, especially if you want to use mods! Fabric has a huge modding ecosystem, second only to Forge.
However I also need to mention that I’ve got a heavily modded Forge-based server running right now and I really didn’t find that any more difficult to set up than any of the others. Even though people usually complain about forge being “difficult” somehow. So take that for what it’s worth. I think it doesn’t really matter THAT much which server software you use unless you have specific requirements around things like mods, spawn protection, and other kinds of configuration that are probably most useful for large, public servers.
If you do want to run a bedrock server, it gets a little more complicated as you might have to break some things out of the walled garden. I haven’t had a lot of success with that but I understand it is possible.
So if you’re planning to have the kid play on Switch or something like that, it’s not going to work.
You can run Geyser (a modified Minecraft server) to let bedrock clients play on your Java server.
Xbox and PlayStation and windows would be the clients platforms…
That means bedrock or I can go java edition as well?
That means Bedrock unless you use the Geyser tool someone else mentioned to allow Bedrock to connect to Java but I have no experience with that and am not sure how reliably it would actually work as they are quite different versions of the game. I have no idea how it would handle mods that are not supported by the Bedrock clients for example.
That would mean bedrock, java is limited to pc’s only.
-
Download server files and run them. Modern Minecraft requires java runtime enviroment 17, 1.16 and belore jre8. If you have synaptic package manager search for jre there.
-
I usually make a batch file to execute server. You can run jre as is by executing as an application but a batch file helps set memory size usage, nogui and stuff.
-
It will stop on first server startup to produce a EULA text file. Open it up, set to true, save, restart server. See if you can connect through LAN by using another computer and entering your servers local IP address probably 10.0.0.xx:25565
-
Open up the port for default mc server in your router so others can connect on public network. 25565, TCP+UDP, in out both ways. Make exceptions in your firewall too.
-
If you’re familiar with Docker and want something with UI for easy management of configs, plugins and server console, you might like Pterodactyl Panel, Pelican Panel or Pufferpanel. The easiest one to setup is Pufferpanel. Pterodactyl is more involved but you’re flexible to host other game servers too if you want to.
Pterodactyl
Pterodactyl is the most asinine shit to ever set up, ever.
That’s what I said. It’s pretty involved. And their Discord is extremely toxic. The most toxic Discord I have ever seen from a FOSS project. But when you get it up and running, it’s great. Just pray nothing breaks.
I used all three tools. Pufferpanel was by far the easiest to setup. But it’s mostly limited to Minecraft servers.
You should only need to have Java and then download the server and open the port if they want to play vanilla mc. If they want modded then idk.
You might also want to check this out, haven’t used it myself but it looks cool if you don’t like wasting server resources: https://github.com/timvisee/lazymc
deleted by creator
You can run it in a container
Just don’t expose it to the public internet.
Minecraft is actually a super easy setup, especially if you’re okay with only running it on the local network.
If my memory’s alright, this page will have all you need, as well as being the best server software currently out for Minecraft https://purpurmc.org/
Java edition is easy to selfhost, did it as a docker stack a while ago. Apart from that, it really depends on what addons etc. your players are usually playing. Most things can be done with not too much effort, but that’s probably the thing you need to find out.
Additionally, there’s are some pretty nice free plugins for Java Minecraft server (e.g. Deluge) that allow Bedrock users to play on it too - from a PC, Xbox, PlayStation, phone, or whatever.
Bedrock edition also has a docker stack and is easy to self host. You can play bedrock edition cross platform. If your kids already have Minecraft on a switch or Xbox or something like that, they can still play on that.