Nachdem ich nun auch dem MineCraft-Fieber verfallen bin, habe ich mich dran gemacht und einen Server aufgesetzt.
Da es sich hierbei um eine Java-Geschichte handelt und das starten mittels ‘screen’ manchmal mehr als nervig ist, habe ich mir ein sehr einfaches start-stop-Script gebaut, welches ich hier vorstellen möchte
Schwupps, da ist’s auch schon…
Wir legen folgende Datei an und ändern die Pfade entsprechend:
sudo vi /etc/init.d/minecraft
#!/bin/bash
#
#Script for easy starting and stopping a minecraft-server
#Just replace the path on Line 10 with your path to the minecraft_server.jar
#
#http://www.statt-porn.de
#
#Insert path to minecraft_server.jar here
DIR=/home/minecraft
echo ""
echo ""
case "$1" in
start)
#check if there is a screen called "minecraft"
is_it_running=`screen -ls | grep minecraft`
if [ "$is_it_running" != "" ]
then
echo "*** There is already a screen called 'minecraft' running. Aborting!"
else
echo "*** Starting minecraft-Server on screen 'minecraft'"
cd $DIR
screen -L -A -m -d -S minecraft java -Xms256M -Xmx1024M -jar minecraft_server.jar nogui
#check if it is running now
status=`screen -ls | grep minecraft`
if [ "$status" == "" ]
then
echo "*** Starting failed!"
else
echo "*** Server started successfully!"
echo "*** You may now connect to console via 'screen -r minecraft'"
echo $status
fi
fi
echo ""
echo ""
;;
stop)
echo "*** Looking for running minecraft-Server via 'screen'"
#check if there is a screen called "minecraft"
is_it_running=`screen -ls | grep minecraft`
if [ "$is_it_running" != "" ]
then
echo "*** Running minecraft-Server found:" $is_it_running
echo "*** Saving chunks with 'save-all'"
screen -S minecraft -X stuff $'save-all\n'
echo "*** Sending message to players, that server will shutdown in 30 sec"
screen -S minecraft -X stuff $'say Server will shut down in 30 sec\n'
echo "*** Message sent. Wait 30 sec ..."
sleep 30
echo ""
echo "*** Stopping" $is_it_running "now."
screen -S minecraft -X stuff $'stop\n'
#wait a while and then test if screen is there
sleep 5
status_off=`screen -ls | grep minecraft`
if [ "$status_off" == "" ]
then
echo "*** minecraft-Server stopped!" $status_off
else
echo "*** Something went wrong!" $status_off
fi
else
echo "*** No screen called 'minecraft' found. Is server really running?"
fi
echo ""
echo ""
;;
*)
echo $"*** Usage: $0 {start|stop}"
exit 1
esac
Man kann dieses Script auch nutzen, um den MineCraft-Server starten zu lassen, wenn der Wirt-Server mal neugestartet wird.
Einfach entsprechend nach rc2.d linken:
ln -s /etc/init.d/minecraft /etc/rc2.d/S99minecraft
Möchte man den MineCraft.Server auch sauber herunterfahren, wenn der Wirt-Server heruntergefahren wird, geht man ähnlich zu obiger Anleitung vor:
ln -s /etc/init.d/minecraft /etc/rc0.d/K99minecraft
Zu Guter Letzt kann man noch einen Hardlink nach /usr/bin setzen, damit man überall mit “minecraft start|stop” den Server starten/stoppen kann
ln /etc/init.d/minecraft /usr/bin
Das sollte es eigtl. gewesen sein ![]()
Fragen? Anregungen? Kritik? Her damit!

Schreib einen Kommentar