A proxy sits between players and your servers, and it turns several separate machines into one address people can remember. It also becomes the single thing that, when it stops, takes everything down at once.
What it actually does
Without a proxy, every server is its own destination. Players connect to one address for survival, a different one for creative, and moving between them means disconnecting and reconnecting.
With a proxy, players connect to one address. The proxy holds that connection and forwards it to whichever backend server the player should be on, and it can move them between backends without the client ever disconnecting. That transfer — the thing that makes a hub with portals possible — is the feature people actually want.
In Minecraft this is Velocity or BungeeCord. In other ecosystems the equivalents vary, but the shape is the same: one public endpoint, several private ones behind it.
What you gain
One address. Everything about being found gets easier when there is a single string to remember, and it means the hostname you chose is the only one anyone needs to learn.
Seamless transfers. Players move between game modes without a loading screen and a reconnect, which sounds cosmetic and is the difference between a network and a collection of servers.
Shared identity. Chat, permissions and player state can span the whole network rather than resetting at each boundary.
Restarting one server without dropping everyone. A backend can go down and come back while players sit in the hub. That alone justifies it for anyone running more than two servers.
What you pay
A single point of failure. The proxy is now the thing that must be up. Every backend can be healthy and, if the proxy is down, your network is unreachable. This is the trade at the centre of the decision.
A security model you must configure. Backends are no longer meant to accept direct connections; they trust the proxy to have authenticated the player. If a backend is reachable from the internet without that protection, anyone can connect to it claiming to be anyone — including an administrator. This is the single most common serious misconfiguration in proxied networks, and it is silent until somebody finds it.
The fix is not optional: bind backends to a private interface or firewall them so only the proxy can reach them, and enable whatever forwarding-secret mechanism your proxy provides.
An extra hop. Small, but real. Every packet passes through one more process, and if the proxy is in a different datacentre from the backends the added latency is not small at all. Put them close together.
More to keep updated. The proxy has its own release cycle and its own plugin ecosystem, both of which can break on a game update independently of your servers.
When it is worth it
| Situation | Proxy |
|---|---|
| One server | No. It adds a failure mode and buys nothing |
| Two servers, unrelated communities | Usually not |
| Two or more modes, one community | Yes |
| Anything with a hub | Yes, by definition |
| A test server alongside production | Not for that reason alone |
The dividing line is whether players are meant to move between servers. If they are, the proxy is the mechanism. If each server is its own destination, a proxy is infrastructure you maintain for nothing.
Where the listing gets confusing
A proxied network answers queries at the proxy, not at any backend. What a directory sees is the front door: the proxy's hostname, the proxy's total player count across all backends, and the version range the proxy advertises.
That has two consequences worth knowing:
The version in the list describes the proxy. A network fronted by a proxy accepting 1.20 through 1.21 advertises that range regardless of what any individual backend runs — which is one of the reasons a version string in a list is a hint rather than a fact.
The player count is the whole network. Sixty players across four backends reads as one server with sixty people. That is honest, and it is not the same claim as sixty people in one place, which is what a reader will assume.
Neither is a problem to solve. They are things to describe accurately in your listing, so that somebody joining for a busy survival server is not surprised to find eight people in it.
Failure modes that look like something else
Everything is down but the servers are fine. Check the proxy first. This is the most common incident on a proxied network and the most commonly misdiagnosed, because every backend reports healthy.
A backend is unreachable and players get a generic error. The proxy's error messages are what players see, and the defaults are unhelpful. Configuring them to say which server is unavailable saves you a great deal of support.
Players can join the backend directly and bypass everything. That is the security misconfiguration above, and it usually surfaces as somebody appearing in a game mode they should not have access to.
The proxy is fine and one backend eats the CPU. A proxy does not isolate resources. Four servers on one machine still share it, and one badly behaved plugin still ruins the evening for everyone. If isolation is what you wanted, that is what containers do — a different tool for a different problem.
Sizing it
A proxy is comparatively light: it forwards packets rather than simulating a world. It wants network throughput and low latency to the backends, not the high single-thread performance the game servers need.
That means it can sit on a smaller machine than the servers behind it — but it must not sit on a saturated one, because a proxy competing for CPU adds latency to every player at once rather than to one server. The bandwidth through it is the sum of every backend's traffic, which is worth checking against what a server actually uses before putting it on a plan sized for one game.
The short version
One address, seamless transfers, shared state, and the ability to restart a backend without dropping anyone. In exchange: a single point of failure, a security model you must configure correctly or lose control of your backends, and one more thing that breaks on update day.
Worth it the moment players are meant to move between servers. Not worth it for a single server, no matter how much the architecture appeals.
- Tags
- networkinghostingserver admin
- Share
Published · 5 min read