minecraft-Server mit Linux starten und stoppen

Werbung:

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

[code]
#!/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
#You might need to adjust the minRAM and maxRAM too.
#
#http://www.statt-porn.de
#
#Insert path to minecraft_server.jar here
DIR=/home/minecraft
#Insert max. RAM you want Minecraft to use
MAX=2048M

#Insert min. RAM you want Minecraft to use
MIN=768M

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 -Xms$MIN -Xmx$MAX -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-alln‘
echo „*** Sending message to players, that server will shutdown in 30 sec“
screen -S minecraft -X stuff $’say Server will shut down in 30 secn‘
echo „*** Message sent. Wait 30 sec …“
sleep 30
echo „“
echo „*** Stopping“ $is_it_running „now.“
screen -S minecraft -X stuff $’stopn‘

#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
[/code]

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:
[code]
ln -s /etc/init.d/minecraft /etc/rc2.d/S99minecraft
[/code]

Möchte man den MineCraft.Server auch sauber herunterfahren, wenn der Wirt-Server heruntergefahren wird, geht man ähnlich zu obiger Anleitung vor:
[code]
ln -s /etc/init.d/minecraft /etc/rc0.d/K99minecraft
[/code]

Zu Guter Letzt kann man noch einen Hardlink nach /usr/bin setzen, damit man überall mit „minecraft start|stop“ den Server starten/stoppen kann
[code]
ln /etc/init.d/minecraft /usr/bin
[/code]

Das sollte es eigtl. gewesen sein :)
Fragen? Anregungen? Kritik? Her damit!

The following two tabs change content below.
Jan B-Punkt

Jan B-Punkt

CEO, bitch!
Ich bin Jan, der Hauptakteur bei janbpunkt.de. Naja, eigtl. bin ich sogar der einzige Schreiberling hier. 1980 in Eckernförde geboren, lebe ich aktuell mit meiner Frau in Kiel und habe Spaß an Technik, Gadgets und dem Internet. Außerdem fotografiere und zocke ich gern. Verständlich, dass die meisten Artikel sich daher auf eben jene Themen beziehen.
Jan B-Punkt

Neueste Artikel von Jan B-Punkt (alle ansehen)

Hinterlasse einen Kommentar

3 Kommentare auf "minecraft-Server mit Linux starten und stoppen"

Benachrichtige mich zu:
avatar
Sortiert nach:   neuste | älteste | beste Bewertung
trackback

[…] ja durch einen vorangegangenen Post bekannt sein dürfte, betreibe ich einen kleinen MineCraft-Server auf meinem […]

tehCrush
Gast

Nette sache an sich. Bau noch eine restart) option ein, mach ne vernünftige init info und setz das ganze in die rc6, dann funzt das ganze auch bei einem simplen restart. mit der richtigen init info kannst du dir die rc*d kopien auch einfach ersparen. musst halt nur rc-d updaten, geht aber einfacher als das rumkopiere

Jan Beuth
Gast

Dein Kommentar ist wohl irgendwie im Spamfolder gelandet :-/
Irgendwann soll die Kiste auch mal ein "echte" init bekommen. Hab ich beim TS ja auch gemacht. Aber da mein Server eh nur alle Jubeljahre neugestartet wird, stört es mich derzeit nicht weiter :)

wpDiscuz
Oh, Du willst schon weiter?
Vielleicht hast Du ja Lust, über weitere Beiträge, die hier erscheinen, informiert zu werden?

Unten stehen Dir dazu verschiedene Optionen zur Verfügung.

Wir sehen uns :)
Am Newsletter anmelden:
Seite empfehlen:
Jan B-Punkt folgen:
Dieses Popup taucht nur 1x pro Sitzung auf und kann über die X oder ESC geschlossen werden.
Blog abonnieren
Blog abonnieren
Vielen Dank. Ruf bitte jetzt Deine Mails ab, um den Newsletter-Empfang zu bestätigen.
Lesen Sie den vorherigen Eintrag:
Dienst mit Cronjob überwachen und neustarten

Heute haben mein Bruder und ich uns darüber unterhalten, dass es nervig ist, wenn der Teamspeak³-Server ausfällt und es keiner...

Schließen