Velocity vs BungeeCord: Why It's Time to Switch
BungeeCord appeared in 2012 and was the only real choice for Minecraft proxy servers for many years. It did its job. But it's 2026 now, and things have changed dramatically.
Velocity, created by Andrew Steinborn in 2018 and now under PaperMC, has become the de facto standard for new networks. Waterfall (Paper's BungeeCord fork) is officially dead. BungeeCord itself is on minimal maintenance from md_5.
In this article I'll break down every key difference, show the numbers, and explain how to migrate. No fluff, straight to the point.
Performance: The Numbers Speak for Themselves
Let's start with what everyone cares about - speed. PaperMC claims Velocity is up to 8 times faster than BungeeCord in certain scenarios. Sounds like marketing? Let's break down where those numbers come from.
Compression: libdeflate vs zlib
BungeeCord uses the standard Java zlib implementation for packet compression. Velocity uses libdeflate, a native library that provides roughly 2x faster compression and decompression. On a network with 500+ players, that's a noticeable difference in CPU load.
No Entity ID Rewriting
This is arguably the most important architectural difference. BungeeCord intercepts every packet and rewrites Entity IDs to avoid conflicts between servers. This is an expensive operation that happens on every entity-related packet.
Velocity dropped this approach entirely. Instead of rewriting IDs at the proxy level, Velocity relies on backend servers to correctly manage Entity IDs during player transfers. The result is significantly less CPU overhead per connection.
TCP Fast Open
Velocity supports TCP Fast Open (TFO) out of the box. This technology allows sending data in the first SYN packet of a TCP connection, reducing connection setup time by one RTT. For players, this means faster connections.
Async Event Handling
BungeeCord processes events synchronously. If one plugin hangs in an event handler, the entire pipeline stalls. Velocity uses an asynchronous model where events are processed without blocking the main thread. One poorly written plugin won't bring down the whole proxy.
What This Means in Practice
On a small network with 50 players, the difference might be invisible. But with 200+ players, especially with custom plugins, switching to Velocity gives noticeable gains. Fewer TPS drops during server switching, faster connections, more stable operation under load.
Security: The Real Reason to Migrate
If performance is a nice bonus, security is the main reason you need to leave BungeeCord. Right now.
IPForward: A Door-Sized Hole
BungeeCord uses IPForward to pass player information to backend servers. How does it work? The proxy adds the player's IP address and UUID to the handshake packet as plain text. A backend server with bungeecord: true blindly trusts this data.
The problem is obvious: if someone connects to the backend server directly (bypassing the proxy), they can inject any UUID into the handshake. This means full access to another player's account, including inventory, permissions, and balance.
BungeeHack and UUID Spoofing
BungeeHack is a family of exploits targeting exactly this vulnerability. The attacker connects directly to the backend server and spoofs the UUID in the handshake packet. Result - they log in as someone else.
UUID Spoofing works the same way. Since BungeeCord transmits UUIDs in plain text without any verification, forgery is trivial. Even a firewall doesn't always help if the attacker has access to the internal network.
Velocity Modern Forwarding: HMAC-SHA256
Velocity solves this problem fundamentally. Modern Forwarding uses HMAC-SHA256 to sign data transmitted from proxy to backend. The proxy and backend share a secret key, and every handshake is signed with it.
If someone tries to connect to the backend directly or tamper with handshake data, the signature won't match and the connection is rejected. No UUID Spoofing, no BungeeHack. Cryptographic protection instead of "trust and don't verify."
BungeeGuard Is a Band-Aid
Yes, BungeeGuard and similar plugins exist that add token verification on top of BungeeCord. But it's a band-aid. You're patching an architectural problem instead of using a solution where security is built into the foundation.
Waterfall Is Dead, BungeeCord Is on Life Support
If you're still thinking "well, I'll wait," here are the facts.
Waterfall: Officially EOL
Waterfall was PaperMC's fork of BungeeCord that added performance patches and bug fixes. In 2024, PaperMC officially declared Waterfall End of Life. No more updates, no security patches. The Paper team explicitly recommends switching to Velocity.
BungeeCord: Minimal Maintenance
md_5 continues to maintain BungeeCord, but it's exactly that - minimal maintenance. There haven't been major updates in a long time. Support for new Minecraft versions gets added, but without serious improvements to architecture or security. The project runs on inertia.
Plugin Ecosystem
One of the main arguments against migration is "what about plugins?" Let's break it down.
API Incompatibility
This is a fact: BungeeCord plugins don't work on Velocity. They have different APIs. If you have custom BungeeCord plugins, they'll need to be rewritten. This is probably the most painful part of migration.
But there are nuances. Many popular plugins have had versions for both platforms for a long time. LuckPerms, TAB, LimboAuth, MiniMOTD, Geyser - they all support Velocity.
Hangar: 311+ Plugins
Hangar (PaperMC's plugin platform) has over 311 plugins for Velocity. And that number is growing. New plugins often release for Velocity first, and then (if at all) for BungeeCord. The trend is clear.
Major Networks Already Switched
Minehut, one of the largest Minecraft hosting platforms, uses Velocity. Most modern hosting providers recommend Velocity by default. This isn't experimental technology, it's the production standard.
Migration Guide
Alright, you've decided to migrate. Here's a step-by-step guide.
Step 1: Install Velocity
Download the latest version from PaperMC Downloads. Create a separate directory and run:
java -Xms512M -Xmx512M -jar velocity.jar
Velocity will generate configuration files. Stop the server.
Step 2: Configure velocity.toml
Open velocity.toml and set up the basics:
bind = "0.0.0.0:25565"
[servers]
lobby = "127.0.0.1:30001"
survival = "127.0.0.1:30002"
minigames = "127.0.0.1:30003"
try = ["lobby"]
[forced-hosts]
"lobby.example.com" = ["lobby"]
"survival.example.com" = ["survival"]
[advanced]
tcp-fast-open = true
Step 3: Enable Modern Forwarding
In velocity.toml, set:
player-info-forwarding-mode = "modern"
Velocity will create a forwarding.secret file with a secret key. Copy its contents.
Step 4: Configure Backend Servers
On each Paper server, first disable BungeeCord forwarding in spigot.yml:
settings:
bungeecord: false
Then enable Velocity in config/paper-global.yml:
proxies:
velocity:
enabled: true
online-mode: false
secret: "PASTE_SECRET_FROM_forwarding.secret"
Step 5: Replace Plugins
List all your BungeeCord plugins and find Velocity equivalents:
| BungeeCord Plugin | Velocity Alternative |
|---|---|
| BungeeTabListPlus | TAB (Velocity) |
| BungeeCord AuthMe | LimboAuth |
| ServerListPlus | MiniMOTD |
| BungeeGuard | Not needed (Modern Forwarding) |
| Geyser-BungeeCord | Geyser-Velocity |
Step 6: Firewall
Make sure backend server ports are closed externally. Despite Modern Forwarding, direct access to backends should be blocked:
# Allow only local access to backend servers
iptables -A INPUT -p tcp --dport 30001:30010 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 30001:30010 -j DROP
When BungeeCord Is Still OK
In fairness, there are scenarios where BungeeCord remains a reasonable choice.
Legacy networks on 1.8. If your server runs on 1.8 and you're committed to staying there, BungeeCord's plugin ecosystem for that version is richer. Velocity targets modern versions.
Deep custom plugin integration. If you have dozens of custom BungeeCord plugins with thousands of lines of code, migration will require significant resources. But even then, it's better to start planning the transition now.
In all other cases, Velocity is the clear choice.
Comparison Table
| Parameter | BungeeCord | Velocity |
|---|---|---|
| Performance | Baseline | Up to 8x faster |
| Compression | Java zlib | libdeflate (2x faster) |
| Entity ID Rewriting | Yes (CPU overhead) | No |
| TCP Fast Open | No | Yes |
| Event Handling | Synchronous | Asynchronous |
| Forwarding | Plain text (IPForward) | HMAC-SHA256 (Modern) |
| BungeeHack Protection | Requires extra plugins | Built-in |
| Project Status | Maintenance | Active development |
| Waterfall (fork) | EOL | - |
| Plugins on Hangar | Limited | 311+ |
| License | Custom | GPLv3 |
| Major Networks | Legacy | Minehut etc. |
How This Works with DDoS Protection
If your server is behind DDoS protection like MineGuard, switching to Velocity doesn't require changes to filtering settings. The proxy protocol works the same way, TCP connections are proxied identically. Velocity even simplifies things a bit with built-in PROXY Protocol support.
Verdict
BungeeCord did tremendous work for the Minecraft community. Without it, network servers wouldn't be what they are today. But technology doesn't stand still.
Velocity is faster, more secure, and more actively developed. Waterfall is dead, and Paper directly says: use Velocity. All major hosting providers recommend Velocity. The plugin ecosystem is growing.
The only real pain in migration is rewriting custom plugins. But the longer you wait, the more code you'll have to rewrite. Better to start now.
If you're launching a new network in 2026 and choosing BungeeCord, you're making a mistake. If you're already on BungeeCord, make a migration plan. Your players will thank you.
Protect Your Server from DDoS Attacks
Free protection with 5-minute setup. 1 TB bandwidth included.
Try for FreeRelated Articles
Minecraft Server Lagging: DDoS or Server Problems?
Your Minecraft server started lagging, players are complaining, and you can not tell if it is an attack or something broke on the server.
Chunky: Pregenerate Minecraft Chunks and Kill Generation Lag
The Chunky plugin generates chunks ahead of time so the server only reads finished regions from disk during play. Commands, math and real timings.
Vanilla Tweaks: best datapacks for your SMP server in 2026
Best Vanilla Tweaks datapacks for SMP servers in 2026: Graves, Multiplayer Sleep, Anti Creeper Grief, install steps, plugin compatibility.