Link a lobby, survival and minigame servers into one network with a Velocity proxy: which plans to buy, how to connect them with modern forwarding, and how players move between them.
A Minecraft network is several servers that feel like one: players join a lobby and move to survival, creative or minigames with a command or a portal, without leaving. The piece that ties them together is a proxy, and Velocity is the modern one, made by the PaperMC team.
How a network fits together
- The proxy (Velocity) is the address players connect to. It doesn't run a world, so it needs little memory.
- The game servers (Paper or Purpur) run the worlds. Players never connect to them directly.
- On ESN each part is its own server with its own plan, address and console.
Which plans to pick
| Part | Plan to start with | RAM | Price |
|---|---|---|---|
| Velocity proxy | Starter | 512 MB | $0.75/month |
| Lobby (Paper, few plugins) | Basic | 1 GB | $0.99/month |
| Survival or SMP with plugins | Advanced or bigger | 2 GB+ | from $1.79/month |
A proxy handles a small network fine on 512 MB; move it to 1 GB if you add many proxy plugins. Size the game servers like any Minecraft server: see how much RAM a Minecraft server needs.
Black Friday: 85% off the first month of each plan until December 1, 2026 (the lowest first payment is $0.50). See Black Friday hosting deals.
Set it up
- Buy one plan for the proxy on the panel's plans page: Starter (512 MB) or Basic (1 GB) is plenty. Pick Minecraft (Velocity (proxy)) as the server type.
- Buy a plan for each game server behind it (a lobby, survival, minigames and so on) with Paper or Purpur as the server type. Size each one like a normal Minecraft server.
- On the proxy, open
velocity.toml. Under[servers]add each game server by name with the IP:port from its panel page, for examplelobby = "1.2.3.4:25570", and list the first one intry. - In the same file set
player-info-forwarding-mode = "modern". Open theforwarding.secretfile next to it and copy the secret. - On every game server, open
config/paper-global.yml, setproxies.velocity.enabled: true,online-mode: trueand paste the samesecret. Inserver.propertiessetonline-mode=false. - Restart the game servers, then the proxy. Players connect to the proxy's address only.
Why modern forwarding matters
Game servers behind a proxy run with online-mode=false, because the proxy does the login check. Velocity's modern forwarding signs every connection with the shared secret, and Paper turns away anyone who connects without it, so nobody can skip the proxy and join a game server as someone else. Keep the secret private, and set it on every game server.
Moving between servers
- Players switch with
/server survival(Velocity's built-in command) by default. - For menus, portals or signs, add a plugin on the game servers that sends players through the proxy.
- Permissions: run LuckPerms on the proxy and the game servers, ideally sharing one database. See LuckPerms setup.
Velocity or Waterfall?
Waterfall (a BungeeCord fork) is also on the server type list, but PaperMC has ended its development. Use Velocity for a new network. Plugins written only for BungeeCord won't run on Velocity, so check that a Velocity version exists.
FAQ
How much RAM does a Velocity proxy need?
Little. 512 MB runs a small network; 1 GB gives room for more proxy plugins. The game servers behind it need the real memory.
Do I need a separate plan for each server in my network?
Yes. On ESN the proxy and each game server are separate servers, each with its own plan, address and console.
Why do my game servers say online-mode=false?
Behind a proxy the proxy checks logins. With Velocity modern forwarding and the shared secret set on Paper, players can't bypass the proxy.
Can players join a game server directly?
Not with modern forwarding set up correctly. Paper rejects connections that don't come through Velocity with the right secret.
Should I use Waterfall or BungeeCord instead?
For a new network, use Velocity. PaperMC has ended Waterfall's development.
Questions? Ask in the ESN Systems Discord. Last updated November 5, 2026.
Originally published on ESN Docs.
