Technical Guides

How to set up a Velocity proxy with Paper servers

Connect a lobby and survival server through Velocity, configure modern forwarding, and protect backend ports before accepting public players.

By HexaCraft · · 3 min read

A proxy is useful when your community has a lobby and a separate survival server. It gives players one front door, while each backend keeps its own world and resources. The important part is making sure players cannot walk around that front door.

The short answer

Run Velocity separately, connect it to the correct backend addresses, and configure matching forwarding secrets. Restrict backend access to the proxy; modern forwarding adds protection but does not replace a firewall.

HexaCraft dashboard interface with server addresses hidden
Inside the HexaCraft game panel. Server addresses are hidden.
01

Draw the network first

Write down the public proxy address and the private or host-approved address of each backend. For example: Velocity → lobby and Velocity → survival. Each process needs its own allocation. A second world inside one server is not automatically a separate backend.

Confirm that your hosting arrangement permits the required internal connections and backend restrictions. Loopback addresses work only where the processes share the appropriate network namespace; two containers on one machine do not necessarily share localhost.

02

Start Velocity and register the servers

Use the Java version required by your chosen Velocity release. Start it once to generate velocity.toml, stop it, then edit the generated file. The following is a partial example; replace both addresses with your actual reachable backend addresses and retain the other generated settings.

online-mode = true
player-info-forwarding-mode = "modern"

[servers]
lobby = "127.0.0.1:25566"
survival = "127.0.0.1:25567"
try = ["lobby"]
03

Configure Paper forwarding as one matched setup

For a compatible Paper backend, follow the current PaperMC forwarding guide: enable Velocity support in Paper’s global configuration, use the same secret as the proxy, and match the proxy’s online-mode setting there. The backend server.properties online-mode setting differs from a standalone public server because the proxy performs authentication.

Never make that backend change while leaving the backend exposed to arbitrary internet clients. Do not enable legacy BungeeCord forwarding alongside modern forwarding. Use the documented configuration path for your Paper version.

04

Protect the backend addresses

Restrict backend game ports to the proxy’s trusted connection source using the host’s firewall or an approved private-network setup. If you cannot manage this on shared hosting, ask the provider to configure the restriction. Test that a normal player cannot join a backend directly.

Keep the forwarding secret out of screenshots and public repositories. If it is exposed, replace it consistently on the proxy and backends. Do not use a forwarded web DNS record as a substitute for protecting game ports.

05

Rehearse joining and switching servers

Join the public proxy with a normal, non-operator account. Verify the correct UUID, inventory, permissions and server-switching behavior. Then stop one backend briefly during a private test and confirm what the proxy tells a player.

Keep proxy and backend logs together when investigating a failed connection. A timeout between Velocity and a backend is a different problem from a player failing to reach Velocity. For Bedrock access, continue with the Geyser setup guide.

Before you finish

  • Use separate proxy and backend allocations.
  • Keep modern forwarding settings and secrets consistent.
  • Restrict backend access and test direct-join rejection.
  • Check player identity and permissions through the proxy.

Common questions

Does Velocity combine the RAM of my servers?

No. The proxy and each backend are separate processes with separate resource requirements.

Can I leave backend ports public because I enabled modern forwarding?

Use network restrictions too. PaperMC explicitly recommends a firewall; forwarding is an additional layer.

Official documentation

Commands and configuration depend on your installed software version. Check its current documentation, keep a backup and test one change at a time.

Build a setup that fits your server

Compare monthly allocations and CPU tiers, or use the plan finder for a starting estimate.

Compare Minecraft hosting plans Find a plan

A LITTLE EXTRA FOR YOUR NEXT PROJECT

Your next server.
15% less.

Use DIWALI15 to get 15% off on Minecraft and VPS plans.

DIWALI15

Enter the code at billing checkout. Eligible products and the final discount are shown before payment.