Difference between revisions of "Minetest in der Schule/RaspberryPi-Server anlegen und einrichten"

From Minetest Wiki
Jump to navigation Jump to search
(Use better German language. HANDS ARE TYPING WORDS)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== Server auf dem RaspberryPi installieren und starten ==
 
== 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
+
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 unter Raspbian (Jessie) durchführen kann.
+
Nachfolgend ist aber nochmals aufgeführt, wie man dies unter Raspbian (Jessie) durchführen kann.
  
 
=== Abhängigkeiten ===
 
=== Abhängigkeiten ===
Line 11: Line 11:
  
 
Den Minetest Quellcode kann man auf verschiedene Arten herunterladen. Nachfolgend wird die Methode über git erklärt.
 
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.
+
In diesem Fall wird mittels der git Option "<code>--branch stable-0.4</code>" der Quellcode von der Version "0.4.x stable" ohne Versionsgeschichte ("<code>--depth 1</code>") heruntergeladen.
  
 
Den eigentlichen Minetest Quellcode abrufen:
 
Den eigentlichen Minetest Quellcode abrufen:
Line 21: Line 21:
 
  cd minetest/
 
  cd minetest/
  
Den Quellcode für das Basies Minetest-Spiel abrufen:
+
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
 
  git clone --branch stable-0.4 --depth 1 https://github.com/minetest/minetest_game.git games/minetest_game
Line 31: Line 31:
 
  cmake . -DRUN_IN_PLACE=TRUE -DBUILD_SERVER=TRUE -DCMAKE_BUILD_TYPE="Release"
 
  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:
+
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
 
  make -j 4
Line 39: Line 39:
 
=== Starten ===
 
=== Starten ===
  
Der Server kann dann, wenn man sich im bin Verzeichnis befindet, einfach wie folgt gestartet werden:
+
Nach Betreten des Verzeichnisses "<code>bin/</code>" kann der Server wie folgt gestartet werden:
  
  ./mintestserver
+
  ./minetestserver
  
 
== Ein erster Besuch ==
 
== 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.
+
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. Bei Bedarf kann auch eine Einzelspieler-Welt mit einigen vorbereiteten Strukturen kopiert und auf dem Server verwendet werden.
  
Um die Adresse des RasPis im lokalen Netz zu finden kann man in einer Konsole folgendes eingeben:
+
Um die Adresse des RPIs im lokalen Netz zu finden, kann man in einer Konsole folgendes eingeben:
* <code>...</code>
 
  
Und dann kann man sich zum Testen, vielleicht von seinem eigenen Rechner, auf dem RasPi-Server anmelden.
+
ifconfig
  
=== Rechte vergeben ===
+
Nach dem ersten Besuch können die Einstellungen vorgenommen werden, die bei allen Welten gleich sein sollten. Mehr dazu auf der Seite [[Minetest_in_der_Schule/Einstellungen_am_Server_vornehmen_und_Einrichten|Einstellungen am Server vornehmen und Einrichten]].
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:
+
[[Category:German]]
* <code>name:hashed_password:privs</code>
+
[[Category:Minetest as Educational Tool]]
 
 
Das könnte zum Beispiel so aussehen:
 
* <code>celeron55:CcCUjNUDVJxmXmTHj+7WKHvA9Ds:interact,shout </code>
 
::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 [[Privileges/de#Eingebaute_Privilegien|Übersicht der Privilegien]] zu finden ist. Zum Anfang sollte reichen ...
 
* <code>interact,shout,privs</code>
 
... und dann kann man sich selber über den Textbefehl im Spiel ...
 
* <code>/grant <Spielername> all</code>
 
... alle fehlenden Rechte geben.
 
 
 
{{redbox|'''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.
 
 
 
 
 
{{redbox|'''WICHTIG:''' Privilegien können auch weggenommen werden, aber es gibt <u>ein Spieler</u>, 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 <code>minetest.conf</code> 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 <code>/home</code> und <code>/sethome</code> 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.
 

Latest revision as of 18:24, 28 January 2018

Server auf dem RaspberryPi installieren und starten

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 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 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

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

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. Bei Bedarf kann auch eine Einzelspieler-Welt mit einigen vorbereiteten Strukturen kopiert und auf dem Server verwendet werden.

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

ifconfig

Nach dem ersten Besuch können die Einstellungen vorgenommen werden, die bei allen Welten gleich sein sollten. Mehr dazu auf der Seite Einstellungen am Server vornehmen und Einrichten.