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!
As others mentioned, running a minecraft server by itself is pretty easy. If you want additional features like a Web UI, multiple servers at the same time etc. you might take a look at Crafty Controller.
That’s a solid 3rd party use case. I’m setting it up on my cluster right now.
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.
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.
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.
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.
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.
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.
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/
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.
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.
Xbox and PlayStation and windows would be the clients platforms…
That means bedrock or I can go java edition as well?
That would mean bedrock, java is limited to pc’s only.
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.
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.
Yes but doing it on a Nintendo Switch is cumbersome. It requires you to edit the DNS settings on the console itself. Nintendo doesn’t support unofficial multiplayer services.
Not saying nothing, but there’s always luanti and voxelibre.
Yes, but I don’t play myself and the players I am setting up for are Minecraft players, so not my choice.
You can run it in a container
Just don’t expose it to the public internet.
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.
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)
-
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.
-
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
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
Can I make my Linux Minecraft talk to my Xbox Minecraft?
Yes, you probably want Geyser: https://geysermc.org/
If both are Bedrock, then no problem.
deleted by creator
Download PaperMC and Java. Run it. Open the port in your FW. Reverse proxy it to a domain. Boom, done.
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.
Just FYI bedrock will only work if the kids are on tablets.
Edit: and consoles
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.
No, PC isn’t Java only. PC is the only platform that can play Java, while literally everything else - PC included - can play Bedrock.
Bedrock has been the norm now for longer than Java was; sorry.
Bedrock is on all platforms, pc included. Java is PC only.
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.
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.