Velocity Proxy¶
The Velocity proxy handles all incoming connections and routes players to appropriate backend servers.
Configuration¶
Config file: server_configs/proxy/velocity.toml
Key Settings¶
| Setting | Value | Description |
|---|---|---|
bind |
0.0.0.0:25565 |
Listen address |
online-mode |
false |
Handled by auth plugin |
player-info-forwarding-mode |
bungeeguard |
Secure forwarding |
Server List¶
[servers]
Lobby-1 = "<lobby1-ip>:<port>"
Lobby-2 = "<lobby2-ip>:<port>"
Limbo = "<limbo-ip>:<port>"
Survival = "<survival-ip>:<port>"
Tycoon = "<tycoon-ip>:<port>"
Creative = "<creative-ip>:<port>"
Quake = "<quake-ip>:<port>"
# Try order for new connections
try = ["Lobby-1", "Lobby-2", "Limbo"]
Plugins¶
| Plugin | Purpose |
|---|---|
| LuckPerms | Permissions (network-wide) |
| LibertyBans | Bans/mutes (network-wide) |
| Geyser | Bedrock Edition support |
| Floodgate | Bedrock player data |
| LibreLogin | Authentication |
| Sonar | Anti-bot protection |
| BungeeGuard | Forwarding security |
Player Routing¶
graph LR
Player --> Proxy
Proxy -->|New connection| Lobby1[Lobby-1]
Proxy -->|Lobby-1 full| Lobby2[Lobby-2]
Proxy -->|Both full| Limbo
Lobby1 -->|/server command| GameServer[Target Server]
Maintenance¶
Restart Procedure¶
- Announce maintenance in Discord
- Set server to maintenance mode
- Wait for players to disconnect
- Restart proxy
- Verify all backends are connected
Adding New Server¶
- Add server to
velocity.tomlunder[servers] - Add to
trylist if it should be a fallback - Reload proxy:
/velocity reload