Raspberry Pi: Minecraft Server installieren

05 Nov
5. November 2012

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

Step 1 

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

Step 2 

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

Step 3 

Nun wechseln wir zu dem neuen Benutzer und gehen in dessen Home-Verzeichniss.

su minecraft
cd

Step 4 

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

Step 5 

Nachdem wir nun den Source Code haben, müssen wir diesen kompillieren. Dies dauert eine knappe halbe Stunde.

cmake .
make

Step 7 

Die kompillierte Version des Mineservers liegt nun im Ordner bin/, in welchen wir nun wechseln.

cd bin

Step 8 

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

Step 9 

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.

25565
Dir hat der Artikel gefallen?
Teile ihn mit deinen Freunden!
11 Antworten
  1. pfahli says:

    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!

    Antworten
  2. Daniel says:

    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.

    Antworten
  3. cave says:

    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

    Antworten
  4. Ikem Krueger says:

    > Wasser und _Lava_ haben keine oder eine unzureichende Physik

    Typo.

    Antworten
  5. cjabbarli says:

    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.

    Antworten

Trackbacks & Pingbacks

  1. […] 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 […]

Antworten

Kommentar verfassen

JanKarres.de © 2007-2017