Innerhalb von 5 Minuten kommt man mit einem Synology NAS mit Intel CPU (z.B. DS218+ kaufen) und viel RAM zu einem stabilen Minecraft-Server. Die Intel CPU brauchen wir zwingend für das Docker-Paket, welches die potente Basis für den Server bildet. Ich habe auch eine Anleitung für die Bedrock-Edition für iOS und Xbox ONE geschrieben.

Inhaltsverzeichnis

Was wird benötigt?

  • Synology NAS mit Docker-Support (z.B. DS218+ kaufen)
  • Kompatible Arbeitsspeicherweiterung (z.B. 8GB DDR3-RAM kaufen)
  • Einen Router mit Port-Forwarding (z.B. FritzBox 7590 kaufen)
  • 5 Minuten eurer Zeit

Geht das auch mit einem DS216j?

Wenn man ein Synology NAS der J-Reihe hat, dann wird die Leistung nicht reichen. Diese Geräte haben meistens nur 512 MB Arbeitsspeicher und sind in dieser Hinsicht auch nicht aufrüstbar. Wenn das NAS noch ein paar andere Aufgaben neben Minecraft haben sollte, dann hat man damit keinen Spaß. In dem Fall empfehle ich mein Tutorial für Minecraft auf einem Raspberry Pi 4.

Warum Docker und nicht das Minecraft-Paket?

Docker erlaubt den Starten des Server innerhalb von Sekunden. Außerdem trennen wir damit den Minecraft-Server vom Rest des Synology-System und können es so besser kontrollieren. Das Community Paket verwendet dazu noch eine alte Version des Servers und nicht das performantere PaperMC für für die aktuellen Versionen von Minecraft.

In wenigen Schritten zum Minecraft-Server

Dank Docker ist die Einrichtung mittlerweile kinderleicht. Wenn man sich an die hier beschriebenen Schritt hält, dann wird das auch klappen. Viele andere Menschen haben das schon vorher geschafft. Und wer nicht lesen mag, der schaut sich einfach das Schritt-für-Schritt-Video an. Viel Spaß.

Schritt 1: Erstellen eines Shared Folders

Der Server braucht einen Speicherort auf der DiskStation in dem die Konfigurationsdateien und vor allem die Map liegt. Deswegen ist dieser Schritt wichtig weil sonst Aktualisierungen des Containers zum Verlust der Minecraft Karte führen würden. Damit dies nicht passiert, legt man im Control Panel ein dediziertes Shared Folder an.

Schritt 2: Installieren von Docker

Über die Paketverwaltung vom DiskStation Manager installieren wir nun Docker. Wenn Docker dort nicht auftaucht, dann ist deine Diskstation damit leider nicht kompatibel. Das sollte man auch nicht erzwingen sondern statt dessen die Lösung mit einem Raspberry Pi in Erwägung ziehen.

Schritt 3: Runterladen des Docker images

In Docker selber suchst du nun in der Registry nach „MarcTV“ und wählst das Image „MinecraftPaperServer“ aus und lädst es runter. Docker fragt, ob du „latest“ „1.15.2“ oder „1.16.1“ als Tag runterladen willst. „Latest“ ist immer die jeweils neueste Version.

Das ebenfalls verfügbare Overviewer Image ist für die Generierung einer isometrischen Karte sobald der Server später läuft. Dies ist jedoch optional.

Schritt 4: Konfigurieren des Docker Containers

Nachdem wir das Image runtergeladen haben, kann es nun als Container konfiguriert und gestartet werden.  Folgende Einstellungen sollten hier vorgenommen werden:

Docker ressource limitation

  • CPU priority: high
  • Memory Limit: 50% vom Arbeitsspeicher im NAS

Advanced Settings

  • enable auto-restart: yes

Volume

  • File/Folder: Das shared folder aus Schritt 1 hier auswählen
  • Mount path: /data

Port Settings

  • Local Port: 25565 TCP
  • Container Port: 25565 TCP
  • Local Port: 25565 UDP
  • Container Port: 25565 UDP

Environment

  • MEMORYSIZE: 33% eures Arbeitsspeichers im NAS

Diese Option ist etwas versteckt aber sehr wichtig. Ich habe hier 3 Gigabyte als Standard im Dockerfile für Xms und Xmx für JAVA gesetzt.

Schritt 5: Starten des Servers

Nun muss man den Server nur noch starten und er ist im lokalen Netzwerk verfügbar. Das Starten selber dauert beim ersten mal ca. 3 Minuten. Danach ist er nach wenigen Sekunden jederzeit verfügbar und gestartet.

Die Konfiguration geschieht über die Datei server.properties, die nach dem ersten Start in dem shared folder zusammen mit den anderen Dateien generiert wurden.

Schritt 6: 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“ für TCP und UDP freigeben.

Die MyFritz-URL ist dann die Server-Adresse, die man in Minecraft einträgt. Zum Beispiel u5xvqz2trolololom.myfritz.net Mein Server läuft durch einen SRV-Eintrag in meine DNS-Einstellungen der Domain hier mc.marc.tv

Wie sieht das Dockerfile aus?

Da ich persönlich gerne Dinge unter meiner Kontrolle haben möchte, fühle ich mich wohler mit einem überschaubaren Code wohler. Das Dockerimage ist in meinem GitHub-Account verfügbar und ich freue mich über Verbesserungen. Dank an Felix Klauke. Auf seinem Dockerimage basiert meines und er gab mir hilfreiche Tipps.

Der Minecraft-Server auf dem Synology NAS
Der Minecraft-Server auf dem Synology NAS

Wie gelange ich auf die Kommandozeile des laufenden Containers?

Wenn der Container läuft, kommst du mit folgenden Schritten unter DSM in das Terminal:

  1. Docker App starten
  2. Container (z.B. marctv-minecraft-papermc-server)
  3. Rechtsklick und dann Details
  4. Tab: Terminal

Hinweis: Dort funktionieren die Tastaturabkürzungen für Kopieren und Einfügen nicht, sondern Rechtsklick und dort „Einfügen“ und „Kopieren“. Dort können Befehle wie op oder whitelist add verwendet werden.

Kommandozeile im Docker Container
Kommandozeile im Docker Container

Wie optimiere ich die Leistung des Servers?

„Can’t keep up! Is the server overloaded? Running 5190ms or 103 ticks behind“ ist eine Meldung, die man eventuell sofort nach dem ersten Start des Servers sieht. In der Datei „paper.yml“ kann man mit dem folgenden Befehl die Pillager Patrouillen abschalten. Mich haben sie ohnehin genervt und der Server läuft deutlich besser.

  disable-pillager-patrols: true

Zusätzlich hat der Einbau einer NAS SSD wahre Wunder bewirkt. Dadurch läd die Welt schneller. Auch Wechsel ins Nether und zurück werden massiv beschleunigt. Alternativ kann man im NAS eine RAM-Disk verwenden. Eine SSD ist aber deutlich sicherer.

Da der Minecraft-Server eine Single-Thread-Anwendung ist und somit nur auf einem CPU-Kern laufen kann, bringen mehr CPU-Kerne hier leider wenig.

Konfiguration des Servers

Die Einstellungen für den Bedrock-Server müssen in Konfigurationsdateien vorgenommen werden. Diese wurden in den lokalen Verzeichnissen auf dem NAS erzeugt. Wichtig: Vor Änderungen den Server immer runterfahren bzw. den Container stoppen.

server.properties

Hier wird zum Beispiel eingestellt, ob eine Whitelist verwendet wird oder ob im Survival oder Creative-Modus gespielt wird:

gamemode=creative

whitelist.json

Die whitelist.json sollte hingegen nicht manuell editiert werden. Um Benutzernamen der Whitelist hinzuzufügen, geht man auf die Kommandozeile im Terminal des Servers bzw. des Containers und gibt ein:

whitelist on
whitelist add BENUTZERNAME

BENUTZERNAME steht natürlich für den jeweiligen Account-Namen.

Wie aktualisiere ich den Minecraft Docker Container?

Unter DSM von Synology ist der Weg leider alles andere als intuitiv. Wenn der Container genau nach dieser Anleitung angelegt wurde, dann kann man den Container mit dem Server wie folgt aktualisieren:

  1. Docker App öffnen
  2. „Registry“ aufrufen
  3. „MarcTV“ eingeben
  4. Neueste Version des Minecraft-PaperMC-Servers runterladen.
  5. Warten bis der Download erfolgreich war. Das kann ca. 2 Minuten dauern.
  6. Den vorhandenen Minecraft Container stoppen.
  7. Mit rechter Maustaste den Befehl „clear“ ausführen.
  8. Den Container wieder starten.
„Clear“ löscht nicht die lokalen Inhalte sondern nur den Container

Man kann Docker Container auch automatisch mit Watchtower aktualisieren. Das bietet sich vor allem bei mehreren laufenden Containern an. Sonst kann es passieren, dass sich die Client nicht mit dem Server verbinden können, weil die Versionen nicht übereinstimmen.

Manchmal gibt es noch keinen aktuellen Paper Minecraft Server für den neusten Client
Manchmal gibt es noch keinen aktuellen Paper Minecraft Server für den neusten Client.

Wie starte ich eine alte Version von Minecraft?

Die eingesetzte Server-Software PaperMC ist nicht immer sofort auf dem neuesten Stand. Deswegen kann man in der Zeit einfach seinen Minecraft-Client mit einer alten Version starten. Dazu startet man den Minecraft Launcher und wählt oben im Menü „Installations“ und dann „New“ aus.

So legt man eine neue Installation mit einer alten Version an.

Dort kann man nun eine Installation anlegen mit einer älteren Version und diese beim Starten auswählen.

Wieso nutzt du nicht weiterhin den Raspberry Pi?

Der Raspberry Pi hat nur 1 GB Speicher, der nicht erweiterbar ist. Wenn nun ein paar Leute auf dem Server wirklich spielen und mit einer riesigen Eisenbahn neue Chunks erzeugen verbraucht das Speicher. Nachdem der Server dann mehrmals abgestürzt ist und ich sogar einmal ein Backup wiederherstellen musste, habe ich nach einer neuen Lösung gesucht. Für kleinere Karten ist der Raspberry Pi mit PaperMC allerdings immer noch ein idealer und sehr günstiger Anfang.

Bedanke dich mit einer Spende

Mein Artikel hat dir geholfen? Dann gibt mir einen Kaffee aus:

Beteilige dich an der Unterhaltung

163 Kommentare

  1. Hallo Marc,

    mit deinem Mincraft-Server hast du die Herbstferien und Quarantänezeiten gerettet und überbrückt. Vielen Dank für die Bereitstellung in Docker.

    Eine Frage habe ich. Gibt es die Möglichkeit eine Art „Voice Chat PlugIn“ ergänzend zu installieren? Die Kids quatschen parallel über das Telefon.

    Besten Dank für eine kurze Rückmeldung.
    Jens

  2. Hallo Marc,
    Vielen Dank für das Docker-Image und die Anleitung.
    Eine Frage hätte ich jedoch, lokal weiß ich wie es geht, aber wie komm ich auch die Server-Console über den Container?
    Danke im Voraus
    lg
    Nadine

    1. Nevermind – hab es gefunden:
      Docker – Container – marctv-minecraft-papermc-server1 – rechts-klick – Details – Terminal.

      Trotzdem nochmal Vielen Dank!

  3. Tolle Anleitung, Marc. Der Server 1.16.3 läuft soweit. Jetzt würde ich gerne ein passendes Worldedit-Packet installieren, finde allerdings nicht die passende Version und die passende Anleitung. Gibt es hier Links dazu? Kannst Du hier einen Tipp reinstellen?

    Danke und Grüße
    MoT

  4. Hallo Marc,

    Mein Papa hat mir auf seiner Synology einen eigenen Minecraft Server für Bedrock und Java eingerichtet. Seit ein paar Wochen stürzt der Java Server ständig mit dem Grund „Zeitüberschreitung“ ab. Wenn ich auf dem Server bin, werde ich automatisch nach 30 Sekunden mit dem oben genannten Grund gekickt. Wir haben heute das neueste Docker Image heruntergeladen & installiert. Bis vor ein paar Wochen lief alles noch reibungslos, doch dann stürzt der Server ständig ab. Wir haben nichts geändert. Hast du schon von anderen gehört, denen es auch schon so ging? Wir wissen nicht mehr weiter. Der java Server stürzt auf der Synology ab und wird neugestartet. Es handelt sich um eine Synology DS418 Play mit 8GB Ram.

    LG
    Dein Mika😊

    PS: Der Bedrock Server stürzt nicht ab, er läuft reibungslos. Das Logfile schicke ich Dir per Mail weil es für die Textbox zu gross ist.

    1. Der wichtigste Teil des logfiles:

      [19:36:09] [Worker-Main-1/INFO]: Preparing spawn area: 100%
      [19:36:10] [Server thread/INFO]: Loaded 0 spawn chunks for world world_the_end
      [19:36:10] [Server thread/INFO]: Time elapsed: 2388 ms
      [19:36:10] [Server thread/INFO]: Running delayed init tasks
      [19:36:10] [Server thread/INFO]: Done (18.710s)! For help, type „help“
      [19:36:10] [Server thread/INFO]: Timings Reset

      Das heißt, der Server läuft tadellos und stürzt nicht ab. Du kommt gar nicht erst drauf. Irgendwas passt mit eurem Netzwerk Setup nicht. Bitte mein YouTube video im artikel nochmal schauen. Der Server istjedenfalls in Ordnung.

    2. Hallo Marc
      Hier ist der Papa von Mika. Was im Logfile nicht auftaucht ist die Meldung auf der Diskstation, dass der Docker Container unerwartet beendet wurde. Mika spielt also etwa 30 Sekunden auf dem Server und dann fliegt er raus und der Container wird neu gestartet. Das Merkwürdige an de, Verhalten ist, dass wir nichts an der Konfiguration geändert haben und beide Server mit mehreren Spielern auch problemlos liefen.

      VG Uwe

    3. Hi Uwe, dann bitte mal die letzten 5 Zeilen vom logfile des abgestürzten Servers im Container posten. Mal die Welt gelöscht und testweise eine neue Welt probiert? Zu wenig Arbeitsspeicher verfügbar?

      Das Image mit dem Container läuft normalerweise einwandfrei. Ich nutze ihn selber auf einem produktiven Server: http://mc.marc.tv/

    4. Hi Marc
      Ja, ist bei uns auch lange einwandfrei gelaufen. Ich habe jetzt mal den alten Ordner umbenannt und verschoben und einen neuen Ordner erzeugen lassen und teste es heute Abend mal, dann melde ich mich nochmal.

    5. Hi Marc

      Kurze Info: Nachdem wir die alte Karte gelöscht haben läuft der Server wieder. Merkwürdig.

      VG Uwe

  5. Hi Marc

    Weisst du zufällg wie ich die Firewall vom Synology auf den Server abstimme?

    Aktuell habe ich 25565 für UDP/TCP freigegeben.
    Wenn man sich einloggt versucht er aber den Authentifizierung Server unter zb 41884 zu erreichen.

    Schalte ich die Firewall am syno aus, funktioniert alles super lokal und online.

    Der Port änderts sich bei jeden neuen Login.
    Ich habe als Server Adresse versucht: 192.168.8.100 und 192.168.8.1ßß:25565

    lg

    [10:56:06 INFO]: Done (16.030s)! For help, type „help“
    [10:56:06 INFO]: Timings Reset
    [10:56:50 INFO]: Disconnecting com.mojang.authlib.GameProfile@7dd93863[id=,name=Graydens,properties={},legacy=false] (/172.17.
    0.1:41884): Authentication servers are down. Please try again later, sorry!
    [10:56:50 ERROR]: Couldn’t verify username because servers are unavailable
    [10:56:50 INFO]: com.mojang.authlib.GameProfile@7dd93863[id=,name=Graydens,properties={},legacy=false] (/172.17.0.1:41884) los
    t connection: Authentication servers are down. Please try again later, sorry!

Schreibe einen Kommentar

Wie kann ich mich verifizieren lassen?