A Minecraft proxy connects multiple servers into a network. Players move seamlessly between servers (lobby, survival, minigames) without reconnecting. The two most popular options are BungeeCord and Velocity.
What does a proxy do?
A proxy sits between the player and the backend servers:
Player --> Proxy (BungeeCord/Velocity) --> Backend server 1 (Lobby)
--> Backend server 2 (Survival)
--> Backend server 3 (Minigames)
The player connects to the proxy. The proxy routes traffic to the correct backend server. Switching between servers is instant, without loading screens.
When do you need a proxy?
- You want to offer multiple gamemodes (survival + creative + minigames).
- Your server has more than 100 players and you want to distribute the load.
- You want a hub/lobby as a central starting point.
- You run a serious network with multiple physical servers.
For a single server (just survival or just SMP), you do not need a proxy.
BungeeCord vs Velocity
| Feature | BungeeCord | Velocity |
|---|---|---|
| Developer | SpigotMC (md_5) | PaperMC team |
| Performance | Good | Better (modern, asynchronous) |
| Security | IP forwarding (legacy) | Modern forwarding (more secure) |
| Plugin ecosystem | Large, many existing plugins | Growing, most plugins now available |
| Configuration | config.yml | velocity.toml |
| Supported backends | Spigot, Paper, Purpur | Paper, Purpur, Fabric |
| Minecraft 26.x | Supported | Supported |
Setting up Velocity
Velocity is the recommended choice for new networks in 2026:
- Download Velocity from the PaperMC website.
- Create a folder and start:
java -Xmx512M -jar velocity.jar - Edit velocity.toml:
bind = "0.0.0.0:25577" motd = "My Minecraft Network" show-max-players = 500 [servers] lobby = "127.0.0.1:25565" survival = "127.0.0.1:25566" creative = "127.0.0.1:25567" try = ["lobby"] [forced-hosts] "lobby.myserver.com" = ["lobby"] "survival.myserver.com" = ["survival"]
Configuring backend servers
Each backend server must know it is behind a proxy. In paper.yml (Paper):
proxies:
velocity:
enabled: true
online-mode: true
secret: "your-secret-here"
The secret must match the one in the Velocity configuration (forwarding.secret).
Popular proxy plugins
- LuckPerms: synchronize permissions across all servers (with MySQL backend).
- Geyser + Floodgate: let Bedrock players join your Java network.
- LimboFilter: anti-bot protection for the proxy.
- Protocolize: customize the server list with animations and information.
- HuskSync: synchronize inventory, health, and XP between servers.
Security
- Set
online-mode=falseon the backend servers andonline-mode=trueon the proxy. The proxy handles authentication. - Make sure players CANNOT connect directly to backend servers. Use a firewall to block backend ports from external traffic.
- Use Velocity's modern forwarding instead of BungeeCord's legacy IP forwarding for better security.
How much RAM does a proxy need?
Very little. A proxy only routes traffic and does not run game logic. 512 MB to 1 GB is sufficient for most networks (up to 500+ players). The heavy work happens on the backend servers.
Can I use BungeeCord plugins on Velocity?
Not directly. BungeeCord and Velocity have different plugin APIs. However, most popular plugins have a Velocity version. Some plugins support both via a universal jar.
Do all servers need to run on the same machine?
No. The proxy and backend servers can run on different machines. This is even recommended for large networks. The proxy connects to the backend servers via the network.
Run your Minecraft network on HostValues Minecraft hosting with Velocity support.