VelocityProxyNetworkBungeeCord6 min read

Create a server network with Velocity

Set up a Velocity proxy to connect multiple Minecraft servers into a network.


What is Velocity?

Velocity is a modern Minecraft proxy that connects multiple backend servers into a single network. Players connect to the proxy and can switch between servers (lobby, survival, minigames) seamlessly.

Architecture

terminal
Players → Velocity Proxy → Backend Server 1 (Lobby)
                         → Backend Server 2 (Survival)
                         → Backend Server 3 (Minigames)

Step 1: Set up the Velocity proxy

You'll need a separate server for the proxy. At Baires Host:

  1. Order an additional Minecraft server (small plan is fine for proxy)
  2. In the Startup tab, change the server type to Velocity
  3. Start the server to generate config files

Step 2: Configure velocity.toml

Edit velocity.toml on the proxy server:

toml
# What port players connect to
bind = "0.0.0.0:25577"

# Show the proxy's MOTD
motd = "&b&lBaires Host Network"

# Max players across all backends
show-max-players = 100

# Enable modern forwarding (recommended)
player-info-forwarding-mode = "modern"

[servers]
lobby = "backend1.ip:25565"
survival = "backend2.ip:25565"
minigames = "backend3.ip:25565"

try = ["lobby"]

[forced-hosts]
"lobby.example.com" = ["lobby"]
"survival.example.com" = ["survival"]

Step 3: Configure backend servers

On each backend server:

paper-global.yml (Paper servers)

yaml
proxies:
  velocity:
    enabled: true
    online-mode: true
    secret: "your-forwarding-secret"

The secret must match the content of forwarding.secret on the Velocity proxy.

server.properties (all backends)

properties
online-mode=false
# The proxy handles authentication

Step 4: Copy the forwarding secret

  1. On the Velocity server, find forwarding.secret
  2. Copy its content
  3. Paste it into each backend server's Paper config as shown above

Step 5: Restrict backend access

Backend servers should only accept connections from the proxy:

  • Configure firewall rules to only allow the proxy IP on port 25565
  • Or use Velocity's modern forwarding which rejects direct connections

Server switching

Players can switch servers using:

terminal
/server lobby
/server survival
/server minigames

Or install a hub plugin with a GUI selector.

Recommended plugins

On Velocity (proxy plugins)

  • LuckPerms (Velocity version) — network-wide permissions
  • Velocitab — tab list customization
  • SignedVelocity — chat signing support

On backend servers

  • ViaVersion — allow different client versions
  • LuckPerms — synced with proxy via MySQL

Tips

  • Use a MySQL database shared between servers for synced data (permissions, economy)
  • Keep the proxy lightweight — don't install unnecessary plugins on it
  • Monitor proxy RAM usage; Velocity is efficient but still needs resources for many players
  • Use Velocity over BungeeCord — it's faster, more secure, and actively maintained
  • Players connect to the proxy IP/port, not directly to backend servers

Was this guide helpful?