Skip to content

Server Network Introduction

Before we jump into setting up our Server Network, we need to understand the next concepts...

Terminology

When we say Backend server, we mean on our servers running Paper or Spigot server software.
Each of the backend sevrers are different games found in our server network, including Lobby/Hub server.

What is a Proxy server?

Proxy is a special type of server software. It is not an ordinary Minecraft server.
There are different types of Proxy servers. In this section we will be referring to a Proxy server that connects multiple Backend servers into one Server network. That way your players can teleport to different servers/game modes without having to disconnect and type in a new IP Address.

What is not a Proxy server?

Proxy is not a playable server. It has no world. Its sole purpose is to teleport players between Backend servers inside the server network.

Some people might refer to Proxy servers as Hub servers. When they say that, they mean that proxy servers connect multiple Backend servers into one server network. A proxy server is not Lobby or Hub server that player first joins when connecting to a server network! Proxy servers have the option to send players on join to Lobby/Hub Backend server inside your server network. Please keep that in mind!

How does this work?

Proxy server bridges the connection to the Backend server, allowing players to connect to it. Players can then play on that server just like they would expect. One key difference is that they now have the power to switch to other servers using /server command, server selector compass or even Portals!
Here's a schematic representing example server network with Lobby, PvP and Build servers, connecting together in server network with BungeeCord Proxy server.

Server network graph

In example schematic above, players join BungeeCord server, which then sends players to Lobby server. Players can then switch to PvP or Build server using /server command, Server Selector compass or Portals!

OK. What would I need?

To create a Server Network, all you need is a minimum of 3 Minecraft servers.
It is highly recommended to create server network with 4 or more server!

One of our servers will be a Proxy server, and all other servers will be servers our players can play on, including Lobby/Hub server.

You can team up with your friends to create one BIG Server network together! Just exchange Server access by adding each other as Server Subusers.

Warning

If you plan on running Server network with just 3 Servers, I advise you to use both remaining servers as different game modes. No Lobby/Hub server! Making Lobby/Hub server would make no sense, as we would only have one server left for a game mode - giving us the same result as having just that one server, without Proxy or Lobby/Hub servers.

Server software compatibility

CraftBukkit and Vanilla Minecraft servers are not supported. If you are using them, switch to Paper or Spigot.
Paper is recommended because of its optimisations. It also supports Bukkit and Spigot plugins.

Forge is supported, but securing it properly isn't possible. Anyone can directly join your Forge server with any name and grief it, as it doesn't support any security plugin that we have to use!
If you do decide to add Forge your server network, use Waterfall or Velocity as they offer better mod support.

Hybrid server software (Forge + Bukkit/Spigot/Paper, like Magma, Mohist and Uranium) are supported. Again, Waterfall and Velocity proxy servers are recommended when using these types of server software because they offer better Mod support compared to BungeeCord.

Fabric is supported as well, with Bukkit for Fabric mod so you can install plugins to secure it.

What are our options?

When it comes to Proxy servers for Minecraft, we have a few choices.

🔌 BungeeCord

BungeeCord is a proxy server made by the SpigotMC team, the guys behind Spigot server software. It also has plugin support, so it's super customizable!

🌊 Waterfall

Waterfall is a high-performance fork1 of BungeeCord. It is made by PaperMC, team whos creation is also Paper server software. It adds a lot of fixes to BungeeCord and improves Forge support. It also supports all of BungeeCord plugins.
Due to performance optimizations and fixes, I recommend using Waterfall over BungeeCord.

⛰️ Travertine

Travertine is a version Waterfall with added support for Minecraft 1.7.10.
If you want to allow 1.7.10 players to join your server network, Travertine is for you!

☄️ Velocity

Velocity is a new Minecraft server proxy build with enhanced server support and scalability. It enforces security by default and has plugin support.
It does not support BungeeCord plugins, rather Velocity plugins that can be downloaded on VelocityPowered Forums.

Notes

We will be exploring Waterfall and Velocity Proxy servers for Minecraft.
There is no need to cover BungeeCord as Waterfall is an improved version of it. I recommend using Waterfall over BungeeCord. Setup is the same however.
Because Travertine is a version of Waterfall, its configuration is the same as Waterfall's.

Latest versions of all Proxy servers mentioned here support players and servers of version 1.8.x and above.
Travertine also supports 1.7.10.

Versions that player can join with depend on versions of underlining Backend servers in network. To allow players on older or newer versions to join network, read Protocol Hack wiki page.

Before we start...

Make sure you already have 3 or more servers. Remember, you can team up with your friends and exchange servers access by making each other Subusers.
Decide what server is going to be Proxy server and make sure to delete all of its files if you previously have started it.
These are the servers that I will be using during this section. I suggest that you also name your servers accordingly to their game mode and type.

!

Now choose Waterfall or Velocity by clicking on their links for setup process.
You can't go wrong with Waterfall! It is more mature and has a wider selection of plugins.


  1. In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software.