Sonntag, 29. Januar 2023

Einen Minecraft Server aufsetzen

Unser Sohn ist ein großer Minecraft Fan. Um ihm einen kleinen Einblick hinter die Kulissen eines Videospiels zu ermöglichen, möchte ich einen Server aufsetzen, und zusammen mit ihm kleine Programme schreiben um die Minecraftwelt manipulieren zu können.

Java ist bereits auf meinem Laptop installiert, und ich habe mir die neuste Version von CraftBukkit  in einen Order namens 'c:/server' heruntergeladen. Nachdem 'java -ar craftbukkit-1.19.3.jar' in der Windows Eingabeaufforderung ausgeführt worden ist, werden schon einige Unterordner angelegt. Allerdings bricht der Startvorgang mit einer Fehlermeldung ab. In 'eula.txt' muss 'eula=false' erst zu 'eula=true' geändert werden, dann läuft der Server problemlos. 

In den Dateien 'server.properties' und 'bukkit.yml' können wenn gewünscht noch Einstellungen für den Server vorgenommen werden. Zum einfacheren Start aus der Kommandozeile habe ich mir auch eine 'start.bat' batch Datei angelegt.

Nach Freigabe von Port 25565 im Router und in der Windows firewall ist der Server auch aus dem Internet erreichbar, allerdings mit so langen Pingzeiten, dass ich mich doch entschlossen habe einen lokalen Minecraft client zu installieren. Die online fähige Vollversion lässt sich hier erwerben. Dann steht der 'Launcher' mit der Java und der 'Bedrock' (Windows) Version zur Verfügung. 

Nach dem Laden gelangt man ins Minecraft Hauptmenü.

Hier wählt man 'Multiplayer' und 'Direct Connection', und trägt anschließend die localhost IP '127.0.0.1' ein.

Nachdem man sich verbunden hat, kann man bereits auf dem eigenen Server spielen. Um jedoch eigene plugins programmieren zu können muss man sich einen Interpreter, hier 'jyton', als standalone Version   in ein neu zu erzeugendes 'c:/server/lib' Verzeichnis herunterladen. Die Datei muss anschließend in  'jyton.jar' umbenannt werden. Zusätzlich wird der Python Plugin Loader PPLoader benötigt. Die aktuelle Datei, hier 'pploader.1.2.0.jar', wird in den Ordner 'plugins' geladen. Der Loader durchsucht beim Start des Servers automatisch den 'plugin' Ordner. Unterordner mit einem plugin müssen mit *.py.dir' enden und eine Datei namens 'plugin.py' und eine namens 'plugin.yml' enthalten.

Das Beispiel unten zeigt wie man z.B. eine Mauer aus golden Steinen erzeugen kann. 'plugin.yml' beschreibt dabei das plugin

und 'plugin.py' enthält den eigentlichen Pythoncode.

Öffnet der Spieler nun im Client das Chatfenster und gibt z.B. den Befehl '/mauer 4 10' ein, erscheint mit 2 Block Abstand in y-Richtung eine 4 Block hohe und 10 Block breite Mauer vor ihm.

Mit F2 gemachte sceenshots findet man übrigens standardmäßig im Ordner 'C:\Users\xy\AppData\Roaming\.minecraft\screenshots'.


Viel Spaß beim selber programmieren...

Keine Kommentare:

Kommentar veröffentlichen