Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →BungeeCord is a standalone proxy that connects multiple Minecraft Java servers; it does not host a world itself. To build a working network, install Java, place the BungeeCord JAR in its own directory, run it once to generate files, register each Spigot or Paper backend in config.yml, enable IP forwarding, and prevent players from reaching backend ports directly.
Godlike.Host offers hosted Minecraft Java servers with its own game panel, SFTP access and free DDoS protection, if you would rather not host it yourself.
The proxy should be the public entry point and authentication boundary. Backend servers run separately on their own ports, normally in offline mode for the documented forwarding model, while the proxy remains in online mode.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Minecraft | Java & Bedrock Deluxe Collection | Windows Digital Code | $39.99 | Buy on Amazon |
| 2 |
|
Minecraft | Java & Bedrock Ultimate Collection | Windows Digital Code | $49.99 | Buy on Amazon |
| 3 |
|
Minecraft | Standard Edition | XBOX Digital Code | $19.99 | Buy on Amazon |
| 4 |
|
Minecraft | $6.99 | Buy on Amazon |
| 5 |
|
Minecraft - Bedrock Edition PS4 | $42.98 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
How the BungeeCord architecture works
A BungeeCord network has three distinct pieces:
| Component | What it does | Typical exposure | Where it is configured |
|---|---|---|---|
| BungeeCord proxy | Accepts the player’s connection, authenticates it, and routes the connection between backend servers. | Public Minecraft port, commonly 25565 |
Proxy directory and config.yml |
| Lobby backend | Provides the initial world or hub to which players connect. | Private port, such as 25566 |
Its own server.properties, spigot.yml, and plugin directory |
| Additional backend | Runs a survival, minigame, creative, or other game mode. | Another private port, such as 25567 |
Its own server files and plugins |
SpigotMC’s BungeeCord FAQ describes it as “a standalone application that connects Minecraft server together (a proxy).” The proxy does not load chunks, save worlds, or replace a normal Minecraft server. Every playable world remains on a Spigot, Paper, or compatible backend instance.
A player connects to the proxy’s address only once. BungeeCord then opens a connection to the selected backend and carries the player’s session between servers. Each backend therefore needs a unique address and port, and each name used for a server must match the name referenced by commands, priorities, and plugins.
#1 Best Overall
- DELUXE COLLECTION — Includes Minecraft: Java & Bedrock Edition, three Bedrock add-ons, three exclusive Character Creator items, and 700 Minecoins.
- CREATE YOUR WORLD — Build whatever you imagine in an infinite world that’s unique in every playthrough.
- EXPLORE AND CRAFT — Discover biomes, resources, and mobs, then craft your way through a sandbox world filled with surprises.
- SURVIVE THE ADVENTURE — Face mysterious foes, travel across exciting landscapes, and venture into perilous dimensions.
- PLAY TOGETHER — Play cross-platform with friends in Bedrock Edition on console, mobile, and PC, or join community servers in Java Edition on PC, Mac, and Linux. Online console multiplayer requires a platform-specific subscription (sold separately).
What you need before installing
- A machine or hosting plan that permits long-running Java processes, custom JAR files, multiple listening ports, and firewall rules.
- Java 8 or newer. The SpigotMC installation guidance specifies Java 8 or later; check the requirement of the particular BungeeCord build you download if it is newer.
- A BungeeCord build downloaded from its official project distribution and renamed, or saved, as
BungeeCord.jar. - At least one already-working Spigot or Paper server for the first backend. More servers can be added later.
- Separate directories for the proxy and every backend. Do not put the proxy JAR in a world directory or share a single
pluginsfolder between them. - Administrative access to bind addresses and configure the operating system firewall.
The often-cited guideline of approximately 512 MB of RAM for every 500 players is only a broad starting recommendation, not a capacity guarantee. Plugins, view distance, redstone activity, world generation, Java version, and the workload of the backend servers can change the actual requirement substantially. The backends normally need more memory than the proxy because they run the worlds.
Install Java and create the proxy directory
Check Java
Open a terminal or command prompt and run:
java -version
The output should show a supported Java runtime. If the command is missing, install a supported Java package for your operating system, then open a new terminal and verify the command again. Keep the Java executable used by the proxy consistent with the one used by your backend servers where practical; this makes updates and troubleshooting easier.
Free tools Windows power users keep installed
One-click scans. No signup required.
Create a dedicated directory
On Linux or another Unix-like system:
mkdir -p ~/minecraft-network/proxy
cd ~/minecraft-network/proxy
On Windows, create a folder such as C:minecraft-networkproxy and place the downloaded JAR there. Keep a sibling directory for each backend, for example lobby and survival. A layout like this keeps logs, plugins, configuration, and backups independent:
minecraft-network/
├── proxy/
│ ├── BungeeCord.jar
│ ├── config.yml
│ └── plugins/
├── lobby/
│ ├── server.properties
│ ├── spigot.yml
│ └── plugins/
└── survival/
├── server.properties
├── spigot.yml
└── plugins/
Run BungeeCord once and generate its files
From the proxy directory, start the JAR with a modest initial heap:
java -Xms512M -Xmx512M -jar BungeeCord.jar
The first run creates the proxy’s configuration and working files. Allow it to finish, then stop it cleanly from its console with:
end
Do not edit config.yml while the process is actively rewriting it. Stopping first prevents an in-memory configuration from overwriting your changes and gives you a clean point from which to make a backup.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Rank #2
- ULTIMATE COLLECTION — Includes Minecraft: Java & Bedrock Edition, five Bedrock add-ons, five exclusive Character Creator items, and 1000 Minecoins.
- CREATE YOUR WORLD — Build whatever you imagine in an infinite world that’s unique in every playthrough.
- EXPLORE AND CRAFT — Discover biomes, resources, and mobs, then craft your way through a sandbox world filled with surprises.
- SURVIVE THE ADVENTURE — Face mysterious foes, travel across exciting landscapes, and venture into perilous dimensions.
- PLAY TOGETHER — Play cross-platform with friends in Bedrock Edition on console, mobile, and PC, or join community servers in Java Edition on PC, Mac, and Linux. Online console multiplayer requires a platform-specific subscription (sold separately).
Keep the process alive after an SSH disconnect
If the proxy runs on a remote Linux machine, use tmux or screen rather than launching it in a short-lived SSH shell. For example:
tmux new -s bungee
cd ~/minecraft-network/proxy
java -Xms512M -Xmx512M -jar BungeeCord.jar
Detach from tmux without stopping the proxy using its detach shortcut, then reconnect later with tmux attach -t bungee. A service manager is preferable for production because it can restart the process and capture logs, but the terminal multiplexer is a simple way to keep a manual installation running.
Use a startup script
A Linux script named start.sh can make the command repeatable:
#!/bin/sh
cd "$(dirname "$0")"
exec java -Xms512M -Xmx512M -jar BungeeCord.jar
Make it executable with chmod +x start.sh, then run ./start.sh. On Windows, save this as start.bat in the same directory:
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →@echo off
cd /d "%~dp0"
java -Xms512M -Xmx512M -jar BungeeCord.jar
pause
The pause line leaves the window open when a startup error occurs, so you can read it instead of having the window close immediately.
Configure the proxy in config.yml
After the first run has stopped, open config.yml in the proxy directory. The exact generated file contains additional options, but this is a compact working pattern for a proxy with a lobby and survival backend:
Rank #3
- CREATE YOUR WORLD — Build whatever you imagine in an infinite world that is unique in every playthrough.
- EXPLORE AND CRAFT — Discover biomes, resources, and mobs, then craft your way through a sandbox world full of surprises.
- SURVIVAL ADVENTURES — Face mysterious foes, travel across varied landscapes, and venture into perilous dimensions.
- PLAY TOGETHER — Play solo or join friends in local split-screen and cross-platform play across console, mobile, and PC. Online multiplayer supports up to 8 players.
- COMMUNITY PLAY — Connect with players on community servers, or subscribe to Realms Plus (sold separately) to play with up to 10 friends on a private server.
groups:
player: []
servers:
lobby:
motd: '&1Lobby'
address: 127.0.0.1:25566
restricted: false
survival:
motd: '&2Survival'
address: 127.0.0.1:25567
restricted: false
listeners:
- query_port: 25577
motd: '&1My Minecraft Network'
tab_list: GLOBAL_PING
query_enabled: false
proxy_protocol: false
forced_hosts: {}
ping_passthrough: false
priorities:
- lobby
bind_local_address: true
host: 0.0.0.0:25565
max_players: 100
tab_size: 60
force_default_server: false
ip_forward: true
online_mode: true
forge_support: false
Use spaces for indentation; YAML is sensitive to indentation and tabs can cause a parse failure. Change the names, ports, and message text to match your network. The important fields are:
| Field | Purpose | What to verify |
|---|---|---|
servers |
Maps a lowercase server name to a backend address. | Every address resolves from the proxy machine and uses the backend’s actual port. |
motd |
Text shown for a backend or the proxy list entry. | Color codes and quotation marks are valid YAML. |
restricted |
Controls whether a permission-restricted player group is required for that backend. | Use false for a normal public lobby unless you intentionally restrict it. |
priorities |
Ordered fallback destinations for a new connection. | Put a running lobby or other always-available server first. |
host |
The address and port on which the proxy accepts Minecraft connections. | Use the public interface or a specific local interface and open that port in the firewall. |
max_players |
The player-list limit advertised by the listener. | This is an advertised limit, not a performance guarantee. |
ip_forward |
Forwards the player’s UUID and IP information to a compatible backend. | Set it to true when using the documented BungeeCord forwarding model. |
online_mode |
Makes the proxy perform Mojang account authentication. | Keep it true; the proxy should be the authentication boundary. |
The listener’s host is normally the only public Minecraft endpoint. If the proxy has multiple network interfaces, replace 0.0.0.0 with the interface you intend to expose. A fallback server in priorities gives a player somewhere to go when no explicit destination was requested.
Prepare every Spigot or Paper backend
Each backend is a complete Minecraft server with its own world, port, logs, and plugins. Stop the backend before editing its files.
Set a unique port and offline mode
In the backend’s server.properties, assign a different port to every instance. For a proxy and two backends on one machine, the lobby and survival might use:
# lobby/server.properties
server-port=25566
server-ip=127.0.0.1
online-mode=false
# survival/server.properties
server-port=25567
server-ip=127.0.0.1
online-mode=false
Do not copy the same port to multiple backends. The server-ip value binds the process to a particular interface. Binding to 127.0.0.1 is the strongest simple arrangement when the proxy and backend are on the same machine because outside clients cannot route directly to that loopback address.
online-mode=false is part of the documented BungeeCord forwarding arrangement: the proxy authenticates the player, then forwards identity data. It is unsafe when a backend is reachable directly, because an attacker could attempt to impersonate a name or UUID. The network controls in the next section are therefore mandatory, not optional hardening.
Rank #4
- Skins! We have biome settlers, city folk, town folk, and more!
- The Nether and all its inhabitants. Fight Ghasts and make friends with Pigmen
- Cross platform play for up to five players between Pocket Edition and Windows 10
- Revamped touch controls, controller support, and a controller mapping screen
- Enhanced Weather effects! Accumulating snow and more
Enable BungeeCord mode in spigot.yml
In every Spigot or Paper backend’s spigot.yml, set:
settings:
bungeecord: true
Preserve the other generated settings and indentation. Paper uses Spigot-compatible configuration for this forwarding switch. Restart the backend after saving the file; changing the setting while it is running does not reliably update the active server.
Check the forwarding combination
The three settings must agree:
- Proxy
online_mode: true. - Proxy
ip_forward: true. - Every backend
server.propertieshasonline-mode=falseand itsspigot.ymlhasbungeecord: true.
If one backend is left in online mode, it may reject the proxy handshake or perform a second authentication. If forwarding is disabled on either side, the backend can see the wrong address or an unexpected offline UUID, which commonly breaks permissions, skins, bans, and player data.
Prevent players from bypassing the proxy
Forwarding transmits identity; it does not protect an exposed backend port. Anyone who can connect directly to an offline-mode backend may be able to impersonate a player. Protect the network according to where the machines are located.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteProxy and backends on one machine
- Bind every backend’s
server-ipto127.0.0.1. - Expose the proxy listener port, such as
25565, instead of the backend ports. - Do not publish
25566,25567, or other backend ports in DNS, server lists, or documentation. - Use a host firewall to deny inbound traffic to backend ports even if a later configuration change accidentally binds a backend more broadly.
Proxy and backends on separate machines
Bind each backend to a private interface and allow inbound traffic on its Minecraft port only from the proxy’s private IP address. Implement this with the operating system firewall, the hosting provider’s firewall, or both. A private network or VPN is useful when the machines are in different facilities. Do not rely on a secret port number: port obscurity does not replace an allow-list.
Test the rule from an external client. A player should be able to connect to the proxy address but should not be able to establish a Minecraft connection to a backend address. If a provider supplies a public address for every virtual machine, explicitly block the backend ports rather than assuming they are private.
Best Value
- Play and share with friends on console, mobile and Windows 10
- discover community creations in the new in-game store
- access new mini games and game modes through servers
Place plugins in the correct directory
BungeeCord plugins and Bukkit-family plugins are different types of software:
| Plugin type | Install location | Typical responsibility |
|---|---|---|
| Proxy plugin | proxy/plugins/ |
Connection routing, proxy commands, permissions at the network layer, or maintenance mode. |
| Spigot/Paper plugin | Each backend’s own plugins/ directory |
World protection, gameplay, economies, minigames, and backend commands. |
A Bukkit plugin cannot simply be copied into the proxy’s directory, and a BungeeCord plugin will not run as a normal Paper plugin. Read the plugin’s stated platform and version requirements before installing it.
Paper servers can communicate with BungeeCord through plugin messaging. Treat every connected backend as trusted: a backend plugin that can send proxy messages may request actions or pass data through the network. Limit who can install plugins, keep backend administration separate from player permissions, and remove untrusted plugins rather than assuming the proxy will sanitize every message.
Start the network in a predictable order
- Start each backend and wait for its console to report that the server is ready.
- Confirm that each backend is listening on the port and interface listed in
server.properties. - Start BungeeCord from its dedicated directory.
- Watch the proxy console for configuration or connection errors before giving players the address.
- Connect a test account to the proxy’s public address, not to a backend address.
Starting the backends first makes the configured fallback immediately available. BungeeCord can start while a backend is offline, but a player will receive a connection failure until one of the configured destinations is running.
Test every important path before publishing the address
Use this order so a failure points to a specific layer:
- Proxy startup: the JAR starts without a YAML parse error, missing-class error, or bind failure.
- Fallback availability: the first server in
prioritiesis running and appears as a reachable destination. - Initial connection: a test player can join through the proxy listener.
- Server switching: use the proxy’s server-selection command, commonly
/server <name>, or the method supplied by your installed proxy plugin. The name must exactly match a key underservers. - Identity forwarding: check the backend log or an administrative plugin to confirm the expected UUID and player IP arrive from the proxy.
- Direct-access rejection: from an external network, attempt to connect to a backend address. It should fail or be unreachable while the proxy connection succeeds.
- Failure recovery: stop one backend and verify that new players receive the remaining priority server. Restart the stopped backend and confirm it becomes available again.
- Reconnect behavior: disconnect and reconnect a test account after a backend restart. Confirm that the proxy does not leave the player pointed at a permanently unavailable destination.
Troubleshoot common failures
| Symptom | Likely cause | Fix |
|---|---|---|
| The proxy exits immediately with a configuration error. | Invalid YAML indentation, tabs, or a malformed value. | Stop the proxy, restore the last known-good file, and edit with spaces only. Check that every server entry is nested under servers: and every listener entry under listeners:. |
| Players cannot reach the proxy. | Wrong listener port, bind address, DNS record, or firewall rule. | Confirm the client’s address includes the proxy port, verify the host value, and allow that port through the host and provider firewalls. |
| “Could not connect to server” appears after joining. | The backend is stopped, the address or port is wrong, or a firewall blocks proxy-to-backend traffic. | Start the backend, compare its server-port with the servers entry, and test connectivity from the proxy machine. |
| The backend rejects the connection or players have incorrect UUIDs. | ip_forward, bungeecord, and backend online-mode do not match. |
Use the three-setting combination described above, then restart both proxy and backend. |
| A player can join a backend directly. | The backend is bound to a public interface or its firewall rule is too broad. | Bind locally when co-located, or allow only the proxy’s private IP when separated. Close public backend ports. |
| A command or feature is unavailable. | The plugin was placed in the wrong directory or is for a different platform. | Install proxy plugins under the proxy’s plugins directory and Bukkit/Paper plugins under the relevant backend directory. |
| A backend disappears after a restart. | It is listed as the only priority destination, or its restart leaves no available fallback. | Keep a running lobby or maintenance backend first in priorities, and check the backend’s startup logs before reconnecting players. |
Maintain the network safely
- Back up
config.yml, each backend’s configuration, world data, and plugin configuration before upgrades. - Record which port belongs to each server and keep that map beside your firewall rules.
- Update the proxy and backends in a maintenance window, testing forwarding and switching after each change.
- Run the Java processes under a dedicated operating-system account with only the file permissions they need.
- Review proxy and backend logs for repeated connection failures, unexpected addresses, authentication errors, and plugin exceptions.
- Keep at least one fallback backend available during planned maintenance if players need uninterrupted access.
Once the proxy, forwarding settings, and network restrictions are aligned, adding another game mode is mostly repetition: create a separate backend directory and port, configure its server entry under servers, install its backend plugins, and test switching without exposing the new port.
Recommended Free Tools
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




