Minecraft Server Status Checker

Auf der Suche nach einem kleinen Tool, um zu testen ob ein Minecraft-Server ordnungsgemäß läuft, bin ich auf den Minecraft Server Status Checker gestoßen. Er überprüft ob der Server erreichbar ist und liefert einige weitere Informationen wie z.B. die aktuelle Spieleranzahl. Zu finden ist der Check auf der Webseite des ehemaligen Minecraft-Entwickler Nathan Adams.

dinnerbone.com/minecraft/tools/status/

dinnerbone.com/minecraft/tools/status/

Der Minecraft Server Status Checker ist dabei freie Software dessen Quelltext auf GitHub zu finden ist. Als Lizenz wurde die Apache Licence gewählt.

Screen-Session wieder aufnehmen

Wenn man unter Linux eine Session mittels screen gestartet hat und diese später wieder aufrufen möchte, so nutzt man den Befehl:

screen -r

Unter bestimmten Bedingungen kann es vorkommen, das die Sitzung noch gebunden ist. Auf der Konsole würde das dann wie folgt aussehen:

# screen -r

There is a screen on:
	29711.ubuntu-release-upgrade-screen-window	(05/05/2016 04:09:56 PM)	(Attached)
There is no screen to be resumed matching 29711.ubuntu-release-upgrade-screen-window.

Vorkommen kann so etwas z.B. wenn man die SSH-Verbindung während einer Screen-Sitzung verliert. Damit man diese Screen-Sitzung wieder aufnehmen kann, muss die bestehende Bindung zuerst wieder gelöst werden. Dazu gibt es das Kommando:

screen -d

welches die Bindung löst. Bei mehreren offenen Sitzungen muss zusätzlich die ID der Sitzung angegeben werden. Anschließend kann die Sitzung wieder mittels:

screen -r

aufgenommen werden.

do-release-upgrade findet keine neue Version

Wenn man auf einem Ubuntu-Server:

do-release-upgrade

eingibt so wird auf die aktuelle Version (je nachdem welche Einstellungen man in der Datei /etc/update-manager/release-upgrades getätigt hat) aktualisiert. Allerdings kann es bei LTS-Releases vorkommen das man stattdessen die Meldung:

Checking for a new Ubuntu release
No new release found

Der Grund hierfür ist, das man bei einem LTS Release erst mit dem ersten Pointrelease, also z.B. 16.04.1 upgraden kann. Damit soll Fehlern vorgebeugt werden, welche in der ersten Release-Version noch vorhanden sein könnten. Möchte man auf dem entsprechenden Gerät trotzdem die aktuelle Version installieren so muss man den Parameter -p nutzen:

do-release-upgrade -p

Damit wird das versucht das aktuelle Release zu installieren, was von LTS zu LTS Version dazu führt das die aktuelle LTS Version installiert wird auch wenn kein Pointrelease verfügbar ist.

Probleme mit dem Init-Script von Gogs

Vor ein paar Tagen schrieb ich in einem Artikel wie man Gogs (einen Git-Service) auf einem Ubuntu-Server aufsetzt. Das aktuelle Release v0.6.15 wird dabei mit einem Init-Script für Debian mitgeliefert. Dieses Skript funktioniert allerdings nicht wie gewünscht.

Die Änderung welche das Init-Script wieder repariert

Die Änderung welche das Init-Script wieder repariert

Wenn man das Skript mittels:

service gogs start

ausführt wird Gogs angeblich gestartet. Allerdings zeigt:

service gogs status

das dies nicht der Fall ist. Das Problem am Init-Skript ist die nicht gesetzte USER-Variable. Mit der aktuellen Version des Skriptes funktioniert der Start von Gogs über service wieder ohne Probleme.

Gogs unter Linux betreiben

Möchte man Git-Repositories auf einem Ubuntu-Server hosten, so ist das schnell erledigt. Wenn etwas mehr Komfort aller GitHub gewünscht ist, so sollte man sich Gogs anschauen. Gogs steht dabei für Go Git Service. Wie der Name andeutet handelt es sich um einen komplett in Go geschriebenden Git-Service. Im ersten Schritt muss Git auf dem Server installiert werden:

apt-get install git

Nachdem Git installiert ist, muss der für Gogs verwendete Nutzer angelegt und in diesen gewechselt werden:

useradd -m gogs
su gogs
cd

Danach kann das Gogs Binary heruntergeladen:

wget https://github.com/gogits/gogs/releases/download/v0.6.15/linux_amd64.zip
linux_amd64.zip
unzip linux_amd64.zip

und anschließend entpackt werden. Nachdem man mittels cd in den Ordner gogs gewechselt ist, kann gogs gestartet werden:

./gogs web

Damit wird ein Webserver auf Port 3000 gestartet. Mit dem Aufruf der passenden URL im Browser (z.B. http://example.org:3000) öffnet sich die Installationsroutine von Gogs.

Die Installationsroutine von Gogs

Die Installationsroutine von Gogs

In der Routine wird die gewünschte Datenbank eingestellt und einige weitere Punkte konfiguriert. Die Installationsroutine erstellt eine app.ini im Verzeichnis custom/conf/. Dort können die Optionen später geändert werden. Damit Gogs automatisch startet – wird der Nutzer verlassen und ein Initscript angelegt, an die Konfiguration angepasst und zu den automatisch startenden Prozessen hinzugefügt:

cp /home/gogs/scripts/init/debian/gogs /etc/init.d/gogs
nano /etc/init.d/gogs
chmod +x /etc/init.d/gogs
update-rc.d gogs defaults

Damit sollte sich der Service über:

service gogs start

starten lassen. Bei mir führt das allerdings zu dem Problem das der Service angeblich gestartet wird, aber trotzdem nicht läuft. Wird der Service manuell per:

sh -x /etc/init.d/gogs start

gestartet funktioniert er ohne Probleme – hier ist noch der entsprechende Fehler zu finden.