How to Connect Multiple Servers with BungeeCord
What is BungeeCord?
BungeeCord is a proxy that allows you to:
- Connect multiple Minecraft servers together
- Allow players to move between servers without disconnecting
- Create a network of servers (lobby, minigames, survival, etc.)
- Centralize player connections on a single entry point
Network Architecture
A typical BungeeCord network contains:
- 1 BungeeCord server (proxy): Entry point for all players
- Multiple Minecraft servers (backend): Lobby, survival, creative, minigames, etc.
Players connect to the BungeeCord proxy, which redirects them to backend servers.
Prerequisites
- Access to your game panel
- At least 2 Minecraft servers (or the ability to create multiple)
- Available ports for each server
- Knowledge of your servers' IP addresses
Step 1: Create Backend Servers
Required Servers
You will need at least:
- A BungeeCord server (the proxy)
- A Lobby server (welcome server)
- One or more game servers (survival, creative, minigames, etc.)
Create the Servers
- Log in to your game panel
- Create a new server for each necessary instance
- Note the following information for each server:
- IP address
- Port
- Server name
Example:
- BungeeCord Proxy:
127.0.0.1:25565 - Lobby:
127.0.0.1:25566 - Survival:
127.0.0.1:25567 - Minigames:
127.0.0.1:25568
Step 2: Install BungeeCord
Download BungeeCord
- Go to https://ci.md-5.net/job/BungeeCord/
- Download the latest stable version
Install on the Proxy Server
- Connect to your proxy server
- Delete or rename the existing Spigot/Paper JAR file
- Upload the
BungeeCord.jarfile - Rename it if necessary (depending on your panel)
- Start the server once to generate configuration files
- Stop the server
Step 3: Configure BungeeCord
Edit config.yml
Open the config.yml file in the BungeeCord proxy folder.
Basic Configuration
listeners:
- query_port: 25577
motd: '&6My Minecraft Network'
priorities:
- lobby
bind_local_address: true
tab_list: GLOBAL_PING
query_enabled: false
proxy_protocol: false
forced_hosts:
pvp.example.com: pvp
hub.example.com: lobby
ping_passthrough: false
max_players: 100
tab_size: 60
force_default_server: false
host: 0.0.0.0:25565
Add Backend Servers
In the servers section, add your servers:
servers:
lobby:
motd: '&aLobby Server'
address: localhost:25566
restricted: false
survival:
motd: '&2Survival Server'
address: localhost:25567
restricted: false
minigames:
motd: '&cMinigames Server'
address: localhost:25568
restricted: false
Important Settings
# Default server where players arrive
priorities:
- lobby
- survival
# Permissions
groups:
admin:
- bungeecord.command.alert
- bungeecord.command.end
- bungeecord.command.ip
- bungeecord.command.reload
Advanced Network Configuration
If your servers are on different machines:
servers:
lobby:
address: 192.168.1.10:25565
restricted: false
survival:
address: 192.168.1.11:25565
restricted: false
Step 4: Configure Backend Servers
Modify spigot.yml
On each backend server (lobby, survival, etc.), open spigot.yml:
settings:
bungeecord: true
IMPORTANT: This option must be enabled on all backend servers, otherwise BungeeCord will not work correctly.
Modify server.properties
On each backend server, modify server.properties:
online-mode=false
WARNING: Set online-mode=false only on backend servers, NEVER on the BungeeCord proxy which must remain online-mode=true.
Secure Backend Servers
To prevent players from connecting directly to backend servers, add a firewall or use a plugin like IPWhitelist.
Option 1: Firewall
Configure your firewall to only allow the BungeeCord proxy to connect to backend servers.
Option 2: IPWhitelist Plugin
- Install IPWhitelist on each backend server
- Configure it to only allow the proxy's IP
Step 5: Install Essential Plugins
On the BungeeCord Proxy
Create a plugins folder and install:
LuckPerms (network permission management):
- Download from https://luckperms.net/
- Use the BungeeCord version
BungeeTabListPlus (custom tablist):
- Improves player list display
BungeePortals (portals between servers):
- Allows creating physical portals to change servers
On Backend Servers
Install on each backend server:
LuckPerms (Spigot/Paper version):
- To synchronize permissions with the proxy
Multiverse-Core (optional):
- To manage multiple worlds on the same server
Step 6: Synchronize Data
Shared Database (recommended)
To share permissions, economy, etc. between servers:
- Create a MySQL/MariaDB database
- Configure LuckPerms to use this database
- All servers will use the same database
LuckPerms configuration (config.yml):
storage-method: mysql
data:
address: localhost:3306
database: luckperms
username: root
password: your_password
Synchronization Plugins
Install plugins to synchronize:
- Economy: Vault + shared database
- Ranks: LuckPerms with MySQL
- Inventories: Multiverse-Inventories or similar
Step 7: Start the Network
Startup Order
- Start all backend servers (lobby, survival, etc.)
- Wait for them to fully load
- Start the BungeeCord proxy
Test the Connection
- Connect with your Minecraft client to the proxy address
- You should arrive on the lobby server
- Test the commands:
/server lobby
/server survival
/server minigames
Essential BungeeCord Commands
For Players
/server
Lists all available servers
/server <name>
Teleport to a specific server
For Administrators
/glist
Displays the list of players on all servers
/alert <message>
Sends a message to all players on the network
/send <player> <server>
Sends a player to a specific server
/end
Stops the BungeeCord proxy
/greload
Reloads the configuration
Advanced Configuration
Custom MOTD
Modify the welcome message in config.yml:
listeners:
- motd: |-
&6&l✦ My Minecraft Network ✦
&e» Survival &7| &cMinigames &7| &aEvents
Forced Servers by Subdomain
Automatically redirect based on subdomain:
forced_hosts:
lobby.myserver.com: lobby
survival.myserver.com: survival
minigames.myserver.com: minigames
Restrict Access to Certain Servers
servers:
vip:
address: localhost:25569
restricted: true
Then give the bungeecord.server.vip permission to VIP players.
Create a Functional Lobby
Recommended Plugins for Lobby
- ServerSelector: Server selection menu
- HolographicDisplays: Floating information display
- DeluxeHub: Complete lobby suite
- Multiverse-Core: Lobby world management
ServerSelector Configuration
Create items in the inventory to change servers:
items:
survival:
material: GRASS_BLOCK
slot: 2
name: '&2Survival Server'
lore:
- '&7Click to join'
server: survival
minigames:
material: DIAMOND_SWORD
slot: 4
name: '&cMinigames'
lore:
- '&7Click to join'
server: minigames
Troubleshooting
Players Cannot Connect
- Check that the BungeeCord proxy is started
- Check that
online-mode=falseon backend servers - Check that
bungeecord: trueinspigot.ymlon backend servers - Check IP addresses and ports in
config.yml
"Can't connect to server" Error
- Check that backend servers are started
- Check addresses in
config.yml - Test direct connection to backend servers
- Check firewalls
Permissions Don't Work
- Install LuckPerms on the proxy AND all backend servers
- Configure a shared MySQL database
- Check synchronization between servers
Players Have Duplicated Inventories
- Inventories are not synchronized by default
- Install an inventory synchronization plugin
- Or keep separate inventories per server (recommended)
/server Command Not Found
- The command is handled by BungeeCord
- Check that the player is connected through the proxy
- Check that BungeeCord is working correctly
Security Tips
Attack Protection
- Don't expose backend servers: Only the proxy should be publicly accessible
- Use a firewall: Block direct connections to backend servers
- Install anti-DDoS: Protect the proxy against attacks
- Update regularly: Keep BungeeCord up to date
Backups
Regularly backup:
- BungeeCord configuration (
config.yml) - Backend server configurations
- Shared database
- Each server's worlds
Performance Optimization
RAM Allocation
Distribute RAM intelligently:
- BungeeCord Proxy: 512 MB - 1 GB minimum
- Lobby Server: 2-3 GB
- Game Servers: 3-6 GB depending on load
Reduce Latency
- Host all servers in the same location if possible
- Use local connections (
localhost) when possible - Optimize each server individually
Conclusion
BungeeCord allows you to create a professional network of Minecraft servers. This configuration offers a smooth experience for players who can navigate between different universes without disconnecting. Don't forget to properly secure your backend servers and set up a shared database to synchronize important data.


















