How to Set Up BungeeCord / Velocity
Build a Minecraft network with BungeeCord or Velocity, proxy install, server connection, IP forwarding and choosing between them.
A proxy lets players join one IP and switch between multiple Minecraft servers (lobby, survival, PvP, creative). BungeeCord and Velocity are the two main options. This guide covers the setup for both and which one to choose.
BungeeCord vs Velocity
| BungeeCord | Velocity | |
|---|---|---|
| Performance | Older, single-thread for many tasks | Modern, async, faster |
| Plugin ecosystem | Huge, mature | Growing fast, all the modern ones |
| Modded support | Limited (FMLForge etc.) | Stronger, native support for newer protocols |
| Forwarding modes | Legacy (insecure) + BungeeGuard | Modern signed forwarding (secure by default) |
For new networks in 2026: pick Velocity. BungeeCord still works but Velocity is faster, more secure, and the active community has moved.
1. Velocity setup
Download Velocity from papermc.io. Put on its own machine or its own folder. Start once to generate velocity.toml and forwarding.secret.
2. Configure proxy port and servers
In velocity.toml:
bind = "0.0.0.0:25565"
motd = "&6My Network"
player-info-forwarding-mode = "modern"
[servers]
lobby = "127.0.0.1:25566"
survival = "127.0.0.1:25567"
pvp = "127.0.0.1:25568"
try = ["lobby"]
[forced-hosts]
"survival.example.com" = ["survival"]
3. Wire up the backend Paper servers
On each Paper server, in server.properties:
online-mode=false
server-port=25566 # match what's in velocity.toml
In config/paper-global.yml:
proxies:
velocity:
enabled: true
online-mode: true
secret: "PASTE_FROM_FORWARDING_SECRET_FILE"
Restart. Players now join via the proxy and get authenticated properly.
4. Firewall
Block port 25566/25567/25568 from the internet. Only the proxy machine should reach them. Otherwise an attacker can connect directly to a backend with online-mode=false and impersonate anyone.
5. BungeeCord setup (if you must)
Same shape: download BungeeCord, edit config.yml:
listeners:
- query_port: 25577
host: 0.0.0.0:25565
motd: '&6My Network'
servers:
lobby:
motd: 'lobby'
address: 127.0.0.1:25566
restricted: false
ip_forward: true
Backend Paper: online-mode=false and bungeecord: true in spigot.yml. Always also install BungeeGuard on every backend to prevent the well-known Bungee exploit.
6. Plugins that span the network
Use plugins designed for proxies for these features:
- Chat across servers: PlasmaVoice, RedisChat, BungeeChat, Velocity AdvancedChat.
- Bans across servers: LiteBans.
- Permissions: LuckPerms with MySQL backend.
- Player connection:
/server <name>built-in to both proxies.
7. Crossplay (Java + Bedrock)
Install Geyser + Floodgate on the proxy. Bedrock players connect to the same IP/port (with optional secondary port) and join as auth-bypassed Java accounts.
8. Common pitfalls
- Backend exposed to the internet with
online-mode=false, instant compromise. - Forgetting BungeeGuard on BungeeCord setups.
- Mismatched forwarding mode , players join as offline UUIDs and lose all data.
- Using legacy forwarding in 2026 , switch to modern Velocity forwarding.
Want to see all this in action? Astroworld MC runs a custom-built economy survival server with custom bosses, eternal enchants, crates and an auction house. Join at astroworldmc.com , IP play.astroworldmc.com, Java + Bedrock crossplay.