Key takeaways
- A proxy is one address in front of several backend servers, letting players move between worlds without disconnecting.
- Velocity is the modern option and BungeeCord the legacy one – they are not interchangeable and plugins written for one rarely work on the other.
- The security model changes completely: backends must be firewalled and configured to trust only the proxy, or anyone can connect directly and bypass it.
Every server network you have played on – the ones with a lobby, a survival world, a creative world and a minigame hub – is several separate Minecraft servers behind one address. The thing doing that is a proxy, and it is the single biggest structural decision in running more than one world.
It is also the setup most likely to be configured insecurely, because the default configuration of a backend server assumes it is the thing players connect to. This guide covers what a proxy actually does, when you need one, and the security step that most small networks skip.
What a proxy does
A proxy sits between the player and the server. The player connects to the proxy; the proxy connects to a backend server and relays traffic in both directions.
Three things that enables:
One address, many servers. Players connect to play.example.com and land in the lobby, then move to survival, creative or a minigame without ever changing the address or seeing a disconnect screen.
Transfers without reconnecting. Moving between backends is a server switch the player experiences as a loading screen rather than a disconnection. This is what makes a network feel like one place.
Shared entry handling. The proxy handles the player list, MOTD, and increasingly the Bedrock translation layer for the whole network rather than per server. Our Geyser crossplay guide covers why installing that on the proxy is the correct placement.
What a proxy does not do is run the world. Every backend is still a full Minecraft server with its own world, plugins, memory allocation and tick budget. A proxy adds a routing layer; it does not reduce how much hardware you need.

Velocity or BungeeCord
Two proxies dominate and the choice is mostly settled.
Velocity is the modern one. Built later, designed with modern Minecraft versions in mind, substantially faster, and with a security model that is correct by default rather than by configuration. It is the default recommendation for anything new.
BungeeCord and its fork Waterfall are the legacy option. Enormous plugin ecosystem built up over a decade, which is the only real argument for choosing it today – if the plugin your network depends on only exists for BungeeCord, that decides it.
They are not compatible. A plugin written for BungeeCord does not run on Velocity and vice versa. Migrating a network between them means replacing the proxy plugin set, which is why so many established networks are still on BungeeCord.
For a new network: Velocity, unless a specific plugin forces the other choice. Our server software comparison covers the backend side of the same decision.
The security step everyone skips
This is the part that matters most and gets the least attention.
When a player connects through a proxy, the backend server sees a connection from the proxy, not from the player. That means the backend cannot authenticate the player itself – it has to trust the proxy’s word about who they are.
To make that work, backend servers are configured in offline mode, with the proxy handling authentication. Which means: if anyone can reach a backend server directly, they can connect as any username they like, including an operator’s.
The required steps:
- Firewall the backends. Backend ports must accept connections only from the proxy’s IP. This is not optional and it is the whole defence.
- Use modern forwarding. Velocity’s forwarding mode uses a shared secret so a backend rejects anything that does not present it. Configure it on both ends.
- Bind backends to a private interface where the hosting setup allows it, so they are not listening on a public address at all.
- Never leave a backend on the default port with the firewall open. Automated scanners find these.
A network that skips the firewall step has no access control at all, regardless of how good the permissions plugin is. Our permissions and ranks guide covers the layer above this, and it is worth nothing if the layer below is open.

When you actually need one
Three cases where a proxy is the right answer:
Multiple worlds that need separate plugin sets or versions. One creative server with WorldEdit and one survival server with land claims is cleaner as two servers than as one with per-world configuration.
Capacity beyond one server’s tick budget. A single Minecraft server is single-threaded for most of its work, so there is a hard ceiling on how many active players one instance handles. Splitting players across backends is the only way past it. Our performance tuning guide covers how far one instance can be pushed first.
Zero-downtime restarts. With a proxy, a backend can be restarted while players sit in the lobby. Without one, every restart disconnects everyone.
And the case where you do not need one: a single survival world for a group of friends. A proxy adds a component, a configuration surface and a security requirement in exchange for capabilities you are not using. Our SMP guide covers that setup, and our server specs guide covers sizing one instance properly.
What breaks
Four things behave differently behind a proxy.
- Player data does not follow by default. Inventory, ender chest and advancements are per backend. Moving between servers means arriving empty unless you run a plugin that syncs them.
- Chat and the player list need a plugin. Backends do not know about each other. Cross-server chat is a proxy plugin, not a built-in feature.
- Permissions need syncing. A rank on one backend is not a rank on another. Most permissions plugins have a proxy-aware mode and it needs configuring.
- Plugin messaging is the only way backends talk. Anything that needs cross-server coordination goes through the proxy.
None of these are hard, but all four are work that a single server does not require. Our plugins versus mods explainer covers what you can and cannot do at each layer.

A sane starting setup
For a small network moving from one server to three:
- Velocity on the public address, with modern forwarding enabled and a strong shared secret.
- Three backends on a private interface or firewalled to the proxy IP only, each in offline mode.
- A permissions plugin with proxy support, configured once and synced.
- A lobby backend that does nothing except hold players during restarts.
- Backups of every backend world separately. Our backup routine guide covers the schedule.
Build it on a test setup before pointing your real address at it. The failure mode of a misconfigured proxy is not a crash – it is a network that works perfectly and is also completely open, and you will not notice until someone shows you.
Images: Sildur’s Vibrant Shaders project gallery.