BungeeCord
BungeeCord is a proxy server that sits between the Minecraft client and server that allows players on a server to easily transfer between worlds (regardless of whether the world is running on vanilla, Forge, SpigotMC, etc). The setup for BungeeCord can be rather complex. To fully understand the configuration options available, visit the BungeeCord Configuration Guide.
Although BungeeCord is not a normal Minecraft server, MSCS is able to control the server as if it were with a little work. Lets start by creating a fake world named lobby
on the default port of 25565
.
mscs create lobby 25565
lobby
can be replaced with any name. Ensure that port 25565
is an unused port, or change it if nessessary.
Change the directory to the world that was created:
cd /opt/mscs/worlds/lobby
This will create the directory lobby
in /opt/mscs/worlds
as well as the server.properties
and mscs.properties
files:
server.properties
is not needed for this server. Delete this file.
rm server.properties
Modify the mscs.properties
file and add/alter these lines:
mscs-enabled=true
mscs-server-jar=BungeeCord.jar
mscs-server-url=
mscs-initial-memory=512M
mscs-maximum-memory=512M
Create a config.yml
file that will apply for the worlds on this server. For example: alpha
and beta
on ports 25566
and 25567
respectively. Note, change the name of the admin from username
to the Minecraft player name that will be administering BungeeCord.
groups:
username:
- admin
disabled_commands:
- disabledcommandhere
player_limit: -1
permissions:
default:
- bungeecord.command.server
- bungeecord.command.list
admin:
- bungeecord.command.alert
- bungeecord.command.end
- bungeecord.command.ip
- bungeecord.command.reload
listeners:
- max_players: 20
fallback_server: alpha
host: 0.0.0.0:25565
bind_local_address: true
ping_passthrough: false
tab_list: GLOBAL_PING
default_server: alpha
tab_size: 20
force_default_server: false
motd: 'Message of the day'
query_enabled: true
query_port: 25565
timeout: 30000
connection_throttle: 4000
servers:
alpha:
address: localhost:25566
restricted: false
motd: '&1Alpha MOTD'
beta:
address: localhost:25567
restricted: false
motd: '&2Beta MOTD'
ip_forward: false
online_mode: true
Change to the /opt/mscs/server/
directory, download the BungeeCord server jar BungeeCord.jar
, and run the following as the minecraft
user (sudo su minecraft
):
cd /opt/mscs/server
wget http://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar
Create the two worlds alpha
and beta
. Since both worlds will only be accessed locally by the BungeeCord proxy server, use the optional ip
argument for the create
function to limit access to localhost:
mscs create alpha 25566 127.0.0.1
mscs create beta 25567 127.0.0.1
Start the worlds to set themselves up:
mscs start alpha
mscs start beta
If the servers fail to start, the eula.txt
file may need to be edited and accepted:
editor /opt/mscs/worlds/alpha/eula.txt
editor /opt/mscs/worlds/beta/eula.txt
BungeeCord requires that the world servers be in offline mode. BungeeCord handles authentication as long as online_mode
is set to true
in config.yml
like the example above. To do this, edit the server.properties
file for the alpha
and beta
worlds and change the values of online-mode
in both files to false
.
editor /opt/mscs/worlds/alpha/server.properties
editor /opt/mscs/worlds/beta/server.properties
Finally, if everything is correctly setup, we can start the worlds:
mscs start lobby
mscs start alpha
mscs start beta