Minecraft proxy servers: Velocity, BungeeCord and the step everyone skips

Key takeaways

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.

Players spread across a large Minecraft world

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:

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.

Minecraft network hub build seen from above

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.

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.

Busy Minecraft multiplayer landscape

A sane starting setup

For a small network moving from one server to three:

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.