This article does not use gender friendly language. It uses me friendly language. Hehe. It's my blog and I'll he if I want to. And I'll hehe too. If you have a problem with that, save you and me both some grief and fuck off now.
Why this random thing... I needed to explain it to a friend... and then decided it might be handy to keep for posterity so here you go, internet... Why do you (or I in this case) need to change your router config to host a minecraft server? Briefly, because you need port forwarding, so that Minecraft clients outside your house can 'find' your home server. Less briefly, what does port forwarding mean....
You (client) will connect to a Minecraft server on an IP I give you. But that's not gonna be the server's IP at all. That will be my router's IP, and that's as far as you get. All my devices are "hidden" on my home network, behind my router. Each of them has a distinct internal IP that you cannot access from the outside. The Minecraft server is on one of those hidden IPs. It's like my router is the street name, and you can ride the internet to get to my street. But beyond that point, you are off the internet. And my router is the gatekeeper. You can only get in if he lets you, and only he knows 'the way' to any of the 'houses'. But ... so far... he doesn't know which one the Minecraft server lives in, and he's not a very friendly router so he won't even let you in.
Since you can only send a message as far as my router, and he hates everybody's guts... thus far, no Minecraft..... no risk of Lefty-induced spawnausea yet.
So, we have to do some persuading on that router that Minecraft messages are ok, and can be let in, and where they should be routed inside. How does he know which messages are yours? Well, your Minecraft client will address its messages in a special Minecraft way. We can thus tell my router to look for the special Minecraft addressing, and forward just these messages to the specific computer where the Minecraft server lives. But we do have to tell him these things in his configuration. And that's all port forwarding is.
For the benefit of anyone doing this, there are better help pages to explain how, this was more about why, but I'll include generalities here and link resources below. Firstly, my post relates specifically to the classic Java edition multiplayer server, which by default listens via TCP on port 25565. I believe Bedrock setup should be similar, but comms are UDP on port 19132. Realms is different again. Port forwarding is only needed if you have joiners from outside your home; if you're all on the same home net you don't need to muck with routers, however, you may also need to check firewalls and any other hard or soft infrastructure for analogous security measures.
For router configuration help go to portforward.com. Then use portchecktool.com to check your work.
Windows Firewall settings... add rule: apply to public profile; restrict application to the relevant java.exe (check java path your server uses in case of multiple installations); allow TCP from all remote ports to local port 25565.
Remote console API runs on port 25575, but requires a separate client... I found this python client easy to install. This will let you send admin commands to the server even if you are not in-game.
Ports are configurable in the server.properties file. Don't change them unless you have a need and know what you are doing. The only time you should need to change them is if you want to run multiple servers behind the same IP. Most home routers only give you one external IP, so incoming requests directed at different servers will need to identify the server by the port number.
technical sources:
Comments