Minetest
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Minetest 🇩🇪 (ursprünglich Minetest-c55) ist ein Open-World-Aufbauspiel, welches unter anderem von Minecraft inspiriert wurde. In einer zufällig generierten Welt baut man Rohstoffe ab, um daraus Werkzeuge zu erschaffen und die Umwelt zu gestalten. Dem Spieler steht der Überlebens- sowie der Kreativitätsmodus zur Verfügung. Diese Modi können im Einzel- oder im Mehrspielermodus in einem Netzwerk bestritten werden.
Minetest wird in der Programmiersprache C++ programmiert und verwendet die Irrlicht 3D-Engine. Ein Artikel zum Fork Voxelands ist ebenfalls im Wiki zu finden.
Das Spiel wurde im Oktober 2024 umbenannt in Luanti. Dieses Wortspiel basiert auf dem finnischen Wort „luonti“ (Kreation) und der verwendeten Programmiersprache für Spiele und Mods, Lua.
| Menü | Spielszene | Spielszene mit einigen Modifikationen |
Installation¶
Möchte man das Spiel lokal nutzen, reicht es das Paket aus den offiziellen Paketquellen zu installieren [1]:
Befehl zum Installieren der Pakete:
sudo apt-get install minetest
bzw. ab 25.10 direkt
luanti (universe; ab 25.10)
Befehl zum Installieren der Pakete:
sudo apt-get install luanti
Möchte man einem öffentlichen Spiel über das Internet beitreten, sollte man eine aktuelle Version des Spiels als snap, über PPA oder Kompilieren installieren.
snap¶
Eine aktuelle luanti
Version kann auch über das Anwendungszentrum installiert werden bzw.
sudo snap install luanti
Hinweis!
Fremdpakete können das System gefährden.
PPA¶
Es stehen zwei verschiedene Builds zur Verfügung - es empfiehlt sich die stabile Variante zu nutzen.
Stable¶
Zur Installation muss das folgende PPA freigeschaltet [2] werden.
Adresszeile zum Hinzufügen des PPAs:
ppa:minetestdevs/stable
Hinweis!
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der
PPA-Beschreibung des Eigentümers/Teams minetestdevs zu entnehmen.
Nach dem Aktualisieren erfolgt die Installation wie oben angegeben.
Daily¶
Hinweis:
Diese Variante kann Fehler enthalten. Es sollte stable Verwendung finden.
Zur Installation muss das folgende PPA freigeschaltet [2] werden.
Adresszeile zum Hinzufügen des PPAs:
ppa:minetestdevs/daily-builds
Hinweis!
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der
PPA-Beschreibung des Eigentümers/Teams minetestdevs zu entnehmen.
Kompilieren¶
Um Luanti (formerly Minetest) aus dem Quellcode zu bauen, werden die folgenden Pakete benötigt [1]:
build-essential
g++
make
binutils
libc6-dev
cmake
ninja-build (universe)
curl
libpng-dev
libjpeg-dev
libgl1-mesa-dev (Übergangspaket auf libgl-dev und libglvnd-dev)
libsqlite3-dev
libogg-dev
libvorbis-dev
libopenal-dev (universe)
libcurl4-gnutls-dev
libfreetype6-dev (bis 23.04 Übergangspaket auf libfreetype-dev, main)
zlib1g-dev
libgmp-dev
libjsoncpp-dev
libzstd-dev
libluajit-5.1-dev (universe)
gettext
libsdl2-dev (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install build-essential g++ make binutils libc6-dev cmake ninja-build curl libpng-dev libjpeg-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev libzstd-dev libluajit-5.1-dev gettext libsdl2-dev
Nun wird der Quellcode aus dem luanti-org/luanti Git geholt. [6]
mkdir -pv $HOME/Installationsdisk/Luanti_Base cd $HOME/Installationsdisk/Luanti_Base git clone --depth 1 https://github.com/luanti-org/luanti $HOME/Installationsdisk/Luanti_Base/luanti cd luanti
... und anschließend konfiguriert:
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=TRUE -DCMAKE_C_FLAGS="-march=native" -DCMAKE_CXX_FLAGS="-march=native" -Wno-deprecated -Wno-error=deprecated -Wno-dev -S . -B build -G Ninja
Der Schalter -S gibt das Quellcode Verzeichnis an, der Punkt "." ist das Verzeichnis, in dem man sich gerade befindet. cmake und ninja verlangen ein build Verzeichnis, das wird mit dem Schalter -B angegeben. Der Schalter -G lässt das Bauwerkzeug auswählen, hier Ninja. Ninja ist schnell und spamt das Terminal nicht allzu voll.
Nun kann kompiliert werden. [4] [6]:
time ninja -j $(nproc --all) -C build
Der Schalter -j gibt die Anzahl der gleichzeitigen Bauvorgänge an, "npcroc --all" gibt die Anzahl der verfügbaren CPU-Kerne aus.
Nun kann das gebaute Luanti installiert werden:
ninja -j $(nproc --all) -C build install/strip
"install/strip" installiert nicht nur die Fertigbinaries, sondern strippt auch für Normalnutzer nicht benötigtes aus den installierten Binaries. Aber Achtung! Das Spiel wird nicht von APT verwaltet. Man müsste sich jede einzelne Datei merken, und wohin sie installiert wurde, wenn man das Spiel wieder sauber entfernen möchte.
Zum Glück erstellt Ninja ein "install_manifest.txt". Das sollte man unbedingt gut aufheben. Es lässt sich nach geglückter Installation im build Verzeichnis finden:
$HOME/Installationsdisk/Luanti_Base/luanti/build/install_manifest.txt
Die Datei "install_manifest.txt" kopiert man am besten in einen halbwegs sicheren Ort. Das build Verzeichnis dürfte eher ungeeignet sein. Hier im Beispiel wird die Datei "install_manifest.txt" in das "Luanti_Base" Verzeichnis kopiert:
cp -v $HOME/Installationsdisk/Luanti_Base/luanti/build/install_manifest.txt $HOME/Installationsdisk/Luanti_Base/install_manifest.txt
Möchte man dann Luanti deinstallieren, dann ist das so möglich:
xargs sudo rm -fv < $HOME/Installationsdisk/Luanti_Base/install_manifest.txt
Die Verwendung von porg wäre aber bequemer, das installieren mit der Übergabe an porg zur Verwaltung der installierten Binaries ist so möglich:
sudo porg -lp luanti "ninja -j $(nproc --all) -C build install/strip"
Dann lässt sich Luanti so deinstallieren:
sudo porg -rv luanti
Luanti mittels Bash alias kompilieren¶
Bequem die jeweils aktuelle Luanti Version (formerly Minetest) selbst kompilieren, ist mit einem alias in der $HOME/.bashrc möglich. Der "luantineu" Bash alias nutzt TMPFS, so werden SSDs und Festplatten geschont, und kompilieren läuft obendrein auch noch schneller.
alias luantineu='INSTALLATIONSDISK=$HOME/Installationsdisk && \
LUANTI_BASE=$INSTALLATIONSDISK/Luanti_Base && \
LUANTI_SRC=$LUANTI_BASE/luanti && \
PREFIX=/usr && \
TMPFS_SIZE=0 && \
ID=$(id --user) && \
sudo apt install build-essential g++ make binutils libc6-dev cmake ninja-build curl \
libpng-dev libjpeg-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev \
libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev \
libjsoncpp-dev libzstd-dev libluajit-5.1-dev gettext libsdl2-dev && \
echo "apt-get OK" || echo "apt-get Error" && \
[ ! -d $INSTALLATIONSDISK ] && mkdir -pv $INSTALLATIONSDISK || echo "$INSTALLATIONSDISK exists" && \
[ ! -d $LUANTI_BASE ] && mkdir -pv $LUANTI_BASE || echo "$LUANTI_BASE exists" && \
[ -d $LUANTI_SRC ] && yes | sudo rm -rf $LUANTI_SRC && \
echo "$LUANTI_SRC cleaned." || echo "$LUANTI_SRC was clean." && \
[ ! -d $LUANTI_SRC ] && mkdir -pv $LUANTI_SRC || echo "$LUANTI_SRC exists. Ok." && \
sudo mount -v tmpfs $LUANTI_SRC -t tmpfs -o mode=777,size=$TMPFS_SIZE,uid=$ID && \
[ ! -d $LUANTI_SRC/.git ] && git clone --depth 1 https://github.com/luanti-org/luanti $LUANTI_SRC && \
printf "\n \033[45m\033[1;36m==> Luanti Sourcecode cloned. \033[0m\033[42m\033[1;36m ==> ... \033[0m \n \n" || \
printf "\n \033[45m\033[1;36m==> Luanti Sourcecode found. \033[0m\033[42m\033[1;36m ==> ... \033[0m \n \n" && \
printf "\n \033[45m\033[1;36m==> Update Luanti Sourcecode. \033[0m\033[42m\033[1;36m ==> ... \033[0m \n \n" && \
git -C $LUANTI_SRC pull && echo "git pull done." || echo "No git pull." && \
printf "\n \033[45m\033[1;36m==> Configure Luanti. \033[0m\033[42m\033[1;36m ==> ... \033[0m \n \n" && \
cmake -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=TRUE \
-DCMAKE_C_FLAGS="-march=native" -DCMAKE_CXX_FLAGS="-march=native" \
-Wno-deprecated -Wno-error=deprecated -Wno-dev \
-S $LUANTI_SRC -B $LUANTI_SRC/build -G Ninja && \
printf "\n \033[45m\033[1;36m==> Build Luanti. \033[0m\033[42m\033[1;36m ==> ... \033[0m \n \n" && \
time ninja -j $(nproc --all) -C $LUANTI_SRC/build && \
printf "\n \033[45m\033[1;36m==> Install Luanti. \033[0m\033[42m\033[1;36m ==> ... \033[0m \n \n" && \
sudo porg -lp luanti "ninja -j $(nproc --all) -C $LUANTI_SRC/build install/strip" && \
printf "\n \033[45m\033[1;36m==> Install Luanti successful. \033[0m\033[42m\033[1;36m ==> Done.\033[0m \n \n" && \
printf "\n \033[45m\033[1;36m==> Luanti deinstall: \033[0m\033[43m\033[1;36m sudo porg -rv luanti <== \033[0m \n \n" || \
printf "\n \033[41m\033[1;36m==> Luanti build or install failed.\033[0m \n \n" | tee -a $HOME/buildfail.log ; \
cd $HOME ; \
sudo umount -fv $LUANTI_SRC ; \
[ -d $LUANTI_SRC ] && yes | sudo rm -fr $LUANTI_SRC && echo "Builddir cleaned." || echo "Builddir was clean." ; \
echo " "
echo "----------------------------------------------------"
echo "You have now installed the Luanti game engine." ; \
echo "More information is available at:" ; \
echo "https://www.luanti.org" ; \
echo "You can install games and mods via the Luanti menu."
echo "----------------------------------------------------"
echo " "
cd $HOME'Die Installation von Luanti wird hierbei durch porg überwacht, und somit an die Verwaltung durch porg übergeben. porg muss zuvor installiert sein! Mittels porg lässt sich Luanti so dann auch leicht wieder deinstallieren.
Luanti wird fortlaufend weiter entwickelt. So ist der alias "luantineu" vorteilhaft, da sich so ganz bequem durch die Eingabe von:
luantineu
... die jeweils aktuellste Luanti Version über das Terminal installieren, oder auf die aktuellste Luanti Version aktualisieren lässt. Der "luantineu" Bash alias ist auf Questing Quokka getestet. Auf älteren Ubuntu Versionen muss gegebenenfalls bei den Paketen in der apt-get Anweisung etwas nach gearbeitet werden.
Bedienung¶
| |
| Crafting |
Bevor man das Spiel beginnen kann, muss man eine Welt im Menü erstellen. Es ist möglich, mehrere Welten zu erstellen, die unabhängig voneinander hinsichtlich der möglichen Interaktionen konfiguriert werden können. Die einzeln erstellten Welten werden im versteckten Ordner ~/.minetest/worlds abgespeichert. Beim Start des Spiels wählt man nun seine Welt sowie die Optionen "Kreativmodus" oder "Schaden einschalten" an bzw. ab. Die Gesundheit des Spieler reduziert sich bspw. beim Fallen in eine Grube, eine Höhle oder beim Schwimmen unter Wasser. Um die Gesundheit wieder aufzuladen, die durch die roten Herzen am Spielfeldrand angezeigt wird, kann man sich auf der Welt z. B. Äpfel, welche auf Bäumen wachsen, suchen. Oder man sucht sich Weizensamen, die man durch den Abbau von Gras bekommt. Damit kann man auf Ackerboden Weizen anbauen, den man dann zuerst zu Mehl und dann zu Brot verarbeitet.
Sämtliche Rohstoffe, die man zum Bauen benötigt, muss man im Spiel abbauen und durch Crafting erstellen.
Die im Spiel gesammelten Rohstoffe können im Gitter von Hand angefertigt werden - hierzu I betätigen und die Materialien aus dem Inventar im Gitter platzieren. Im Reiter „Rezepte“ kann man ein Material oder Produkt suchen. Mit einem Klick auf dessen Symbol wird einem das Rezept angezeigt, wie man dieses Produkt herstellen kann, nach dem zweiten Klick auf das Symbol die Verwendung, also Rezepte, die u. a. dieses Material enthalten. Sind mehrere Möglichkeiten der Herstellung oder Verwendung möglich, so kann man die Pfeile zwischen den Seiten blättern.
So kann man z.B. aus dem Grundmaterial
Holz über das Gitter
Holzplanken anfertigen, welche man für den Bau einer
Truhe verwenden kann. Neben dem Ausgangsmaterial ist auch die Anordnung im Gitter von Bedeutung.
| Bedienung | |
| Menüpunkt | Beschreibung |
| "Kreativmodus" | Im Kreativmodus wird im Gegensatz zum normalen Spielmodus dem Spieler das komplette Repertoire an möglichen Werkstoffen zur Auswahl angeboten. Das erspart ungeduldigen Spielern das teils sehr aufwändige Abbauen von Rohstoffen. |
| "Schaden einschalten" | Ist diese Option abgewählt, übersteht der Spieler Stürze und Unterwassertauchgänge schadlos. |
Die Steuerung ist unter Tastenkürzel zu ersehen.
Spiel im LAN¶
Für ein Spiel innerhalb eines LAN bzw. WLAN reicht die grafische Oberfläche. Man entscheidet sich dafür, welcher Rechner die Aufgabe des Servers übernehmen soll. Dort startet man die grafische Oberfläche und wählt „Server hosten“. Der Spieler dieses Rechners entscheidet, ob man im Überlegens- oder Kreativmodus spielt, welche Erweiterungen aktiv sind und kann die anderen Spieler mit Privilegien ausstatten. Im Netzwerkmanager kann man unter Verindungsinformationen die eigene, lokale IP-Adresse nachschauen.
Bei den anderen Rechnern wählt man in der grafischen Oberfläche den Reiter „Spiel beitreten“, gibt dort die IP-Adresse des Hauptrechners ein und ggf. eine geänderten Port. Für das erste Spiel müssen sich neue Spieler erst registrieren; im Weiteren reicht es sich mit den gespeicherten Einstellungen ein zu loggen.
Server¶
Im Einzelspielermodus wird ein lokaler Server erstellt. Zu diesem kann sich nur der Einzelspieler-Client mit Administratorrechten verbinden. Im Mehrspielermodus kann man sich mit einem öffentlichen Server aus der Liste verbinden und mit anderen das Abenteuer bestreiten:
* Servers Luanti 🇬🇧
Eigener Server¶
Ausbaufähige Anleitung
Dieser Anleitung fehlen noch einige Informationen. Wenn Du etwas verbessern kannst, dann editiere den Beitrag, um die Qualität des Wikis noch weiter zu verbessern.
Anmerkung:
Das Kommando zum Starten des Servers ist veraltet. Für ein lokales Spiel reicht ein entsprechender Haken in der grafischen Oberfläche (ab Luanti 5.10 (Ubuntu 25.10) entfällt auch dieser Knopf).
Weiter Infos: https://docs.luanti.org/for-server-hosts/setup/ 🇬🇧
| |
| Dedizierter Server |
Minetest beinhaltet einen Server, welcher über die Kommandozeile gesteuert werden kann. Dadurch ist es möglich, einen lokale, dedizierten Server zu erstellen. Dafür ist keine grafische Oberfläche nötig. Um einen dedizierten Server zu starten, verwendet man den Befehl [6]:
minetest --server
Es empfiehlt sich, den Server in einem separaten Screen zu starten, da man somit die Terminalsitzung trennen und später fortführen kann. Das verhindert, dass beim Trennen der Verbindung zum Server der Minetest-Server als Instanz abgewürgt wird.
Konfiguration¶
Das Aussehen sowie das Spielverhalten von Minetest kann angepasst bzw. erweitert werden.
Modifikationen¶
Für das Spiel stehen zahlreiche Modifikationen 🇬🇧/🇩🇪 ⮷ (Alternativ 🇬🇧 ⮷) zur Verfügung. Die Auswahl reicht von technische Spielereien wie Rohrleitungen über Pflanzen und Tieren bis hin zu Sonderbaustoffen wie Lichtsteine und Treppenstufen. Neuere Minetest-Versionen beinhalten einen Modmanager mit Anbindung an die Moddatenbank. Für ältere Versionen müssen die heruntergeladenen Archive in den Weltordner z.B. ~/.minetest/worlds/welt1/worldmods/ entpackt [2] werden. Möchte man, dass die Mods für alle Welten verfügbar sind, werden sie in nach ~/.minetest/mods entpackt. Sie müssen dann noch im Client aktiviert werden. Installierte und aktivierte Mods werden bei Spielstart automatisch geladen und dem Client beim Verbinden ausgeliefert. Somit brauchen sich Mitspieler nicht erst auf die Suche nach den passenden Mods zu begeben und bekommen beim Anmelden am Server alle notwendigen Texturen.
Hat man für ein lokales Spiel die Version aus den Paketquellen installiert, so kann man auch einige Erweiterungen, deren Paketnamen mit „minetest-mod“ beginnen, in der universe Paketquelle finden.
Hinweis:
Einige Mods sind nicht mit allen Versionen des Spiels kompatibel.
Aber Achtung, das Ausprobieren von Mods ist mit Vorsicht zu genießen. Verbaut man spezielle Steine aus einem Mod und entfernt diesen dann wieder wegen möglicher Inkompatibilität zu anderen Modifikationen, hinterlässt diese Aktion an den betreffenden Stellen hässliche Fehler, da die Texturen nicht mehr vorhanden sind.
In einem solchen Fall kann man mit der Taste / die interne Kommandozeile aufrufen und das Kommando
/clearobjects
eingeben. In der Hilfe wird dieses Kommando zwar mit „Alle Objekte in der Welt löschen“ beschrieben, aber es löscht nur alle nicht mehr verfügbaren Objekte der deaktivierten Erweiterung(en).
| Modifikation pipeworks | Modifikation animals | Modifikation 4seasons | Fehlende Texturen |
minetest.conf¶
Die Datei minetest.conf ist im Homeverzeichnis unter ~/.minetest zu finden und kann mit einem Editor [5] bearbeitet werden. In der Grundkonfiguration sind die folgenden Einträge zu ersehen:
address = creative_mode = 0 enable_3d_clouds = 0 enable_damage = 1 name = BENUTZERNAME new_style_leaves = 0 opaque_water = 0 port = 30000 smooth_lighting = 1
Parameter¶
Zusätzliche Parameter können übergeben werden.
| Parameter | |
| Parameter | Funktion |
wanted_fps = 30 | Erwünschte Bildfrequenz |
fps_max = 60 | Maximale Bildfrequenz |
screenw = 800 | Bildbreite - hier 800 Pixel. |
screenh = 600 | Bildhöhe - hier 600 Pixel. |
fullscreen = true | Vollbild (true) / Fenstermodus (false) |
screenshot_path = | Relativer / Absoluter Speicherort |
enable_clouds = true | Wolken aktiviert - weiterer möglicher Eintrag: false |
enable_3d_clouds = true | 3D-Wolken (true und false möglich) |
opaque_water = 1 | Durchsichtigkeit des Wassers (1 und 0) |
fast_move = 1 | Schneller laufen ( J drücken) |
fov = 72 | Sichtfeld anpassen |
free_move = 1 | In der Welt "fliegen". |
enable_sound = 0 | Sound (de)aktivieren - 0 bzw. 1 |
time_speed = 0 | definiert den Tag/Nacht-Zyklus 0=kein Wechlsel |
Tastenkürzel¶
Die wichtigsten Tastenkürzel können der Tabelle entnommen werden. Die Belegung kann im Spiel neu zugewiesen werden. Hier 🇩🇪 ist eine Übersicht der Default-Tastenbelegung auf deutscher Tastatur.
Infobox¶
| Minetest | |
| Genre: | Open-World-Spiel |
| Sprache: | 🇩🇪 🇬🇧 |
| Veröffentlichung: | 2011 |
| Entwickler: | Perttu Ahola und Andere |
| Systemvoraussetzungen: | - |
| Medien: | Download |
| Strichcode / EAN / GTIN: | - |
| Läuft mit: | nativ |
Links¶
Lunati 🇩🇪