Luanti in der Schule/RaspberryPi-Server anlegen und einrichten

From Luanti Wiki
Jump to navigation Jump to search

Server auf dem RaspberryPi installieren und starten

Prinzipiell ist das Herunterladen und Compilieren bereits im README auf der Minetest-Seite erklärt. https://github.com/minetest/minetest/blob/master/README.txt Nachfolgend ist aber nochmals aufgeführt wie man dies unter Raspbian (Jessie) durchführen kann.

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 des zum Zeitpunkt des Erstellens der Anleitung aktuelle Quellcode von Minetest 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/

Den Quellcode für das Basies Minetest-Spiel abrufen:

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

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 das auf vier Prozessorkernen gleichzeitig kompiliert wird, was für den Raspberry 2 oder 3 Sinn macht:

make -j 4

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

Starten

Der Server kann dann, wenn man sich im bin Verzeichnis befindet, einfach wie folgt gestartet werden:

./mintestserver

Ein erster Besuch

Wenn der Server ohne Fehler gestartet ist kann man einen ersten Besuch abstatten. Auch wenn man nun eine Welt erstellt hat, so geht es erst einmal nur um das Testen und die Einstellungen. Die endgültige Welt kann man von einer Einzelspieler-Welt kopieren, in der man einige Strukturen vorbereitet.

Um die Adresse des RasPis im lokalen Netz zu finden kann man in einer Konsole folgendes eingeben:

  • ...

Und dann kann man sich zum Testen, vielleicht von seinem eigenen Rechner, auf dem RasPi-Server anmelden.

Rechte vergeben

Im Gegensatz zur Singleplayer-Welt, auf der man sich selber alle Rechte geben kann, muss man bei einem Server das über einen Eintrag in der der Datei "auth.txt" vornehmen, die im Verzeichnis der erstellten Welt zu finden sein sollte, wenn sich mindestens ein Spieler angemeldet hat.

Das Format für jede Zeile - also für jeden Spieler - ist das folgende:

  • name:hashed_password:privs

Das könnte zum Beispiel so aussehen:

  • celeron55:CcCUjNUDVJxmXmTHj+7WKHvA9Ds:interact,shout
Das bedeutet, das der Spieler, der sich mit dem Namen celeron55 angemeldet hat, die Privilegien "interact" und "shout" hat. Er kann also mit anderen Spielern chatten und hat die Erlaubnis zum Bauen, Abbauen und Benutzen von Blöcken.

Wichtig für einen Admin, der sich im Spiel um die anderen Spieler und deren Rechte kümmern soll sind dann vermutlich die Moderatoren-Rechte, die im Wiki auf der Seite mit der Übersicht der Privilegien zu finden ist. Zum Anfang sollte reichen ...

  • interact,shout,privs

... und dann kann man sich selber über den Textbefehl im Spiel ...

  • /grant <Spielername> all

... alle fehlenden Rechte geben.

HINWEIS: Obwohl es in der Dokumentation nicht erwähnt wird, steht in der Datei "auth.txt" ganz am Ende der Zeile zu den Spielern hinter den Rechten noch eine Doppelpunkt mit einer Zahl. Die weiteren Privilegien müssen vor diesem Doppelpunkt ergänzt werden.


Bei weiteren Spielern hat nun der Moderator die Möglichkeit ihnen per Textbefehl die Rechte zu vergeben und man muss nicht in der Datei editieren.


WICHTIG: Privilegien können auch weggenommen werden, aber es gibt ein Spieler, dem man nicht die Rechte wegnehmen kann, was ja auch gut ist, denn dem Admin sollten die Rechte nicht entzogen werden können.

Der Spielername, bei dem das der Fall ist, wird im Minetest-Verzeichnis in der Datei minetest.conf unter "Name" angegeben. Als Server-Admin sollte man auf jeden Fall zusehen, dass der Name dort steht und nur vertrauenswürdige Personen sollten an diese Datei herankommen.


Ergänzend sollte noch erwähnt werden, dass das Minetest-Spiel und auch Mods weitere Befehle anbieten können, die man nutzen kann. So kann man im fest eingebauten Minetest-Spiel noch das Privileg "home" vergeben, dass die Anwendung der Befehle /home und /sethome ermöglicht.

Erste Mods installieren und Modus einstellen

Zum Testen könnte man das Mod "Unified Inventory" für ein besseres Inventar und dessen Erweiterung zum Auswählen eines eigenen Skins "Unified_Inventory Skins" installieren.

Die Installation erfolgt wie auch beim Spielen auf dem eigenen Rechner durch Entpacken, Umbenennen und Kopieren in das Mods-Verzeichnis des Servers.

Die Aktivierung eines Mods für eine Welt geschieht über die Datei "world.mt".

Wenn nach dem Einfügen eines neuen Mods die Welt neu gestartet wurde erscheint in der Datei ein Eintrag, wie zum Beispiel:

load_mod_u_skins = false

Aktivieren kann man dieses Mod für diese Welt, indem man False durch true ersetzt.

Ebenfalls in dieser Datei kann man Einstellen, in welchem Modus sich die Spieler auf dieser Welt befinden.

creative_mode = true
enable_damage = false

Hier also im Kreativ-Modus ohne das man Schaden erleiden kann.