A proxy sits in front of your Minecraft servers, takes every connection, and forwards it to whichever backend should have it. It is how a network runs a lobby, a survival world and a minigame server behind one address, and how players move between them without disconnecting.
It is also the single most common piece of infrastructure added by people who do not need it, and it brings three problems with it that nobody mentions until they arrive.
What it is actually for
There is one reason to run a proxy: you have more than one server and you want players to move between them in-game. That is it. Everything else people cite (performance, security, a nicer address) is either false or achievable without one.
Velocity, documented by PaperMC, is the current answer. BungeeCord is the older one and still runs a great deal of the ecosystem. If you are choosing today, choose Velocity: it is the one being developed, and its security model is the reason.
Problem one: your backends are now open
A proxy connects to your backend servers as a client. Those backends therefore have to accept connections that are not authenticated against Mojang, because the proxy already did that part. Which means they are configured with online-mode=false.
If those backends are reachable from the internet, anyone can connect to them directly, as any username they like, including yours. This is not a theoretical hole. It is the single most exploited misconfiguration in Minecraft hosting, and the reason is that the proxy tutorial tells you to set online-mode=false and does not always shout about what has to be true for that to be safe.
The backends must be bound to localhost or a private interface, and the firewall must agree. That is a real prerequisite, not a hardening nicety, and it belongs in the same pass as the rest of the security basics.
Problem two: one more process to keep alive
The proxy is now the thing players connect to. If it dies, every server behind it is unreachable even though every one of them is running perfectly. You have taken several independent failure points and given them a shared one.
That is a fine trade when the proxy buys you something. It is a poor trade when you run a single survival server and added a proxy because a video said to. You have doubled your restart surface and gained nothing a DNS record could not have given you.
Problem three: plugins now have to agree
Anything that needs to know who a player is has to be told by the proxy, through player-info forwarding. Get the mode or the secret wrong and you get players joining with offline UUIDs, which means new inventories, lost permissions, and a permissions plugin that no longer recognises your own staff.
The failure is quiet and it is retroactive: the data was written under the wrong UUID, and switching the setting later does not move it back.
The honest threshold
Run a proxy when all of these are true:
- You have two or more servers players are meant to move between.
- Moving between them without a disconnect matters to the experience.
- You can bind the backends privately and are certain you have.
If only the third is true, you do not need a proxy. If you want one address that is easier to type, that is what an SRV record does, and it costs one DNS entry and no uptime.
What it does not fix
A proxy does not make a laggy server faster. Every packet now takes an extra hop through another process, so in the strictest sense it makes things very slightly worse. If your single server is struggling, the answer is in its own tick times and its own heap, not in front of it, and the place to start is what the hardware is actually doing rather than what is in front of it.
It also does not reduce your hosting bill. Three servers behind a proxy cost what three servers cost, plus the proxy. People reach for one expecting consolidation and find they have added a fourth process to pay for, which is worth knowing before rather than after you look at what the month actually costs.
Add a proxy the day you have a second server worth moving to. Not the day before.
- Tags
- minecraftnetworkinghosting
- Share
Published · 3 min read