Achtung! Diese Anleitung bezieht sich auf den Code in meinem GitHub Repository. Bitte keine Fragen zu dem Repository von TheRemote stellen. Das heißt: Nur die Links hier im Artikel nutzen. Sonst kann ich nicht helfen.

Ich wollte seit langer Zeit wegen den geringen Kosten einen Minecraft Server auf dem neuen Raspberry Pi 4 (günstig kaufen) installieren. So ein Server muss dauerhaft stabil 24/7 laufen, damit man damit echt Spaß haben kann. Deswegen habe ich dieses Tutorial geschrieben, in dem genau dieses Endziel beschrieben wird.

Unsere Minecraft-Welt ist mittlerweile stolze 150 MB groß und hat seit ihrem Debüt auf der XBOX 360 bis heute überlebt. Aus diesem Grund möchte ich ab und zu ohne viel Konfiguration oder Geld zu bezahlen die Welt weiter gestalten.

Der Spigot-Fork „Paper“ dient als Grundlage

In diesem Artikel beschreibe ich wie man auf de Pi den Minecraft Server Paper als „headless server“ stabil betreibt. Das heißt, der Pi kann irgendwo in der Nähe des Routers ohne Maus und Tastatur betrieben werden.

Welche Hardware benötigt man?

  1. Einen Raspberry Pi 4 mit 4GB RAM – günstig kaufen
  2. Ein USB-C Netzteil für den Pi4 – nicht sparen!
  3. Eine schnelle (!) microSD Karteauch nicht sparen!
  4. Ein schönes Gehäuse für den Pi4 – günstig kaufen
  5. Ggf. ein Synology NAS für Backups – kaufen

Welche Software wird benötigt?

  1. Raspbian Buster Lite (Betriebssystem für den Pi)
  2. etcher (Tool zum Schreiben von SD Karten)
  3. Die Shell (beim Mac dabei) oder PuTTY für Windows.

Schreiben der MicroSD Karte

  1. Schreibt mit etcher die img-Datei von Raspbian Buster Lite auf die SD-Karte.
  2. Legt eine leere Datei namens ssh per Computer auf die SD Karte in der Partition „boot“. Das aktiviert den SSH Zugang.
  3. Die MicroSD Karte in den Pi einstecken und diesen per Netzwerkkabel ins lokale Netzwerk hängen. Den Pi an den Strom anschließen-

Konfiguration Raspbian

Per Shell oder Putty mit SSH auf den Pi wechseln. Die IP des Pi sieht ihr in eurem Router unter Netzwerkgeräte. Das Passwort lautet „raspberry“. Wenn das geklappt hat, dann haben wir den schwierigsten Teil hinter uns gelassen. Beispiel mit meiner IP:

ssh pi@192.168.178.37

Mit dem folgenden Befehl startet ihr das Rasperian Konfigurationstool. Dort unter Interfacing Options kann man unter SSH den Zugang aktivieren.

sudo raspi-config

Nun setzen wir die korrekte Zeitzone. Das ist wichtig für die cronjobs:

sudo dpkg-reconfigure tzdata

Installation Paper

Für die einfache Installation hat James A. Chambers ein Script geschrieben, das uns diesen Schritt enorm erleichtert. Das wird mit wget von github gezogen, mit Schreibrechten versehen und dann ausgeführt. Das Script installiert Java 9 und den aktuellen Paper Minecraft Server. Ausgeführt wird es nun in drei Schritten. Jeder Schritt ist jeweils eine Zeile auf der Kommandozeile.

wget -O SetupMinecraft.sh https://raw.githubusercontent.com/mtoensing/RaspberryPiMinecraft/master/SetupMinecraft.sh

chmod +x SetupMinecraft.sh

./SetupMinecraft.sh

Starten und Optimieren des Servers

Der Server kann nun direkt gestartet werden. Das Script dasfür liegt im Verzeichnis ~/minecraft Erreichbar ist der Minecraft Server nun unter der IP-Adresse des Raspberry Pi.

Achtung: Bitte einmal den Server starten damit die Konfigurationsdateien geschrieben werden, die wir im nächsten Schritt editieren.

cd ~/minecraft
./start.sh

Zusätzlichen weisen wir mehr Speicher von der GPU dem Server zu. Schließlich haben wir bei diesem Projekt keinerlei grafische Ausgabe. Die System-Konfigurationsdatei editiert man mit nano:

sudo nano /boot/config.txt

Diese Zeilen kommen ganz ans Ende dieser Datei:

gpu_mem=16

Anpassungen für Raspberry Pi 4 mit mehr Arbeitsspeicher

Wer einen Raspberry Pi 4 mit mehr als 1GB besitzt, kann mit den beiden Parametern „Xms“ und „Xmx“ rumspielen und diese erhöhen. Die sind als Standard auf 800 MB gesetzt und befinden sich in der Datei ~/minecraft/start.sh in der letzten Zeile. Mein Raspberry Pi4 mit 4GB Arbeitsspeicher nutzt mit folgenden Werten seinen Speicher besser aus:

-Xms2800M -Xmx2800M

Da sicherlich Leute diese Anleitung auch auf einem Raspberry Pi 3B+ nutzen, habe ich die Standardeinstellungen konversativ auf 800 MB gelassen.

Minecraft Server konfigurieren

Es gibt eine Datei in ~/minecraft/server.properties Dort habe ich vorerst die Anzahl der Spieler auf 3 gesetzt und die Whiteliste eingeschaltet. Wenn ihr auf die Kommandozeile des Servers wollt, dann geht das der über die mit start.sh gestartete screen-Session.

Dort kann man dann die whitelist verwalten oder die Tageszeit auf dem Server beeinflussen. Mit dem Befehl timings report seht ihr detaillierte Metriken zur Auslastung des Servers. Mit STRG+A und dann STRG-D verlässt man den Screen dann wieder.

screen -r minecraft

Freigeben des Servers über das Internet

Ich nutze eine Fritzbox. Dort kann man unter den Einstellungen Internet > MyFritz-Konto eine Adresse einrichten, über die man die Fritzbox außerhalb des eigenen Netzwerks erreichen kann.

Unter Internet > Freigaben > Gerät für Freigaben hinzufügen > [Gerät auswählen] > Neue Freigabe > MyFritz Freigabe > Andere Anwendung und dort den Port „25565“ freigeben.

Die MyFritz-URL ist dann die Server-Adresse, die man in Minecraft einträgt. (z.B. qbnsepjzhd8cvzk7y.myfritz.net)

Automatischer Start beim Neustart

Über die crontab kann man nicht nur den Pi und somit den Minecraft-Server  regelmäßig neustarten sondern ebenfalls reboot den Minecraft Server starten. Dafür einfach den  Inhalt der Datei crontab in die Cron Tabelle kopieren. Der Befehl zum editieren der crontab lautet:

crontab -e

Kleine Maps laufen performant auf dem Raspberry Pi 4 mit 4GB

Serverneustart nach 12 Stunden (optional)

Meine Erfahrung mit Minecraft Servern ist, dass man sie zur Sicherheit regelmäßig sauber neustartet. Dabei werden alle Daten im Arbeitsspeicher auf die SD Karte geschrieben und gehen bei einem Absturz nicht verloren. Ich bin dann so weit gegangen, dass sich erst der Paper Server runterfährt und dann der Pi komplett neugestartet wird.

Mein Repository auf GitHub enthält den letzten stabilen Stand.

Konfiguration Samba-Server für Backups (optional)

In Kurzform: Über Samba wird das Verzeichnis ~/minecraft/world im Netzwerk freigegeben. Danach kann das Verzeichnis im Synology NAS gemountet werden. Auf diesem Weg kann ein Task nächtlich die Inhalte in ein Verzeichnis kopieren, das über Cloud Sync mit der Dropbox verbunden ist. Den Inhalt für die Datei smb.conf habe ich mit ins das Repository auf GitHub gelegt.

sudo apt install samba
sudo nano /etc/samba/smb.conf
sudo smbpasswd -a pi
Dies ist nur ein minimaler Ausschnitt der Karte.

Der Server läuft und läuft und läuft

Bislang hat der Server erstaunlich wenig Zicken gemacht. Insgessamt waren maximal 3 Personen gleichzeitig auf dem Server und der Pi hat das sehr gut weggesteckt.

Ich bin kein Systemadministrator und es gibt sicherlich einiges an dieser Anleitung zu optimieren. Für Korrekturen und Verbesserungen bin ich dankbar. Gerne auch direkt auf GitHub.

Als Tipp: Der neue schnellere Raspberry Pi 4 mit 4GB ist ideal für dieses Projekt und aktuell günstig zu haben. Wem die Power des Raspberry Pi nicht reicht, der nutzt einfach meine Anleitung für einen Minecraft-Servers auf einem Synology NAS.

Beteilige dich an der Unterhaltung

150 Kommentare

  1. Hat sich denke ich erledigt!

    Der command für OP ist „op Username“ und weather, time kann man einfach so eingeben

  2. Und noch einmal
    Wann kann man denn mit einem Upgrade auf 1.14 rechnen? Bzw. wirst du zum upgrade auch noch einen Post verfassen? Kann man jetzt auch schon auf die 1.14 umsteigen? Auch wenn es Bugs gibt?

    1. Hi,
      es gibt ein Beta-DockerHub-Image mit 1.14.3 Support von mir. Das wird auch das Alte ersetzen. Der mc.marc.tv Server wurde bewusst noch nicht umgestellt weil es meiner Ansicht nach noch nicht fertig ist.

    2. Das in meiner Anleitung behandelte Script nutzt nun auch 1.14.4. Das ursprüngliche Script war mir persönlich zu umfangreich und zu komplex.

  3. Hi, Ich bin nun Stolzer besitzer von 2 Raspberry Pi 4 a 4GB RAM und möchte nun den Server von meiner Synology 916+ 8GB wieder auf einen Raspberry Pi Wechseln.
    Hast du schon erfahrung mit dem Buster Betriebssystem ? Ich habe andere minecraft Installationen versucht leider wird Java nicht unterstützt. Wird das mit deiner Version funktionieren ?

    1. Tu es dir nicht an. Macht keinen Sinn das auf dem Pi zu betreiben, wenn du ein Synology hast. Ich habe auch einen RP4 und aktuell würde ich bei dem aktuellen Beta-Status gar nichts Produktives darauf betreiben.

      Debugging und Stabilität sind durch Docker einfach viel einfacher umzusetzen.

      Mein GitHub-Repository sollte aber trotzdem laufen mit meiner Anleitung. Einfach mal ausprobieren und hier Feedback geben.

    2. Läuft auch auf dem Pi4 mit meiner Anleitung. Ich habe es gerade ausprobiert.

    3. Hat Funktioniert, nur den Arbeitsspeicher vergeben, geht leider nur bis 2 GB alles was darüber ist startet der Server nicht

    4. Hat dein Pi4 wirklich 4GB? Hier konnte ich den Speicher auf 3.5 GB in dem JAVA Befehl hochdrehen und er startet normal-

    5. Ja habe den 4GB du meinst die start.sh oder ? in deiner Anleitung fehlt leider der teil mit dem Arbeitsspeicher^^

    6. Ah also war ich schon Richtig ! 3,5GB sind aber 3.584MB und nicht 2800MB aber mit 2800 geht es danke dir für deine Arbeit.

    7. Läuft bei dir ggf noch der xserver? Er sollte auch mit 3500 MB starten.

    8. Guten Morgen Marc,
      Es hat gestern auch mit 2800MB nicht funktioniert , Minecraft Server ist nicht zu 100% durchgestartet. Mit 2500Mb hat alles funktioniert, der xserver ist in der lite version von Raspian Buster glaube ich garnicht installiert, mh gibt es eine möglichkeit nachzuschauen wo so viel RAM benörtigt wird ?

  4. Moin,
    ich habe das Problem das es /minecraft/start.sh bei mir nicht gibt. Was kann ich nun machen um den Arbeitsspeicher zu erhöhen? (hab den Raspberry Pi 4 mit 4 GB)

    1. Ok, danke … habe es jetzt hinbekommen. Allerdings ist es mir nicht möglich mit meiner MyFritz-URL beizutreten. Oder ist diese nur für Leute außerhalb meines Netzwerkes zu gebrauchen?

    2. Nein, die ist und sollte auch für dich nutzbar sein. Wenn es nicht geht, dann hast du etwas bei den Portfreigaben falsch gemacht.

    3. Und was hat diese Meldung auf sich ? „17:43:33 WARN]: Can’t keep up! Is the server overloaded? Running 5321ms or 106 ticks behind“

      Ist mein Raspberry aus irgend einem Grund überlastet?

    4. Ja, solange der Server einigermaßen läuft und nicht zu viele Leute drauf sind ist alles ok. Du solltest die 100 Ticks nicht merken. Wenn da aber mehr steht und das alle 4 Sekunden, dann klappt was nicht. 1.14.X ist deutlich anspruchsvoller als 1.13.2.
      Mein Test-Pi (RP4 mit 4GB) und unserer 1,5 GB Karte läuft recht gut. Aber da ist keiner drauf. teste gerne mal

      Ein Pi ist kein Synology NAS. =)

    5. Ist es vielleicht auch möglich das die Fehlermeldung kommt weil es dem Pi zu heiß ist?

    6. Moin,
      habe es leider immer noch nicht hin bekommen, das man von außerhalb meines Netzwerkes beitreten kann. Könntest du das Thema „Freigeben des Servers über das Internet“ evtl noch etwas besser beschreiben? Hast du in deiner Anleitung evtl irgendwas übersehen?
      MfG

  5. Läuft 14.4 damit nicht auf dem Raspberry Pi 3B+? Ist ein Hardware-Upgrade zwingend erforderlich?

    1. Meiner Meinung nach ja. Wir haben echte Probleme mit 1.14.4 auf dem Synology mit 6 GB RAM zugeordnet und einer echten Intel-CPU.

  6. Hallo, kann man irgendwo einstellen wie viel XP man von monstern bekommt? ich habe mir den server auf meinen Pi 4 B Installiert und meine Map drauf gezogen, hat alles super funktioniert, aber mir ist aufgefallen das ich auf dem Server für ein monster nur eine XP kugel bekomme, normal sind es immer 3.

    1. Den Schwierigkeitsgrad habe ich auf normal gesetzt wie auch in der Singelplayer Welt, das war auch das woran ich als erstes gedacht habe aber anscheinend hat das damit nichts zu tun.

    2. Ok ich habe die Einstellung gefunden wo man das einstellen kann, und zwar in der paper.yml unter world-settings die Option experience-merge-max-value, der wert gibt an wie viele XP Orbs zu einen zusammengefasst werden. Der Standart wert ist auf -1 also werden alle Orbs in der nähe zu einem zusammengefasst, was schlecht ist wenn man auf mehrere Items Mending hat, habe den wert auf 1 gesetzt so wird die XP wieder auf alle Mending Items verteilt.

  7. Ich habe den Server auf nen Pi 4 mit 4GB Ram und 2 Ghz laufen, der Server Läuft auch soweit stabil aber es ist doch teilweise sehr am Laggen. Ich würde den Server gerne etwas mehr RAM zuweisen, momentan habe ich wie in der Anleitung beschrieben 2,8 GB zugewiesen aber wenn ich den wert erhöhe zb 2,9 GB dann startet der Server erst garnicht. muss ich da noch was anderes ändern oder geht einfach nicht mehr als 2,8 GB?

    1. Bringt nix. Wie gesagt: Selbst mit 6GB RAM und dem Synology mit deutlich mehr Wumms lagt es manchmal. 1.14.x ist einfach noch schlecht.

  8. ich hab das Problem das bei mir in Game keine Mobs angezeigt werden, die jeweiligen Geräusche von z.B. Kühe kann man aber hören.
    kann mir jemand helfen ?

    1. Einfach mal den gesamten Map-Order löschen und neustarten damit er eine neue Karte generiert. Ist das Problem dann immer noch da?

  9. Hallo,

    ich habe alles Schritt für Schritt gemacht, läuft super! :)
    Also für ein RasPi.

    Ich habe mal Spaßeshalber ein anderes Kabel genommen für die Stromversorgung und siehe da, das Raspberry hatte plötlich eine zu niedrige Spannungsversorgung und der Server lief instabil. Ich wusste garnicht das der Unterschied da so krass sein kann.

    Mit dem Samsung Kabel und Netzteil vom Galaxy S9+ läuft der RasPi sauber, aber wenn man das Kabel vom XBOX One Controller mit einem Adapter auf Typ C nutzt und das ganze an demselbem Samsung Netzeil, bekommt der RasPi zu wenig Spannung und schmiert teilweise einfach ab. Ich werde mir jetzt das Original Raspberry Netzteil mit 3A bestellen.

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website zeigt Benutzerbilder über gravatar.com an.

Wie bekomme ich einen verifizierten Account? - Login