Minetest ist eine kostenlose Open-Source-Alternative zum beliebten Spiel Minecraft. Der Server ist extrem einfach einzurichten und auszuführen.
Voraussetzungen
	- Eine 1 GB + VPS- oder dedizierte Instanz mit Ubuntu 17.04.
- wget (installiert mit apt install wget).
- Ein Texteditor.
Schritt 1: Hinzufügen des Minetest Stable-Repos und Installieren der Serversoftware
Da Ubuntu bei Paketen für Minetest tendenziell zurückbleibt, verwenden Sie stattdessen die stabile PPA. Dies kann mit den folgenden Befehlen hinzugefügt werden.
# add-apt-repository ppa:minetestdevs/stable
# apt update
Anschließend können Sie den Server installieren.
# apt install minetest
Schritt 2: Erstellen eines Benutzers, Öffnen von Ports und Testen des Servers
Aus Sicherheitsgründen ist es immer eine gute Idee, Dienste wie gezeigt innerhalb des eigenen Benutzers auszuführen.
# useradd -mU minetest
Dadurch wird Ihr minetestBenutzer mit einer eigenen Gruppe und einem Basisverzeichnis erstellt, in dem der Server ausgeführt werden kann.
Vor dem Testen müssen Sie den Port der 30000Ubuntu-Standardfirewall öffnen, da Sie sonst keine Verbindung herstellen können.
# ufw allow 30000
Jetzt wäre ein guter Zeitpunkt, um den Server zu testen und zu prüfen, ob er ausgeführt wird.
# su minetest
$ minetest --server
Wenn alles gut gegangen ist, werden Sie von der folgenden Ausgabe begrüßt:
WARNING[Main]: BanManager: creating /home/minetest/.minetest/worlds/world/ipban.txt
WARNING[Main]: NodeDefManager: Ignoring CONTENT_IGNORE redefinition
WARNING[Main]: /!\ You are using old player file backend. This backend is deprecated and will be removed in next release /!\
WARNING[Main]: Switching to SQLite3 or PostgreSQL is advised, please read http://wiki.minetest.net/Database_backends.
ACTION[Main]:         .__               __                   __   
ACTION[Main]:   _____ |__| ____   _____/  |_  ____   _______/  |_ 
ACTION[Main]:  /     \|  |/    \_/ __ \   __\/ __ \ /  ___/\   __\
ACTION[Main]: |  Y Y  \  |   |  \  ___/|  | \  ___/ \___ \  |  |  
ACTION[Main]: |__|_|  /__|___|  /\___  >__|  \___  >____  > |__|  
ACTION[Main]:       \/        \/     \/          \/     \/        
ACTION[Main]: World at [/home/minetest/.minetest/worlds/world]
ACTION[Main]: Server for gameid="minetest" listening on 0.0.0.0:30000.
Wenn Sie die obige Warnung zum Player-Backend erhalten, machen Sie sich keine Sorgen, da dies im nächsten Schritt behoben wird.
Stellen Sie mit Ihrem Client eine Verbindung zu Ihrem Server her, um zu überprüfen, ob alles funktioniert. Sie können den Server jederzeit stoppen, indem Sie Ctrl+Cauf Ihre Tastatur in der Shell drücken .
Schritt 3: Konfigurieren des Minetest-Servers
Zunächst möchten Sie die Beispielkonfigurationsdatei herunterladen minetest.conf.
$ cd ~/.minetest
$ wget https://raw.githubusercontent.com/minetest/minetest/master/minetest.conf.example
$ mv minetest.conf.example minetest.conf
Diese Datei enthält eine umfangreiche Liste möglicher Einstellungen, die Sie ändern und aktivieren können (indem Sie Zeilen auskommentieren). Im Moment müssen Sie jedoch einige wichtige Einstellungen vornehmen.
Der Name und die Beschreibung Ihres Servers (zum Beispiel):
server_name = Minetest server
server_description = Welcome to my Minetest Server
Die IP-Adresse und der gewünschte Port Ihres Servers (zum Beispiel):
bind_address = 203.0.113.1
port = 30000
Wenn Sie einen anderen als den Standardport festlegen 30000, müssen Sie Ihre Firewall-Regeln aktualisieren.
#ufw delete allow 30000
#ufw allow <port>
Eine weitere wichtige Option ist name. Wer mit dem angegebenen Wert eine Verbindung zum Minetest-Server herstellt, erhält Administratorrechte. Stellen Sie dies auf einen gewünschten Benutzernamen ein und legen Sie später ein Passwort für Ihr Konto fest.
Sie werden sich wahrscheinlich früher an die Warnung bezüglich des Player-Backends erinnern, daher ist ein Wechsel zu SQLite3 ein Muss, da das alte Backend veraltet ist und in einer späteren Version entfernt wird, sofern dies noch nicht geschehen ist. Wenn Sie diese Nachricht beim Testen des Servers in Schritt 2 nicht erhalten haben, können Sie direkt mit Schritt 4 fortfahren.
$ minetest --server --migrate-players sqlite3 --world ~/.minetest/worlds/world
Danach sollte so etwas wie die folgende Meldung angezeigt werden.
ACTION[Main]: Successfully migrated 1 players
ACTION[Main]: world.mt updated
Schritt 4: Ausführen des Servers beim Booten
Um den Server beim Booten auszuführen, wird eine systemd-Dienstdatei benötigt. Zum Glück sind diese ziemlich einfach zu erstellen.
Gehen Sie zurück in Ihre Root-Shell und fügen Sie Folgendes hinzu /etc/systemd/system/minetest.service
[Unit]
Description=Minetest Server
After=network.target
[Service]
Type=simple
User=minetest
Group=minetest
WorkingDirectory=/home/minetest
ExecStart=/usr/bin/minetest --server
Restart=on-abort
[Install]
WantedBy=multi-user.target
Von nun an kann der Minetest-Server mit gestartet werden systemctl(und dies automatisch nach einem Neustart oder wenn der Minetest-Server abstürzt).
# systemctl enable minetest.service
# systemctl start minetest.service
Ebenso können Sie den Status überprüfen oder den Minetest-Server stoppen / neu starten, indem Sie "start" im obigen Befehl ersetzen.
Fazit
Ihr Minetest-Server sollte aktiv und verwendbar sein. Wenn Sie Verbindungsprobleme haben, überprüfen Sie, ob Ihr Port geöffnet ist und die IP-Adresse in korrekt angegeben ist minetest.conf. Informationen zum Verwalten von Spielerberechtigungen und verschiedenen Serverbefehlen finden Sie im Minetest-Wiki .