MinecraftMinecraftConfiguration

How to Make a BungeeCord Server

Learn how to set up a BungeeCord proxy to connect multiple Minecraft servers under one IP, with IP forwarding, Spigot configuration, and BungeeGuard security.

Setting up a BungeeCord server is the most effective way to evolve a single Minecraft world into a professional server network. Instead of forcing players to disconnect and re-log to try different game modes, BungeeCord acts as a proxy server that ties multiple Minecraft servers together under one IP address. This allows your community to move seamlessly between a lobby server, survival world, or creative realm using simple in-game portals or commands.

Building this network requires a few specific changes to your standard server files:

  • Configure the Proxy: Download the BungeeCord JAR and edit the config file to list every server name and its corresponding port.
  • Enable IP Forwarding: Set ip_forward to true in BungeeCord’s config and adjust the Spigot servers to ensure player UUIDs and IP addresses are passed through correctly.
  • Security Settings: Since BungeeCord requires your sub-servers to run in online-mode: false, you must use a firewall plugin to prevent unauthorized connections from bypassing the proxy.

Once these pieces are in place, you’ll have a scalable BungeeCord network ready to host hundreds of players across dozens of unique game modes.

Building a BungeeCord network means running multiple servers at once — Physgun’s Minecraft server hosting gives you the infrastructure to spin up a proxy and as many backend servers as you need, all managed from one panel.

Why a BungeeCord Proxy is Essential for Connecting Multiple Servers

Look at major server networks such as Hypixel — they host dozens of different game modes, including individual SMP servers. They accomplish this with a BungeeCord proxy server.

Think of it like this: when you join a hub server, you’ve joined one server in the BungeeCord network. From there, you can jump to any other game mode without disconnecting and reconnecting. The proxy redirects you to the correct backend server seamlessly.

This is done not only for convenience, but for optimization too. It prevents critical problems caused by large influxes of players joining and leaving, keeping your network stable as it grows.

Changing Your Backend Server to Spigot

In order to use BungeeCord, the servers that connect to your proxy should be running Spigot.

On Your Physgun Server

  1. Open your Physgun server panel.
  2. Navigate to Advanced > Server Actions.
  3. Click the Edition dropdown and select Spigot, then choose your desired version.
  4. Click Install New Version and wait for it to complete.
  5. Start your server — you’re done!

Installing Spigot via the Physgun panel

Manually

  1. Visit the Spigot download page.
  2. Click Download on the version you want to use.
  3. Click the file name when the “You’re about to download” prompt appears.
  4. Save the downloaded spigot.jar file. If it’s named something like spigot-1.21.1.jar, rename it to spigot.jar.
  5. Add it to your server’s main folder (where your server.jar lives) and open your batch file.
  6. In the batch file, change -jar server.jar to -jar spigot.jar.
  7. Run your server. If prompted about the EULA, open eula.txt and set eula=true, then start again.

Spigot server running

Setting Up Your BungeeCord Proxy

Downloading the BungeeCord JAR (Manual Only)

  1. Visit the SpigotMC Hub page.
  2. Click Enter under Jenkins.
  3. Select BungeeCord.
  4. Download the latest BungeeCord.jar.

BungeeCord only works on Minecraft 1.8 and above.

Downloading BungeeCord from SpigotMC

On Your Physgun Server

  1. Open your proxy server panel.
  2. Navigate to Advanced > Server Actions.
  3. Click the Edition dropdown and select BungeeCord, then choose your version.
  4. Click Install New Version and wait.
  5. Start the server — BungeeCord is now running.

Installing BungeeCord via the Physgun panel

Manually

  1. Open your proxy server’s files.
  2. Upload the BungeeCord.jar you downloaded into the server’s main folder.
  3. Rename it to match your existing server JAR filename (usually server.jar) and replace the old file.
  4. Start the server — it’s now running as a BungeeCord proxy.

Configuring the BungeeCord Config File

Open config.yml in your proxy server’s main directory and update the following:

ip_forward: true
address: 0.0.0.0:1234  # Your Spigot server's IP and port

Save the file and restart your proxy server.

Configuring Your Spigot Backend Server

  1. Open your Spigot server’s files.
  2. Open server.properties and set:
online-mode=false
enforce-secure-profile=false
  1. Open spigot.yml and set bungeecord to true.
  2. Open bukkit.yml and set connection-throttle to -1.
  3. Restart your Spigot server.

Critical Security: Protecting Your Backend

When running a public BungeeCord network, anyone who knows your Spigot server’s IP can connect to it directly and bypass your proxy restrictions. A firewall plugin such as BungeeGuard prevents this.

Installing BungeeGuard

Install BungeeGuard on both your BungeeCord proxy and every backend Spigot server.

On Physgun:

  1. Open your server panel.
  2. Go to Tools > Plugin Manager.
  3. Search for BungeeGuard and click Install.
  4. Restart the server.

Installing BungeeGuard via the Physgun plugin manager

Manually:

  1. Download BungeeGuard from the SpigotMC page.
  2. Upload the JAR to the plugins folder on each server.
  3. Restart each server.

BungeeGuard plugin files

Setting Up Your BungeeGuard Token

  1. Open your proxy server’s files and navigate to plugins/BungeeGuard/token.yml.
  2. Copy the token string next to the token variable.
  3. Open your backend Spigot server’s files and open config.yml in the main directory.
  4. Paste the token under the allowed-tokens variable.

Repeat this for every backend server in your network.

Adding Multiple Servers to Your BungeeCord Network

Once your additional Spigot servers are set up, configured, and secured with BungeeGuard, return to your BungeeCord config.yml and add each server to the servers block:

servers:
  lobby:
    address: 0.0.0.0:1234
    motd: '&1Lobby'
    restricted: false
  survival-server:
    address: 1.1.1.1:1234
    motd: '&1Survival'
    restricted: false
  another-server:
    address: 2.2.2.2:1234
    motd: '&1Another Server'
    restricted: false

Give each server a unique name and fill in the correct IP address and port. Restart the proxy after saving.

Conclusion

Your BungeeCord network is now fully set up and ready to handle multiple servers under a single unified experience. By configuring your proxy, enabling IP forwarding, and securing your backend with BungeeGuard, you’ve transformed a standard Minecraft server into a scalable, professional-grade network.

If you run into any problems, feel free to reach out on our Discord or browse the Help Center for more guides.

bungeecord server setupminecraft proxy serverbungeecord spigotminecraft server network

Ready to get started?

Deploy your server in seconds and start building your community today.