A Minecraft network is a collection of servers connected by a proxy. Players connect to the proxy and get forwarded to the right backend: a lobby, a survival world, a creative server, or a minigame arena. Velocity is the proxy developed by the PaperMC team and the successor to BungeeCord.
Networks like Hypixel and Mineplex popularized this concept, but you do not need thousands of players to benefit. Even a small community with separate survival and creative worlds gains a smoother experience when players can switch without disconnecting and reconnecting.
When do you need a proxy?
- You want to offer multiple game modes (survival, creative, minigames) without players typing a different IP for each one.
- You want to split players across servers for better performance (20 players each on three servers instead of 60 on one).
- You want a lobby as a landing page with portals or NPCs that send players to the right server.
For a single survival server with a group of friends, a proxy is overkill. It adds complexity, requires an extra server instance, and means more configuration to maintain.
What you need
- A Velocity server: this runs the proxy itself. Memory: 512 MB to 1 GB is enough. The proxy routes traffic but does not run game logic, so it stays lightweight.
- Two or more backend servers: your existing Minecraft servers (Paper, Purpur, etc.).
- Separate ports: the proxy listens on one port (typically 25565) and each backend on its own port.
On a VPS, you can run everything on the same machine using different ports. With game hosting plans, you need a separate plan for the proxy and one for each backend.
Installing Velocity
- Download the Velocity jar from papermc.io.
- Upload it to your proxy server and start it once. Velocity generates
velocity.tomland the forwarding secret file. - Open
velocity.toml. Under[servers], add your backends:lobby = "127.0.0.1:25566" survival = "127.0.0.1:25567" creative = "127.0.0.1:25568"
- Set
tryto["lobby"]so players always land in the lobby first. - Note the forwarding secret from
forwarding.secret. You need it for each backend.
Configuring the backend servers
Each backend server must know it sits behind a proxy:
- In
server.properties, setonline-mode=false. The proxy handles authentication, not the backends. - In
config/paper-global.ymlunderproxies::velocity: enabled: true secret: "your-forwarding-secret"
The forwarding secret ensures only your proxy can send players to the backends. Without it, anyone could connect directly to a backend with a fake identity.
Setting up a lobby server
The lobby is the server players land in when they first connect. It should be lightweight and load quickly. A small world (a custom-built spawn area, not a full survival world) with portals or NPC signs that link to each backend is the standard approach.
Keep the lobby minimal: no heavy plugins, no entities, no mob spawning. Its only job is to look nice and route players to the right place. A lobby on 512 MB of RAM alongside the proxy is common for networks under 100 players.
Velocity vs BungeeCord
BungeeCord is the old standard. Velocity is faster (up to 8x better throughput in benchmarks), more secure (modern forwarding protocol instead of the legacy IP forwarding that BungeeCord uses), and actively developed by the PaperMC team. For new networks, there is no reason to pick BungeeCord. Existing BungeeCord networks can usually migrate without major issues; most plugins are available for both.
Common mistakes
- Forgetting online-mode=false on backends. Without this, the backend tries to authenticate players itself and rejects the connection from the proxy.
- Wrong forwarding secret. If the secret in the backend does not match the one Velocity generated, players see a "Unable to connect" error with no helpful message.
- Exposing backend ports. On a VPS, use firewall rules to block external access to backend ports. Only the proxy should reach them. Otherwise players can bypass the proxy and join backends directly, which breaks authentication.
Useful plugins for a Velocity network
- LuckPerms: syncs permissions across all backend servers.
- MiniMOTD: custom MOTD and player count on the server list.
- ViaVersion: lets players on different Minecraft versions join the same network.
- SignedVelocity: forwards signed chat messages, required for chat reporting compliance.
How much RAM does the proxy need?
Very little. 512 MB to 1 GB is sufficient for hundreds of players. The proxy routes traffic but does not run game logic. The backends are where you need the memory.
Can players carry their inventory between servers?
Not by default. Each backend server has its own world and inventory. With a plugin like MySQLInventoryBridge or a shared database solution, you can synchronize inventories. This is complex to set up and not always desirable; many networks intentionally keep inventories separate per game mode.
Can I run a proxy on a game hosting plan?
Yes. Order a separate plan with 1 GB and install the Velocity jar. Configure the ports and backend addresses. If you need help with port assignments, our support team can assist via a ticket.
Running multiple servers? Check the Minecraft plans for backends and a small plan for the proxy, or a KVM VPS if you want everything on one machine.