Installing BungeeCord for Minecraft on CentOS 6/7
BungeeCord is a free, easy, and reliable way to connect multiple Minecraft servers together. If you would like to string multiple game modes together on your server, BungeeCord is the right solution for you. Learn more about it on the official site.
Requirements
- CentOS 6/7 x86/x64
- Minimum 512MB of RAM
- Java 7+
- Screen (optional)
Installation
First of all, you will need to login to your server.
Download the latest version from their website.
mkdir BungeeCordcd BungeeCordwget http://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar
Start BungeeCoord with Java:
cd ~cd BungeeCordjava -Xms512M -Xmx512M -jar BungeeCord.jar
… or with Screen:
cd ~cd BungeeCordscreen -S BungeeCordscreen -r BungeeCord[user@ ~screen]$ java -Xms512M -Xmx512M -jar BungeeCord.jar
BungeeCord is setup at this point. You can use the init script below to have it run on boot and perform service commands against it.
(Optional) Init script
Create an init.d script.
nano /etc/init.d/BungeeCord
Copy and paste the init script below. Edit the MCPATH='/root/BungeeCord'
to the proper install path.
#!/bin/bash # /etc/init.d/BungeeCord # version 0.3.9 2012-08-13 (YYYY-MM-DD) ### BEGIN INIT INFO # Provides: BungeeCord # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Should-Start: $network # Should-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: BungeeCord # Description: BungeeCord ### END INIT INFO #Settings SERVICE='BungeeCord.jar' USERNAME='root' MCPATH='/root/BungeeCord' INVOCATION="java -server -Xmx512M -Dfile.encoding=UTF-8 -jar $SERVICE" ME=`whoami` as_user() { if [ $ME = $USERNAME ] ; then bash -c "$1" else su - $USERNAME -c "$1" fi } mc_start() { if pgrep -u $USERNAME -f $SERVICE > /dev/null then echo "$SERVICE is already running!" else echo "Starting $SERVICE..." cd $MCPATH as_user "cd $MCPATH && screen -dmS BungeeCord $INVOCATION" sleep 7 if pgrep -u $USERNAME -f $SERVICE > /dev/null then echo "$SERVICE is now running." else echo "Error! Could not start $SERVICE!" fi fi } mc_stop() { if pgrep -u $USERNAME -f $SERVICE > /dev/null then echo "Stopping $SERVICE" as_user "screen -p 0 -S BungeeCord -X eval 'stuff /"alert PROXY STOP IN 10 SECONDS./"/015'" sleep 10 as_user "screen -p 0 -S BungeeCord -X eval 'stuff /"end/"/015'" sleep 7 else echo "$SERVICE was not running." fi if pgrep -u $USERNAME -f $SERVICE > /dev/null then echo "Error! $SERVICE could not be stopped." else echo "$SERVICE is stopped." fi } mc_update() { if pgrep -u $USERNAME -f $SERVICE > /dev/null then echo "Stopping $SERVICE" as_user "screen -p 0 -S BungeeCord -X eval 'stuff /"say Proxy SERVER GO TO UPDATE.. RESTARTING IN 10 SECONDS.... /"/015'" sleep 10 as_user "screen -p 0 -S BungeeCord -X eval 'stuff /"stop/"/015'" sleep 10 as_user "cd $MCPATH && rm -rf BungeeCord.jar" sleep 6 as_user "cd $MCPATH && wget http://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar" else echo "$SERVICE was not running." fi if pgrep -u $USERNAME -f $SERVICE > /dev/null then echo "Error! $SERVICE could not be UPDATED." else echo "$SERVICE is update." fi } #Start-Stop here case "$1" in start) mc_fupdate mc_start ;; stop) mc_stop ;; restart) mc_stop mc_fupdate mc_start ;; update) mc_update mc_start ;; status) if pgrep -u $USERNAME -f $SERVICE > /dev/null then echo "$SERVICE is running." else echo "$SERVICE is not running." fi ;; *) echo "Usage: $0 {start|stop|update|status|restart}" exit 1 ;; esac exit 0
Register the service.
chmod a+x /etc/init.d/BungeeCordchkconfig --add BungeeCord
You’re all set, you can use the following commands to control the service.
service BungeeCord startservice BungeeCord stopservice BungeeCord restartservice BungeeCord updateservice BungeeCord status
Want to contribute?
You could earn up to $300 by adding new articles
Suggest an update
Request an article
Leave a Comment