luci

Ich habe eine Möglichkeit gefunden, wie man in Luanti ein 3D-Objekt (STL-Datei), das man mit dem 3D-Drucker drucken kann, in Luanti bauen kann und dann dort darin herumlaufen kann. Luanti (früher bekannt als Minetest) ist eine Open-Source-Alternative zu Minecraft mit einer großen Community. Da die Möglichkeit den Inhalt eines Blog-Beitrags überschreiten würde, habe ich mich dazu entschlossen, das Ganze auf GitHub hochzuladen und hier zu beschreiben, wie ihr es von dort benutzen könnt.

Hier mal einen ersten Eindruck des Benchy.

Benchy

Die Lösung besteht im Wesentlichen aus 3 Teilen - Luanti, mineysocket und LuCI. Luanti ist das Spiel, mineysocket ein Mod für das Spiel und LuCI mein Kommandozeilen-Tool, um STL-Dateien in Luanti zu bauen.

Um Luanti unter Debian spielen zu können, muss es installiert sein. In Debian 12 heißt es noch minetest, also nicht verwirren lassen. Ich installiere hier gleich noch zwei Abhängigkeiten mit, die wir für mineysocket benötigen.

sudo apt update
sudo apt install minetest lua-socket lua-cjson -y

Jetzt könnt ihr schon klassisch Luanti spielen. Wir benötigen allerdings noch den mineysocket Mod, der eine Schnittstelle von der eigentlichen Lua-Schnittstelle von Luanti zu Python zur Verfügung stellt.

mkdir -p ~/.minetest/mods
# via git
git clone https://github.com/miney-py/mineysocket ~/.minetest/mods/mineysocket
echo "secure.trusted_mods = mineysocket" >> ~/.minetest/minetest.conf

Zum Schluss noch luci installieren.

sudo apt install pipx -y
pipx ensurepath
pipx install git+https://github.com/lookslikematrix/luci.git
pipx upgrade luci

Nachdem wir nun alle Vorbereitungen außerhalb des Spiels getroffen haben, müssen wir nur noch ein neues Spiel erstellen, indem der mineysocket Mod aktiviert ist. Eine bebilderte Anleitung für diesen Schritt, sowie die komplette Anleitung findet ihr hier.

Ab diesem Zeitpunkt könnt ihr nun mit luci STL-Dateien, wie ihr sie bei Thingiverse bekommt, in Luanti erstellen.

luci build path_to_stl_file.stl

Standardmäßig wird in Gold gebaut, aber ihr könnt alle Blocktypen verwenden. Mit luci blocks könnt ihr herausfinden, welche Standard-Blöcke es gibt. Mit luci blocks --filter "" alle Blöcke.

luci build path_to_stl_file.stl --block-type wool:green

Wenn euch das Objekt zu klein oder zu groß ist, dann könnt ihr mit --scale auch skalieren.

# double the size
luci build path_to_stl_file.stl --scale 2

Wie immer hoffe ich, dass euch diese Anleitung gefallen hat. Dieses Mal hoffe ich besonders, dass ihr ein bisschen Spaß mit dem Tool haben könnt und freue mich wie immer auf einen virtuellen Kaffee ☕. Solltet ihr Fragen oder Anregungen haben, könnt ihr diese gerne hier als Kommentar oder auf GitHub als Issue hinterlassen.


[1]: https://www.luanti.org/

[2]: https://github.com/lookslikematrix/luci

[3]: https://www.thingiverse.com/thing:763622

[4]: https://github.com/miney-py/mineysocket