- Bungee (or the paper fork, Waterfall) allows us to set up a network of servers. Waterfall allows directing the players seamlessly between multiple servers, as if they are switching the world.
Builds for Waterfall are available at https://papermc.io/downloads#Waterfall
Launch and let generate the configuration files. The config.yml
file will contain the most important settings.
Waterfall - Bungee config.yml
In our case, the Waterfall proxy is set to listen on port 25565 (default Minecraft)
key determines to what server users will overflow in case that the servers are down. For example if you have server 1, 2, 3 and 4, they can be configured in the way that users arrive in server 2 if 1 is down, to 3 if 1 and 2 are down, etc. As we don't want people to join the server directly without having gone through the New Player Quiz, the only server priority here will be
This means that if the newplayer server is down or crashed, the new clients will be kicked by the proxy.
Enable ip_foward: true
in the config.yml
to allow ip forwarding (security and identity of users).
At the servers:
block we setup the servers.
It is important to note that servers that run behind the proxy must run in offline mode
and may not be accepting external connections
Adding game servers
For every game server that is being added, the following configuration must be done.
server-name=Minecraft Middle Earth
motd=\u00A76MCME \u00A7aNew Players
- Query port: convention is that we use the game server port +1
- server-name: Set to 'MCME <servername>'
- server-port : See reserved posts further down the document to determine if a port is used and for what.
- server-ip: Must be set to localhost to only listen to local connections.
- level-name: the world's name that is used on this server.
Every server has to have a unique named world across the network.
- online-mode: false
has to be set to true
Table of internally used servers/ports
Bungee - Waterfall Commands
|Server name||IP : port||Query port|
|/alert <message>||Sends an alert to all users on the network||bungeecord.command.alert|
|/alertraw <json>||Sends an alert with Minecraft json formatting||bungeecord.command.alert|
|/bungee||Shows bungee version||none|
|/end <message>||Shuts down the proxy and disconnects everyone||bungeecord.command.end|
|/find <player>||Checks if the player is online and where he is||bungeecord.command.find|
|/glist||Lists everyone connected through the proxy||bungeecord.command.list|
|/greload||Unreliable command to reload the proxy||bungeecord.command.reload|
|/ip <player>||Shows the ip the user is connected with||bungeecord.command.ip|
|/perms||Shows all permissions you have and what groups you are in for the proxy||none|
|/send <player/current/all> <target>||Sends <player/current/all> to the <target>, even if the person is on another server.||none|
|/server <server>||Transfer you to <server>||bungeecord.command.server|