Raspberry Pi: Minecraft Server installieren
Einen Minecraft Server auf einem Raspberry Pi zu betreiben ist in einigen Foren zu dem kleinen Computer ein heiß diskutiertes Thema. Auch ich versuchte einen Minecraft Server auf meinen Raspnerry Pi Model B (256 MB RAM) zum Laufen zu bekommen und es hat funktioniert – mit Einschränkungen. Vor diesem Tutorial werde ich in den folgenden Absätzen noch meine Versuche aufzeigen, um darzulegen, was im Rahmen des Möglichen ist.
Update (04.03.2015): Das Projekt ist inzwischen gänzlich eingeschlafen. Jedoch gibt es auf dem Raspberry Pi (2 Model B) inzwischen eine Möglichkeit einen Bukkit Minecraft Server zu installieren. Eine Installationsanleitung findest du in meinem Blog unter dem Titel Minecraft Server Bukkit/Spigot installieren.
Zuerst einmal versuchte ich den offiziellen Minecraft Server von Mojang zu installieren. Dabei verwendete ich das Java-Paket openjdk-6-jre-headless, wie es in diversen Tutorials zum Installieren eines Minecraft Servers auf ein Debian System verwendet wird. Erwartungsgemäß ging das Generieren einer Map sehr langsam (dauerte ca. eine Stunde). Die CPU-Last lag trotz Overclocking auf 900 Mhz konstant bei 98-100%. Als die Map fertig generiert war, wurde der Server in der Server-Liste meines Minecrft-Clients ordnungsgemäß angezeigt, doch das Verbinden zum Server verursachte, dass der Raspberry Pi nicht mehr reagierte. Daraufhin versuchte ich den Bukkit-Server, wobei sich mir hierbei ein ähnliches Bild bot. Das Generieren der Map dauerte ein wenig länger als bei dem originalen Server, das Connecten funktionierte auch, doch direkt danach war wieder Schluss.
Das Problem liegt entgegen einiger Meinungen in Foren nicht an den 256 MB RAM (lässt, sich mit SWAP handeln, der offizielle Server benötigt lediglich ca. 30 MB mehr, als RAM verfügbar ist) sondern an dem Prozessor, welcher trotz Overclocking zu langsam ist. Eine für von Oracle für ARM v6/7 (Prozessor) optimierte Java-Version brachte nicht nennenswerte Verbesserungen im Bezug auf die Minecraft Server (Download: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-arm-downloads-2187472.html). Durch das Prozessor-Problem fallen auch .NET-Languages auf Grund des Resourcenhungers raus.
Die Lösung bot sich in anderen Custom Servern, die nicht auf Java und .NET-Languages, sondern auf C++ basieren. Im Minecraft Wiki unter http://www.minecraftwiki.net/wiki/Custom_servers findet man hierzu den MCServer (Projekt wurde Ende 2013 eingestellt) und den Mineserver. Beide Projekte scheinen nicht aktiv weiterentwickelt zu werden und entsprechend sind viele Bugs enthalten. Mit dem Mineserver machte ich noch die besten Erfahrungen, wobei man sagen muss, dass Teile des Craftings nicht funktionieren und die letzte unterstütze Version 1.3.2 ist (Stand 05.11.2012). Somit werde ich euch in Folgendem beschreiben, wie ihr diesen Custom Minecraft Server auf euren Raspbery Pi bekommt.
Voraussetzung: Raspbian oder vergleichbare Distribution installiert
Da es zum Zeitpunkt als ich dieses Tutorial schrieb noch keine fertigen Lunux Builds gab, werden wir uns diesen selbst kompilieren. Dazu müssen wir den Source Code aus dem Git-Respoentory holen und ein paar Abhängigkeiten installieren.
sudo apt-get install libssl-dev libevent-dev zlib1g zlib1g-dev libnoise-dev libnoise-dev libevent-dev cmake git-core
Als nächstes werden wir einen extra Benutzer für den Minecraft Server anlegen, damit dieser ein wenig vom restlichen System abgekapseltist. Hierbei vergeben wir an den Benutzer ein Passwort unserer Wahl.
sudo adduser minecraft
Nun wechseln wir zu dem neuen Benutzer und gehen in dessen Home-Verzeichniss.
su minecraft
cd
Jetzt ist es an der der Zeit, den Source Code vom Git-Reposentory zu holen und in den neuen Unterordner mineserverzu wechseln.
git clone git://github.com/fador/mineserver.git
cd mineserver
Nachdem wir nun den Source Code haben, müssen wir diesen kompillieren. Dies dauert eine knappe halbe Stunde.
cmake .
make
Die kompillierte Version des Mineservers liegt nun im Ordner bin/, in welchen wir nun wechseln.
cd bin
Jetzt passen wir die config.cfg nach unseren Wünschen an. Bei dem Punkt system.user_limit empfielt sich ein Wert unter 10 anzugeben (max. Anzahl der Spieler). Ich nehme hierzu den Editor nano her. In diesem speichert man mittels STRG + X, Y, Enter.
nano config.cfg
Nachdem nun alles eingestellt ist können wir mittels folgem Kommando den Minecraft Server starten und wie gewohnt im Multiplayer Modus von unserem Minecraft Client zocken. Naja, abgesehen von den Bugs die es gibt. Stoppen kann man den Server mittels STRG + C.
./mineserver
Technische Daten
- CPU-Last während des Starts: 100%
- CPU-Last während des Spiels bei 6 Slots und 1 Spieler: 4-6%
- RAM-Verbrauch bei 6 Slots und 1 Spieler: 65 MB
Bugs die toleriert werden müssen (Stand 05.11.2012)
- Letzte Version, mit der gespielt werden kann: 1.3.3
- Tiere und Monster bewegen sich meist ruckartig
- Tiere und Monster können durch Blöcke wie z.B. Bäume laufen
- Einzelne Gegenstände wie z.B. Holzaxt lassen sich nicht oder teilweise nicht craften
- Redstone-Verbindungen funktionieren nicht
- Wasser und Laver haben keine oder eine unzureichende Physik
Falls ihr euch nun einen Minecraft Server auf eure Raspberry Pis installiert, würde mich interessieren, wie stabil und mit welchen weiteren Bugs diese laufen. Oder habt ihr eine bessere Möglichkeit gefunden, einen Minecraft Server auf dem Raspberry Pi laufen zu lassen? Einfach unten in die Kommentare schreiben 😉
Und an alle, die C++ können: Das Projekt ist Open Source und auf GitHub gehostet. Sprich, jeder kann daran mitentwickeln. Wenn jeder, der es drauf hat, einen kleinen Teil dazu beiträgt, könnten wir gemeinsam einen resourcensparenden, voll funktionstüchtigen Minecraft Server auf die Welt loslassen. Link: http://mineserver.be/; https://github.com/fador/mineserver/
Zugriff außerhalb des eigenen Netzwerks
Portfreigabe im Router
Soll der soeben installierte Dienst auch außerhalb des eigenen Netzwerkes verfügbar sein, so müssen folgende Ports im Router freigegeben werden. Wie man freigibt, beschrieb ich in dem Artikel Portforwarding bei Fritz!Box und Speedport.
11 Kommentare. Hinterlasse eine Antwort
Vielen Danke für dieses ausgezeichnete Tutorial! Alles ist verständlich erklärt, und enthält genau die Infos, die ich gesucht habe um per SSH meinen Raspberry Pi zum Craftberry Pi umzurüsten 🙂
Weiter so!
Danke. Ein ergänzender Hinweis noch: Mojang arbeitet momentan an einer speziellen Version für den Raspberry Pi. Weitere Informationen hierzu gibts unter http://www.mojang.com/2012/11/minecraft-is-coming-to-the-raspberry-pi/
Ja, das hab ich auch gesehen, wobei ich eher glaub, dass sie mehr am Clienten arbeiten, als am Server, weil sie mithilfe des Clienten unterschiedliche Sprachen erklären möchten.
Hi, Jan
ich muss nochmal nerven. Ich habe mittlerweile 3 Raspberry Pi´s. Jetzt wollte ich einen als Minecraft-Server aufsetzen, den anderen als XBMC und den letzen mit Pyload. Ich bin einfreund von Autostarts. Weist du wie man ein script für das ausführen des Minecrafts-Servers erstellt so das dass Terminal mitstartet? Das mit dem Autostart bekomme ich schon hin, aber ich kriege den Server über mein Script nicht gestartet. Ich habe es auch schon mit Screen befehlen versucht, hat aber leider nicht geklappt.
Hi,
Diesen Beitrag schon gelesen? => http://www.raspberrypi.org/phpBB3/viewtopic.php?p=268011#p268011
spielt bukkit, 3-4 user, 512MB Ram Pi.
leider ist das mineserver projekt untot.
mfg cave
Danke für den Hinweis. Werde ich auf jeden Fall ausprobieren und ggf. einen Beitrag zu schreiben. Ich versuchte es, wie beschrieben, ja auch länger, jedoch ohne Erfolg. Meine Java-Kenntnisse halten sich zugegebener Weise aber auch stark in Grenzen 😛
In zwei Wochen kommt nun ein Beitrag zu Spigot. Funktioniert mit zwei Spielern echt super!
So. Die Anleitung ist nun unter https://jankarres.de/2013/04/raspberry-pi-minecraft-server-bukkitspigot-installieren/ zu finden.
[…] Server auf dem Raspberry Pi zu betreiben war hier im Blog schon mehrmals Thema. Zunächst die C++ Implementierung Mineserver und ein paar Monate später schrieb ich über Bukkit/Spigot auf dem Raspberry Pi. Erstere Version […]
> Wasser und _Lava_ haben keine oder eine unzureichende Physik
Typo.
Ich habe einen Raspberry Pi 3 und habe Spigot zum Laufen gebracht. Ich konnte mich mit dem Server verbinden und alles ist normal. Keine Abstürze(bis jetzt) und das Generieren der Map dauert beim ersten Start 1 bis 2 Minuten, danach noch weniger. Ich würde euch aber Cuberite empfehlen, eine C++ basierende und viel schneller laufende Serverplattform als Spigot.