Minecraft

25. Oktober 2013

Da ich mehrfach das Problem mit dem Start Stop Script hatte, dachte ich mir das ganze richtig in eine init. zu setzten. [sourcecode lang=”bash”] sudo vim /etc/init.d/minecraft #!/bin/bash #Directory of Minecraft DIR=/home/minecraft #Your Max. RAM for Minecraft MAX=2048M #Your Min. RAM for Minecraft MIN=768M #File because Bukkit or Minecraft CRAFT=minecraft_server.jar echo "\n" case "$1" in […]

Minecraft
Da ich mehrfach das Problem mit dem Start Stop Script hatte, dachte ich mir das ganze richtig in eine init. zu setzten. [sourcecode lang="bash"] sudo vim /etc/init.d/minecraft #!/bin/bash #Directory of Minecraft DIR=/home/minecraft #Your Max. RAM for Minecraft MAX=2048M #Your Min. RAM for Minecraft MIN=768M #File because Bukkit or Minecraft CRAFT=minecraft_server.jar echo "\n" case "$1" in start) 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 -Xms$MIN -Xmx$MAX -jar $CRAFT nogui 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 "\n";; stop) echo "*** Looking for running minecraft-Server via 'screen'" 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' 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 "\n";; restart) $0 stop sleep 3 $0 start ;; *) echo $"*** Usage: $0 {start|restart|stop}" exit 1 esac [/sourcecode] Wenn der Host neustartet, hat man zwar nicht mehr das Problem das man sich den Befehl merken muss, jedoch muss man den Befehl noch ausführen. Auf meinem Server läuft soviel, das ich dies gerne mal vergesse, daher kann man das ganze auch noch in den Autostart verlegen. Einfach entsprechend nach rc2.d linken: [sourcecode lang="bash"] ln -s /etc/init.d/minecraft /etc/rc2.d/$USER [/sourcecode] Wenn man nun den Server noch herunterfährt, killt er das Spiel einfach, das wollen wir natürlich nicht und er soll ordentlich herunterfahren, damit man auch alles gespeichert hat. [sourcecode lang="bash"] ln -s /etc/init.d/minecraft /etc/rc0.d/$USER [/sourcecode] Wenn man den Befehl von überall aus nutzen möchte, muss man noch einen Hardlink setzten. [sourcecode lang="bash"] ln /etc/init.d/minecraft /usr/bin [/sourcecode] Achso, bash neuladen nicht vergessen, einfach neu einloggen oder bash eingeben. :) Ich denke das war alles, sofern es Verbesserungsvorschläge gibt, würde ich mich über ein Feedback freuen. :) Fragen? Anregungen? Kritik? Her damit!

Kommentare

Kommentare werden geladen...

Weitere Beiträge