Minecraft-Skins und 3D-Modelle erstellen

Da ich einen eigenen Minecraft-Skin erstellen wollte, war ich auf der Suche nach einem passenden Editor. Dabei bin ich auf Blockbench gestoßen. Hierbei handelt es sich um einen Editor für Low-Poly-Modelle, also 3D-Modelle mit einer vergleichsweise geringen Anzahl an Polygonen. Neben der Modellierung bietet die Anwendung Werkzeuge zum Zeichnen von Texturen und zum Erstellen von Animationen.

Blockbench unter macOS

Für Minecraft-Skins verfügt Blockbench über einen eigenen Bearbeitungsmodus. Unterstützt werden sowohl das klassische Spielermodell mit breiten Armen als auch die Variante mit schmalen Armen. Zwischen den beiden Varianten kann der Editor ebenfalls konvertieren. Praktisch ist hierbei, dass direkt auf dem dreidimensionalen Modell gezeichnet werden kann. Alternativ lässt sich die flache Textur in der 2D-Ansicht bearbeiten. So ist unmittelbar sichtbar, an welcher Stelle der Figur die einzelnen Pixel landen. Besonders bei Übergängen zwischen den Seiten eines Körpers erleichtert dies die Arbeit gegenüber der ausschließlichen Bearbeitung in einem gewöhnlichen Bildeditor.

Über die Skin-Bearbeitung hinaus können mit Blockbench unter anderem Modelle für die Java- und Bedrock-Edition von Minecraft erstellt werden. Auch allgemeine Low-Poly-Modelle lassen sich bearbeiten. Ein integrierter Animationseditor und ein Plugin-System ergänzen den Funktionsumfang. Die Anwendung steht für macOS, Linux und Windows zur Verfügung. Daneben existiert eine Web-Version, welche direkt im Browser genutzt werden kann.

Blockbench ist freie Software und unter der GPL in Version 3 lizenziert. Der Quellcode ist auf GitHub zu finden.

Live aus Akaria

Seit mittlerweile rund fünfzehn Jahren betreibe ich einen Minecraft-Server mit der Welt Akaria. Erwähnt wurde dies auch in einer Podcast-Episode von Deus ex machina.

Lumenfels in Akaria

In den letzen Monaten hatte ich damit begonnen live aus der Welt zu streamen. Ursprünglich entstand die Idee aus der Einführung neuer Spieler auf dem Server, bei denen diesen Akaria ein Stück weit gezeigt wurden.

Entstanden ist dabei eine cozy Serie aus der Minecraft-Welt mit offenem Ende. Die bisherigen Episoden lassen sich auf YouTube ansehen.

Upgrade einer Minecraft-Welt erzwingen

Meine mittlerweile über fünfzehnjährige Minecraft-Welt Akaria, belegt speichertechnisch bereits etliche Gigabyte auf der Festplatte. Allerdings ist dies bei solchen gewachsenen Welten nicht unbedingt das Problem. Bedingt durch viele Upgrades der Minecraft-Server-Versionen und damit einhergehenden Änderungen, wie z.B. am Chunk-Format, befindet sich irgendwann ein buntes Sammelsurium an Daten in den Weltordnern. An sich ist dies kein Problem, da Chunks beim Laden im Spiel automatisch konvertiert werden.

Ein Teil der Minecraft-Welt Akaria

Allerdings kann dies bei vielen Chunks mit Performanceeinbußen verbunden sein und die Chunks könnten teilweise noch Daten enthalten, die nur aufgrund vorheriger Versionen in diesen schlummern, aber in dieser Form nicht mehr benötigt werden. In einem solchen Fall bietet es sich an ein Upgrade aller Chunks und Regionen zu erzwingen:

screen java -Xms16G -Xmx16G -jar server.jar --forceUpgrade --recreateRegionFiles --eraseCache

Durch den Screen-Befehl kann die Session im Hintergrund weiterlaufen, nachdem sie detached wurde (Strg + A, anschließend Strg + D; Wiederaufruf mittels screen -r).

Damit beginnt der Minecraft-Server die Entities, POIs und Chunks zu upgraden. Während dieses Vorgangs, der je nach Welt, etliche Stunden dauern kann, ist der Minecraft-Server nicht erreichbar. In der Log-Datei latest.log kann der Fortschritt verfolgt werden:

[20:21:17] [Server thread/INFO]: 3% completed (10558 / 343881 chunks)...
[20:21:18] [Server thread/INFO]: 3% completed (10613 / 343881 chunks)...
[20:21:19] [Server thread/INFO]: 3% completed (10661 / 343881 chunks)...
[20:21:20] [Server thread/INFO]: 3% completed (10736 / 343881 chunks)...
[20:21:21] [Server thread/INFO]: 3% completed (10818 / 343881 chunks)...
[20:21:22] [Server thread/INFO]: 3% completed (10869 / 343881 chunks)...
[20:21:23] [Server thread/INFO]: 3% completed (10906 / 343881 chunks)...

Während die Option forceUpgrade dafür sorgt, dass der Upgradeprozess überhaupt angestartet wird, sorgt recreateRegionFiles dafür das neue und saubere Region-Dateien erzeugt werden, anstatt die alten Dateien nur zu bearbeiten. Die Option eraseCache löscht cacheähnliche Daten aus den NBT-Daten, darunter unter anderem Heightmaps, BlockLight und SkyLight. Diese Daten werden beim Neuladen der Chunks im Server ebenfalls wieder neu erzeugt.

Ist der Vorgang am Ende abgeschlossen, kann der temporär gestartete Server beendet werden und der Minecraft-Server wieder im Produktivbetrieb gestartet werden. Durch das Upgrade, das Löschen der Caches und der Neuanlage der Regionen, sollten viele Altlasten und potenzielle Probleme aus den Daten entfernt werden. Dies schlägt sich im Endeffekt auch positiv auf die Performance des Spieles im Serverbetrieb nieder.

Maus-Probleme in Minecraft unter Ubuntu

In einer Minecraft-Installation unter Ubuntu kann es zu Problemen kommen, das die Mausevents innerhalb des Spieles nicht korrekt verarbeitet werden. Dies kann unter anderem zu dem Effekt führen, dass Mausklicks, wie z.B. der Klick mit der rechten Maustaste nicht richtig erkannt werden und die Maustaste dann als dauerhaft gedrückt angenommen wird. Bei dieser Art von Problemen wird dann oft von Problemen mit Wayland ausgegangen oder mit der Einstellung Raw Input in den Mouse Settings von Minecraft versucht das Problem zu lösen.

Mit fehlerhaften Mausevents vergeht in Minecraft schnell der Spielspaß

Im vorliegenden Fall lag es aber an der Minecraft-Installation selbst, welche als Snap-Paket installiert war. Durch das Sandboxing kam es zu den Problemen bei der Erkennung der Mausklicks. Hier half es am Ende die Snap-Version zu deinstallieren und das Debian-Paket des Minecraft-Launchers zu installieren. Anschließend funktionierten die Mausklicks wie gewohnt.

Minecraft-Karten über BlueMap rendern

Für die Welten in Minecraft existieren eine Reihe von Lösungen, um diese als Karte zu rendern. Bis vor einiger Zeit nutze ich Mapcrafter als Renderer. Allerdings wurde dieser nicht mehr weiter gepflegt, sodass es mit neueren Minecraft-Versionen zu Darstellungsfehlern und ähnlichen Problemen kommt. Eine Alternative kann in einem solchen Fall BlueMap sein.

BlueMap mit einer Map

Während Mapcrafter die Daten der Minecraft-Welt nutzte, um die Karten mit Leaflet anzuzeigen, integriert sich BlueMap in Server wie Paper als Plugin.

Die 3D-Ansicht in der BlueMap

Nach der Installation und entsprechender Konfiguration kann BlueMap anschließend im Browser genutzt werden. Das Rendering findet hierbei im Minecraft-Serverprozess statt, sodass die Karte immer aktuell ist.