Skip to main content
Velocity lets players join multiple Minecraft Java backend servers through one proxy address. Run Velocity as its own Purpify server, then add each lobby, survival, minigame, or other backend to velocity.toml.

Before you begin

You need:
  • One Purpify server running Velocity
  • At least one separate Minecraft Java backend server
  • The address or server UUID and port for every backend
  • File access to the proxy and backend servers
  • A backup of every existing backend
Players should connect through the Velocity proxy, not directly to a backend server. Configure player information forwarding before opening the network to players.

Install Velocity

1

Create the proxy server

Create a separate server in the Purpify panel. Open Versions and select Velocity.
2

Start Velocity once

Start the proxy and wait for startup to complete. This creates velocity.toml and forwarding.secret.
3

Stop the proxy

Stop Velocity normally before editing its configuration.

Find a backend address

When the Velocity proxy and backend server are on the same node, use the backend server UUID as its hostname.
1

Open the backend server

Select the Minecraft backend server in the Purpify panel.
2

Open Settings

Go to Settings and copy the server UUID.
3

Copy the backend port

Copy the port assigned to the backend server.
Use the UUID and port together in velocity.toml:
Same-node backend
Replace your-server-uuid and 25565 with the backend server’s values.
For servers on the same node, do not use 127.0.0.1. Use the backend server UUID from Settings.

Add backend servers

Open velocity.toml on the proxy and find [servers]. Give every backend a unique name and enter its connection value.
velocity.toml
The try list controls which backend Velocity attempts first when a player joins the proxy.

Configure modern forwarding

Modern forwarding passes player UUIDs, skins, and other connection information from Velocity to compatible backend software.
1

Configure Velocity

In velocity.toml, keep the proxy in online mode and set the forwarding mode to modern.
velocity.toml
2

Copy the forwarding secret

Open forwarding.secret on the Velocity server and copy its complete value.
3

Prepare the Paper backend

Stop the backend. In server.properties, set online-mode=false. Then open config/paper-global.yml and enable Velocity forwarding.
paper-global.yml
4

Repeat for every backend

Configure the same forwarding secret on each Paper backend connected to this proxy.
Never share forwarding.secret. A backend in offline mode must be protected by the proxy configuration and forwarding secret.

Start and test the network

  1. Start every backend server and wait until each one is running.
  2. Start the Velocity proxy.
  3. Check the Velocity console for backend or forwarding errors.
  4. Connect to the public address and port of the Velocity proxy.
  5. Confirm that you arrive on the first available server in try.

Troubleshoot Velocity

Confirm that the backend is running and that its UUID or address and port exactly match the entry in velocity.toml. For a same-node backend, recopy the server UUID from Settings.
Confirm that the proxy and backend are on the same Purpify node. Use the public backend address when they are on different nodes.
Confirm that the proxy uses player-info-forwarding-mode = "modern", the Paper backend has Velocity forwarding enabled, and both servers use the exact same secret.
Check the order and spelling of the backend names in the try list. Every name must match a key in [servers].
Do not share backend addresses with players. Review the forwarding and server-security configuration before using the network publicly.
For more configuration details, read the official Velocity getting started guide and player information forwarding guide.