Minecraft Velocity & BungeeCord Lobby System: Zero-Lag Proxy Setup Guide

Published on

Build a professional multi-server Minecraft network with a lobby system using Velocity or BungeeCord. We cover proxy configuration, fallback servers, forced hosts, and performance tuning to eliminate lobby lag.

Written by Jochem, Infrastructure Expert, 5-10 years experience in game server hosting, VPS infrastructure, and 24/7 streaming solutions. Read author bio →

Minecraft Lobby System

If you've ever joined a large Minecraft network-Hypixel, Mineplex, or any community running multiple game modes-you've experienced a lobby system. You connect to a single IP address, land in a central hub world, and then click signs or NPCs to teleport to different servers: Survival, Creative, Skyblock, minigames. Behind the scenes, each of those destinations is a completely separate Minecraft server, and the glue holding them together is a proxy.

Setting up this architecture yourself is one of the most rewarding-and technically demanding-projects in Minecraft server administration. If you've been searching for how to make a lobby system in Minecraft without lag, this guide covers everything from choosing the right proxy software to optimizing your network for seamless player transfers.

Understanding the Proxy Architecture

A Minecraft network proxy sits between the player and your backend servers. The player connects to the proxy's IP address. The proxy then silently routes them to the correct backend server based on configuration rules.

Player → [Proxy: Velocity/BungeeCord] → Lobby Server
                                      → Survival Server
                                      → Creative Server
                                      → Minigames Server

Each backend server runs independently with its own world, plugins, and resource allocation. If the Survival server crashes, the Lobby and Creative servers remain completely unaffected. The proxy simply shows the player a "server offline" message and keeps them connected to the lobby.

Velocity vs. BungeeCord: Which Proxy to Choose

BungeeCord (Legacy)

BungeeCord was the original Minecraft proxy and remains widely used. However, its architecture has significant limitations:

  • Security Concerns: BungeeCord's IP forwarding relies on a trust model that can be exploited if backend servers are exposed to the internet.
  • Performance: Its threading model is less efficient than modern alternatives.
  • Plugin API: The BungeeCord API is mature but showing its age.

Velocity (Recommended)

Velocity is the modern successor, built from the ground up with performance and security as primary goals:

  • Modern Forwarding: Velocity uses a cryptographic key-based forwarding system (modern forwarding mode) that prevents IP spoofing.
  • Superior Performance: Built on Netty with a highly optimized event loop, Velocity handles thousands of concurrent connections with minimal CPU overhead.
  • Active Development: Velocity is the recommended proxy by the PaperMC team and receives regular updates.

We strongly recommend Velocity for any new network in 2026.

Step-by-Step Lobby Network Setup

Prerequisites

You will need a VPS with enough resources to run:

  • 1 Velocity proxy instance (~512MB RAM)
  • 1 Lobby server (~1-2GB RAM)
  • 1+ backend game servers (RAM varies by game mode)

For a small network (lobby + 2 game modes), a VPS with 8-12GB RAM and a high-frequency CPU is ideal.

Phase 1: Install the Velocity Proxy

mkdir velocity && cd velocity
# Download the latest Velocity JAR
wget https://api.papermc.io/v2/projects/velocity/versions/3.4.0/builds/latest/downloads/velocity-3.4.0-latest.jar -O velocity.jar

Run it once to generate the configuration:

java -Xms512M -Xmx512M -jar velocity.jar

Stop it after it generates velocity.toml.

Phase 2: Configure velocity.toml

Open velocity.toml and configure the critical settings:

# The address players connect to
bind = "0.0.0.0:25577"

# Use modern forwarding for security
player-info-forwarding-mode = "modern"

[servers]
# Define your backend servers
lobby = "127.0.0.1:25565"
survival = "127.0.0.1:25566"
creative = "127.0.0.1:25567"

# Players always land in the lobby first
try = ["lobby"]

[forced-hosts]
# Optional: route specific domains to specific servers
"survival.yourserver.com" = ["survival"]
"creative.yourserver.com" = ["creative"]

Phase 3: Configure Backend Servers

Each backend server must be configured to accept connections from the Velocity proxy.

For Paper servers, add the following to config/paper-global.yml:

proxies:
  velocity:
    enabled: true
    online-mode: true
    secret: "YOUR_FORWARDING_SECRET"

The secret value must match the contents of Velocity's forwarding.secret file (auto-generated during first run).

Critical: Set online-mode=false in each backend server's server.properties. The proxy handles authentication-backend servers must trust the proxy's forwarded player data.

# server.properties for each backend server
online-mode=false
server-port=25565  # Unique port per server

Phase 4: Set Up the Lobby Server

Your lobby server should be lightweight. Use Paper with minimal plugins:

  1. WorldGuard - Prevent block breaking and building in the lobby.
  2. A server selector plugin - Use ViaVersion's server selector or a custom NPC plugin (e.g., Citizens + CommandNPC) to create clickable NPCs that send players to backend servers.
  3. EssentialsSpawn - Force players to spawn at the lobby center point.

Keep the lobby world small and pre-generated. A compact, well-designed lobby loads instantly and puts zero strain on the CPU.

Phase 5: Launch the Network

Start each component in order:

# Terminal 1: Lobby server
cd /servers/lobby && java -Xms1G -Xmx1G -jar paper.jar nogui

# Terminal 2: Survival server
cd /servers/survival && java -Xms4G -Xmx4G -jar paper.jar nogui

# Terminal 3: Creative server  
cd /servers/creative && java -Xms2G -Xmx2G -jar paper.jar nogui

# Terminal 4: Velocity proxy (start LAST)
cd /velocity && java -Xms512M -Xmx512M -jar velocity.jar

Players connect to port 25577 (the proxy port). They land in the lobby and can navigate to any backend server.

Performance Tuning for Zero-Lag Transfers

Server transfers should feel instantaneous. If players experience a black screen or loading delay when switching servers, tune these settings:

1. Keep the Lobby World Tiny

The lobby is a visual space, not a gameplay environment. Use a void world or a small, pre-built arena. Fewer chunks to load means faster spawning.

2. Pre-Load Backend Servers

Ensure all backend servers are fully booted and their spawn chunks are loaded before players attempt to connect. A cold server that hasn't finished loading will cause connection timeouts.

3. Allocate Resources Correctly

The proxy itself needs minimal resources (512MB RAM is usually sufficient). Allocate the majority of your VPS resources to the backend game servers.

4. Use NVMe Storage

Server transfers involve reading world data from disk. If your VPS uses slow storage, chunk loading on the destination server will stutter. NVMe storage ensures the destination world loads instantly upon transfer.

The Infrastructure for Professional Networks

Running a multi-server Minecraft network requires more than a single shared hosting plan. Each backend server needs guaranteed CPU time, and the proxy needs reliable, low-latency networking to handle hundreds of simultaneous connections without packet loss.

Space-Node's VPS plans provide the ideal foundation for proxy-based networks. Our high-frequency AMD Ryzen processors handle the concurrent game loops of multiple backend servers, while dedicated NVMe storage ensures every server transfer is seamless. Whether you're building a small community network or a large public hub, our infrastructure scales with your ambitions.

Build Your Minecraft Network on Dedicated Hardware

Jochem

About the Author

Jochem, Infrastructure Expert, expert in game server hosting, VPS infrastructure, and 24/7 streaming solutions with 5-10 years experience.

Since 2023
500+ servers hosted
4.8/5 avg rating

I specialize in Minecraft, FiveM, Rust, and 24/7 streaming infrastructure, operating enterprise-grade AMD Ryzen 9 hardware in Netherlands datacenters.

View my full bio and credentials →

Start Your MC Server Now Today

Join content creators worldwide who trust our Minecraft infrastructure. Setup is instant and support is always available. Start from €0.90/mo (Dirt) or €2.70/mo (Coal) and go live in minutes.