Multiple Minecraft Java Edition servers can be linked in a network using a Proxy server, such as BungeeCord, Waterfall, or Velocity. Since creating a network involves a number of Minecraft servers that have to be connected securely, it is generally a lot more complicated than just creating a single Minecraft server.
Please read the entire article or your network might not work properly or could be attacked by malicious players.
Creating a proxy server
As proxy server software on exaroton, you can choose from BungeeCord, Waterfall, and Velocity, each of which can be installed on the Software page.
Proxy servers usually need fewer resources than actual Minecraft servers. Therefore, you can set your server's RAM as low as 1 GB if a proxy software is used.
After installing a proxy software, you will have access to some basic configuration options on the Options page.
More advanced options can be accessed in the config file of the used proxy software.
If you use BungeeCord/Waterfall, the config file is called
Preparing your game servers
On server networks running behind a proxy, authentication of Mojang/Minecraft accounts is handled by the proxy and can't be handled by the individual game servers. You have to disable the
online-mode option (enable the "Cracked" option) on the options page of every server that you want to add to your network. This opens the possibility for malicious players to directly connect to the game server using any username. You have to properly secure your server, read the section below for more information.
It is highly recommended to use Paper as server software for each game server on your network, even if you only want to play survival. On your Paper server, you have to enable the
bungeecord option in the spigot.yml file even if you are using Waterfall or Velocity without the modern forwarding (more info below).
Securing your servers
To make sure that only your proxy server can be used to connect to servers in your network, it is vital that you secure your servers properly. To help you accomplish that, every proxy software on exaroton comes with BungeeGuard preinstalled and preconfigured. On BungeeCord and Waterfall, BungeeGuard is installed as a plugin, on Velocity, BungeeGuard is a built-in feature.
It is, however, required that you manually install and configure BungeeGuard on all Minecraft servers you want to use in your network.
- Install PaperMC on your Minecraft server (Spigot is not supported)
- Install the BungeeGuard plugin
- Find your BungeeGuard forwarding secret on your proxy server
- When using Velocity, you can find your secret on the Options page
- When using BungeeCord or Waterfall, you can find the secret in your BungeeGuard token.yml file.
- Add your secret to the BungeeGuard config.yml file on the server that you want to add to your network
# BungeeGuard Configuration # Allowed authentication tokens. allowed-tokens: - "0BeXPF6xSUHHp7ibx2hZHsAmkYO6mye8Q95qMbG5TdbAzI1fLkFpZBzdrRXzRPGq"
Modern Velocity forwarding
If you are using Velocity as your proxy and PaperMC 1.13+ for your Minecraft servers, you can use the modern Velocity forwarding mode instead of BungeeGuard.
- Change the
Player forwarding modein your Velocity server options to
- Make sure
bungeecordis disabled in your spigot.yml file
velocity-supportin your paper.yml file and insert your forwarding secret
- Enable cracked mode on your PaperMC server (player authentication is handled by your proxy server)
Modern Velocity forwarding can also be used with Fabric servers by using the FabricProxy-Lite mod.
Adding game servers to your network
You can add a server to your proxy by adding it to the proxies' config. Since exaroton servers are designed to start/stop dynamically, but proxies can't send you to a server that is offline, we automatically install the exaroton plugin on your proxy server.
This plugin automatically updates the servers specified in the config and adds them to your proxy, when they are started. Please note that this only works if you use the exaroton.me address of the server in the proxy config.
On BungeeCord or Waterfall you can add servers in the config.yml file:
You can configure which server new players should connect to using the
priorities list in the config file. Please note that one of these servers has to be online to allow players to connect.
Read more about the BungeeCord config file here: https://www.spigotmc.org/wiki/bungeecord-configuration-guide/
You can see the list of servers and switch servers using the
On Velocity you can add servers in the velocity.toml file:
lobby = "lobby.exaroton.me"
example = "example.exaroton.me"
try = ["lobby"]
try list specifies the default servers for new players. You can read more about the Velocity config file here: https://docs.velocitypowered.com/en/latest/users/configuration.html
You can see the list of servers and switch servers using the
Using the exaroton plugin
You can also start and stop servers using that plugin, so they will automatically be added to/removed from the proxy. To do this, use the commands:
/exaroton start <server>
/exaroton restart <server>
/exaroton stop <server>
You can also explicitly add/remove servers without starting them. The plugin will start watching them and add them when they are online. Those changes are only temporary until the next proxy restart, use the config files to permanently add/remove servers.
/exaroton add <server>
/exaroton remove <server>
To get access to these commands, you need the permissions
exaroton.stop. On BungeeCord and Waterfall this can be done in the config:
You can add yourself or other players as admins in the config as well:
PlayerName: # <- Enter your Minecraft name here
On Velocity you need a permission plugin like LuckPerms on the proxy. You can get the permissions by running this command in the console of your proxy:
/lpv user <PlayerName> permission set exaroton.*
Additionally, you can configure the plugin to automatically start specific servers when the proxy starts. To do so, set auto-start → enabled to true and add your servers to the list in auto-start → servers.
# Automatically start servers when the proxy starts
Since the plugin needs access to the API to watch/start/stop your server, we automatically add your API token to the plugins' config when installing a proxy software.