How to Set Up Velocity Modern Forwarding
Learn how to configure velocity modern forwarding for your Minecraft network, including secret key setup, backend configuration, and security best practices.
What Is Velocity Modern Forwarding?
Velocity modern forwarding is the recommended method for passing player identity data from a Velocity proxy to your backend servers. Unlike legacy BungeeCord IP forwarding, velocity modern forwarding minecraft networks rely on uses a cryptographic secret to verify that connections actually originate from the proxy. This prevents players from spoofing UUIDs or joining backend servers directly.
If you run a multi-server network, getting velocity modern forwarding minecraft configured correctly is one of the first things you should do. Without it, player skins break, UUID-based permissions fail, and your servers become vulnerable to impersonation attacks.
Prerequisites
- A Velocity proxy (version 3.1.0 or newer)
- Paper, Purpur, or another backend server that supports modern forwarding
- SSH or file manager access to both proxy and backend configs
Step 1: Configure Velocity
Open your velocity.toml file and locate the player-info-forwarding-mode setting. Change it to modern:
player-info-forwarding-mode = "modern"
Velocity will generate a file called forwarding.secret in the proxy directory. This file contains a random string that acts as a shared key between your proxy and each backend server. Copy the contents of this file.
Step 2: Configure Your Backend Servers
On each Paper or Purpur backend, open config/paper-global.yml (Paper 1.19+) or paper.yml (older versions). Set the velocity support options:
proxies:
velocity:
enabled: true
online-mode: true
secret: "paste-your-forwarding-secret-here"
Make sure the secret matches the value from forwarding.secret exactly. A single extra space or newline will cause authentication failures.
Step 3: Disable Online Mode on Backends
In each backend's server.properties, set:
online-mode=false
The proxy handles authentication, so backends must accept connections without verifying against Mojang directly. With velocity modern forwarding minecraft setups, the secret key is what guarantees legitimacy.
Step 4: Lock Down Direct Access
Because backend servers run in offline mode, you must block direct connections. Bind each backend to 127.0.0.1 or use firewall rules to only allow traffic from the proxy IP. On Linux:
ufw allow from PROXY_IP to any port 25566
ufw deny 25566
Troubleshooting Common Issues
- Players get kicked with "Unable to verify player identity": The secret does not match between proxy and backend. Re-copy the value from
forwarding.secret. - Skins not loading: Confirm
online-modein paper-global.yml is set totrue, notfalse. - Connections refused: Check firewall rules and make sure backends are listening on the correct port and interface.
For more on linking servers, see our guide on building a server hub. If you want to add version compatibility, check out ViaVersion setup.
Once velocity modern forwarding minecraft is running, your network has a solid authentication layer. Every connection between proxy and backend is verified, keeping your players safe and their data intact.
Need a proxy-ready network? Astroworld Hosting supports Velocity, BungeeCord, and multi-server setups on every plan.