MinetestEDU/de/Installation of Minetest auf einem Linux-Server

From Minetest Wiki
< MinetestEDU‎ | de
Revision as of 11:20, 26 July 2019 by Twoelk (talk | contribs) (cat)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Natürlich kann man auch einen Windows-Server für einen Minetest-Server nutzen, aber da für Linux-Betriebssysteme keine Gebühr anfällt, sollte eine Linux-Distribution eine sinnvolle Wahl sein, wenn man einen vServer im Internet mieten will.

WICHTIG: Die Reihenfolge, unten denen die Anleitung hier erscheinen, stellen keine Empfehlung dar, sondern ergaben sich aus der Reihenfolge, wie Autoren, ihre Anleitungen hier eingefügt haben.

OpenSuse

Warum OpenSuse?

Nun ja, ein Grund könnte sein, dass OpenSuse als Desktop-Betriebssystem seit einigen Jahren bekannt ist. Daher kennen Nutzer von OpenSuse auf dem heimischen PC die üblichen Befehlen und Problemen einigermaßen gut aus. Auch Windows-Nutzer können sich einen OpenSuse-Server mieten. Einfacher oder komplizierter wird es mit den anderen Linux-Betriebssytemen auch nicht.

Per ssh sicher auf den Server

Der übliche „Weg“, um auf dem Server etwas zu machen, ist über die Konsole mit ssh. Die Konsole öffnet man bei sich auf dem Heimrechner (gibt es bei unter OpenSuse natürlich!) und nimmt die vom Server-Betreiber und -Vermieter gelieferten Zugangsdaten. Das sind im wesentlichen die IP-Adresse des Server (im IP4-Format) und das Passwort für den root-Zugriff.

Übersetzung: Die Konsole ist das Gegenteil zu einer grafischen Benutzeroberfläche. Statt etwas anzuklicken muss man einen Textbefehl eintippen. Die Übertragung von Textbefehlen ist einfacher, als eine grafische Oberfläche zu übertragen. Daher ist die Konsolen-Bedienung schnell und effektiv.
Übersetzung: Der Benutzer „root“ ist auf Linux sozusagen der Ober-Boss des Systems. Man meldet sich als root nur an, wenn man etwas im System erledigen will und nutzt für die alltägliche Arbeit einen anderen Account.

Windows-Nutzer müssen sich ein Konsolenprogramm installieren, wie zum Beispiel Putty.

Übersetzung: Secure Shell oder SSH bezeichnet sowohl ein Netzwerkprotokoll als auch entsprechende Programme, mit deren Hilfe man auf eine sichere Art und Weise eine verschlüsselte Netzwerkverbindung mit einem entfernten Gerät herstellen kann.

Man kommt auf den Server mit diesem Befehl drauf, wo statt IP_ADRESSE natürlich die vier Gruppen von Zahlen stehen müssen, die man vom Server-Vermieter erhalten hat.

ssh root@IP_ADRESSE
Übersetzung: „ssh“ ist der Befehl, mit dem man die Verbindung startet. „root“ ist der Benutzername, als den man sich „auf“ (@ = at) dem Rechner im Internet mit der genannten „IP_ADRESSE“ anmeldet.

Nach der Eingabe des Befehls muss man das Passwort angeben, um nachzuweisen, dass man auf den Server drauf darf. Außerdem gibt es meist zu Beginn, wenn man das erste Mal den Server von der Konsole aus besucht, einen Hinweis bezüglich der Verschlüsselung, für die ohne weiteres Zutun ein Schlüssel erzeugt wird. Man muss nur zustimmen. Bei weiteren Besuchen vom gleichen PC, kommt diese Abfrage nicht mehr.

Da die zufällig erzeugten Passwörter meist schön sicher aber dementsprechend kompliziert sind, sollte man möglichst bald ein eigenes Passwort einstellen, dass natürlich sicher sein sollte, damit es nicht per Zufall herausgefunden wird. Dazu gibt man in der Konsole, nach der Anmeldung auf dem Server folgendes ein:

passwd

… und anschließend wird man nach dem neuen Passwort gefragt.

Minetest installieren

Das installierte OpenSuse-System enthält nur die wichtigsten Programme. Minetest ist noch nicht enthalten und auch die Installation ist nicht direkt möglich. Grund dafür ist, dass üblicherweise (erst Recht für einen Server) das Repository = Software-verzeichnis nicht eingebunden ist, das Minetest enthält.

Übersetzung: Bei Linux ist die Installation über Pakete geregelt, die auch Informationen enthalten, von welchen anderen Programmen eine Software abhängig ist. Dabei bindet man das Betriebssystem meist an Softwareverzeichnisse an (die Repositorys), in denen die Software auch regelmäßig erneuert wird. Über das Repository bekommt man auch Software angeboten, die nicht direkt zum Betriebssystem gehört. Es gibt einige Quellen, die solche Software-Verzeichnisse anbieten und damit eine Art Service leisten, immer die aktuellste Version einer Auswahl von Programmen zu erstellen. Dazu gehört das Übersetzen (Kompilieren) der Programm-Quelldateien (die die Entwickler erstellen) passend zu dem jeweiligen Betriebssystem. Und dank der klar festgelegten Abhängigkeiten bekommt man meist auch alle notwendigen Programme mitinstalliert. Organisiert wird das alles über einen Paketmanager, der bei OpenSuse Zypper heißt.
Um Minetest zu installieren muss man also erst einmal das Repository in den Paketmanager einbinden, dass Minetest für das aktuelle Betriebssystem anbietet.

Um Minetest zu installieren muss man also erst einmal das Repository in den Paketmanager einbinden, dass Minetest für das aktuelle Betriebssystem anbietet.

zypper addrepo ???

Wenn man nicht sicher, wie das zu installierende Programmpaket heißt, kann man in den eingebundenen Repositorys nachschauen, indem man nach einem bekannte Teil des Begriffes suchen lässt.

zypper search minetest

??? … was noch ... ???

Zum Test, ob das Programm Minetest generell läuft, könnte man einmal Minetest starten, indem man einfach eingibt:

minetest

Es folgt eine Ausgabe von einigen Informationen, aber „natürlich“ wird nicht die Oberfläche von Minetest gestartet, denn man ist ja nur per ssh auf dem Server-Rechner und dabei wird keine grafische Oberfläche übertragen.

Die weitere Einrichtung

Wenn Minetest prinzipiell läuft gilt es nun noch folgendes vorzunehmen:

  • eine eventuell schon vorhandene und vorbereitete Welt auf den Server kopieren
  • alle notwendigen Mods kopieren und installieren
  • den Server mit der gewünschten Welt starten

Die Informationen dazu werden auf Unterseiten beschrieben, da diese unabhängig von der auf dem Server installieren Linux-Distribution sind. Gehen Sie bitte dazu wieder auf die Hauptseite zurück!

Debian

Warum Debian?

Debian in ein weit verbreitetes Linux-Betriebssystem, das eigentlich immer von vServer-Anbieter zur Verfügung gestellt wird. Außerdem gibt es viele Varianen von Linux-Distributionen, die von Debian abgeleitet sind und somit gelten die Anweisungen hier auch für diese Abwandlungen.

Die hier genannten Anweisungen gelten auch für das den RaspberryPi, wenn man das dort verbreitete Raspian nutzt. Ein Nachteil bei Debian ist die Tatsache ist, dass die Entwickler oft nicht die aktuellsten Pakete auch in die neueste Distribution einfügen, da aus Sicherheitsgründen eher die älteren bevorzugt werden. Das gilt vor allem für Anwendungsprogramme, wie auch Minetest.

Prinzipiell ist das Herunterladen und Compilieren bereits in der README auf GitHub erklärt. https://github.com/minetest/minetest/blob/master/README.md Nachfolgend ist aber nochmals aufgeführt, wie man dies alles durchführen kann. Die ursprüngliche Anleitung stammte von Raspian (Jessie).

Per SSH auf dem Server

Wie vorher beschrieben, muss man sich per SSH auf den vServer im Internet anmelden.

Abhängigkeiten

Zunächst sind die Abhängigkeiten zum Compilieren wie folgt zu installieren:

sudo apt-get install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev

Herunterladen

Den Minetest Quellcode kann man auf verschiedene Arten herunterladen. Nachfolgend wird die Methode über git erklärt. In diesem Fall wird mittels der git Option "--branch stable-0.4" der Quellcode von der Version "0.4.x stable" ohne Versionsgeschichte ("--depth 1") heruntergeladen.

Den eigentlichen Minetest Quellcode abrufen:

git clone --branch stable-0.4 --depth 1 https://github.com/minetest/minetest.git

In das erstellte Verzeichnis wechseln:

cd minetest/

Dasselbe für das standardmässig mitgelieferte "Minetest Game":

git clone --branch stable-0.4 --depth 1 https://github.com/minetest/minetest_game.git games/minetest_game

Dabei wird ein Unterverzeichnis erzeugt, in dem die Dateien des Minetest-Games liegen. Da es sich nur um Script-Dateien handelt, müssen diese nicht kompiliert werden, sondern können nach dem Kompilieren des Minetest-Programmsan die richtige Stelle kopiert werden.

Kompilieren

Anschließend festlegen was gebaut werden soll. In diesem Fall mit dem Minetest Server als Release-Version:

cmake . -DRUN_IN_PLACE=TRUE -DBUILD_SERVER=TRUE -DCMAKE_BUILD_TYPE="Release"

Das ganze dann schließlich kompilieren, was einige Zeit in Anspruch nimmt. Die Option "-j 4" legt fest, dass auf vier Prozessorkernen gleichzeitig kompiliert wird, was für den Raspberry 2 oder 3 Sinn ergibt:

make -j 4

Sollte alles fehlerfrei durchgelaufen sein, befindet sich der fertig compilierte Minetest Server und Client im Unterverzeichnis bin.

Starten

Nach Betreten des Verzeichnisses "bin/" kann der Server wie folgt gestartet werden:

./minetestserver