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. Dafür 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“ freigeben.

Die MyFritz-URL ist dann die Server-Adresse, die man in Minecraft einträgt. Mein Server läuft 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 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.

Wieso bist du nicht auf dem Raspberry Pi geblieben?

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.

Beteilige dich an der Unterhaltung

122 Kommentare

  1. Hallo,

    wie kann ich mich als Admin jetzt machen? Bin gerade überforder. Die OPS.json überschreibt er mir immer wieder :/

    1. Ich habe ein Video von den Vorgängen gemacht. Das ist oben eingebettet. Bitte einmal kontrollieren, ob du das alles so gemacht hast.

  2. HI Marc
    Hi Alle

    Vielen Dank für das Video.
    Die Erklärung iust echt super.

    Leider funtioniert bei mir die Verbindung nicht wirklich.

    Im Terminal scheint alles zu laufen und wird mit Done und Timings Reset beendet.
    Dancah erfolgt sofort eine Warnmeldung: „Can’t keep up! Is the server overloaded? Running XXXXXms or XXXX ticks behind“

    Ich habe 16GB Ram verbaut, und meine Einstellungen laut dem Video schon mehrfach variert. Aktuell habe ich 5G Memory Size und 8018 Speichergrenzwert eingestellt.

    Hat jemand eine Idee, habe Windows Firewall schon abgeschalten, und auch vonmehreren PC versucht.
    IP Adresse verwedne ich die lokale vom Nas.
    Firewall direkt am NAS ist deaktiviert.
    UDP und TCP Port waren schon voreingestellt.

    Ich vermute mal, dass dr Server läuft, ich aber aus irgendeinem Grund keine Verbindung bekomme.

    lg und Danke

    1. Ja, dein Server läuft. Das mit den „xx ticks behind“ ist leider bei 1.14 normal und kann durch Plugins gemildert werden. Die Meldung ist auch nicht schlimm,wenn sie alle paar Minuten kommt. Sie ist nur schlimm, wenn sie permanent kommt.

      Prüfe bitte ob du die Ports vom Container auf die selben Ports im NAS weitergeleitet hast. Da darf nicht AUTO stehen.

  3. Hi Marc

    Fall irgendwann die 1.15 rdy ist und du die vielleicht machst :-) würde sich mein Server dann automatisch updaten oder muss ich dann ein neues container file drüber bügeln?

    Lg und Danke

    Dani

    1. Den Sprung von 14 auf 15 mache ich manuell im Image. Die kleinen Sprünge passieren automatisch alle 60 Min. Aber in jedem Fall musst du den Container einmal leeren. Das dauert aber nur 3 Sekunden. Wenn du die Anleitung befolgt hast dann sind alle Daten danach auch da.

    2. Hi

      Vielen Dank für deine Antwort.
      Die Anleitung wird dann beim Update dabei sein?

      Server Funktioniert bei uns übrigens super. Meine Kinder sind in ihrer Welt zu kleinen Zombies mutiert :-)

      Lg

  4. Hallo Marc,
    ich habe schon seit längerem dank Deiner Anleitung einen Minecraft Server 1.13.2 auf meiner DS218+ am laufen. Nun würde ich gerne auf 1.15.1 updaten. Wir stelle ich dies an, das meine Fortschritt erhalten bleibt?
    Einen komplett neuen Server auf 1.15.1 habe ich auf der Synology zum laufen bekommen (Dank Deiner Anleitung), allerdings ohne meinen Fortschritt.

    Vielen Dank schon mal im voraus.
    Grüße Danny

    1. Gerne. Das DS218+ ist ein super Gerät. Glückwunsch. Ich habe den Artikel oben entsprechend erweitert.

    2. Hallo Marc,

      ich habe es so gemacht wie Du es in Deiner Anleitung beschrieben hast. Leider funktioniert dies nicht, da die Registrierung früher
      marctv/minecraftpaperserver:latest
      hieß und jetzt
      marctv/minecraft-papermc-server:latest
      heißt.

      Er bedient sich daher immer am
      marctv/minecraftpaperserver:latest

      Hast Du hierfür noch einen Rat?

      Liebe Grüße
      Danny

    3. In dem Fall: neuen Container auf Basis des neuen Images aus der Registry erzeugen mit den selben Volumes. Dann den alten löschen.

    4. Wenn du unter Volumes die Daten des Containers auf dein NAS ausgelagert hast, dann nicht. Wie in der Anleitung oben beschrieben. Du kannst das ja auch nachguckend auf deiner Festplatte ob alles da ist

    5. Hall Marc,

      es hat funktioniert! Danke nochmal für den super und voll allem schnellen Support.
      Ich habe allerdings das Gefühl, das nicht der RAM (6GB für Minecraft wurden von mir zugeweisen) an seine Grenzen kommt, sondern die CPU!
      Wenn man mittels Elytren über die Map fliegt dauert es mal mehr und mal weniger lange, bis die Map sich komplett aufgebaut hat. Bleibt dies wohl so oder muss man nur einmal den Bereich neu entdecken und dann speichert er dies wieder?
      Das von Dir in der Anleitung erwähnte Plugin habe ich ebenfalls hinzugefügt.

      Liebe Grüße und allen einen Guten Rutsch in neue Jahr.
      Danny

    6. Hi,

      auch dafür habe ich eine Lösung gefunden. Eine SSD im Synology NAS. Der Artikel wurde dahingehend auch erweitert unter „Performance“

    7. Ah, ok. Könnte ich dann theoretisch eine SSD in meinem System hinzufügen (extern da ich in der DS218+ nur 2 Einschübe habe und diese mit den WD Reds bestückt sind) um dort nur einen MC Server drauf laufen zu lassen?

    8. Nope. Bringt nix per USB. Ich habe mir deswegen das DS1019 gekauft. Aber wenn Du dem Server genug Speicher zuweist, sollte es trotzdem performant sein.

  5. Ist es möglich auch ein Modpack zum laufen zu bringen oder nur Vanilla Minecraft?

  6. Hallo Marc
    Habe wie beschrieben Version 1.14.4 auf DS218+ installiert funktioniert alles soweit Super
    allerdings kann ich den Gamemode nicht ändern und viele Befehle aus Mincraft fehlen auch.
    Ich habe es sowol in der server.properties versucht wie auch über die Konsole.
    Der geänderte Gamemode wir zwar angenommen wirkt sich aber nicht auf das Spiel aus.

    1. Habe ich mehrfach gemacht
      wenn ich in die server.properties unter gamemode creative eintrage erscheint es beim Starten auch auf der Konsole aber im Spiel passiert nichts?

  7. Hallo Marc,

    ich bin vor ein paar Tagen auf deinen Seite gestoßen und möchte mich an dieser Stelle direkt mal für die tolle und ausführliche Anleitung für den MC Server auf dem Synology bedanken.

    Das Einrichten hat wirklich gut geklappt und der Server läuft jetzt, soweit ich das beurteilen kann, auch flüssig (Übers LAN getestet).
    Ich habe deinen Rat befolgt und den Docker Container auf eine SSD gepackt. (Übrigend eine NVMe. Kann gerne den Link zur Anleitung posten, wie man eine NVMe SSD in der Synology auch als Volume nutzen kann)

    Mein Problem ist jetzt, dass ich (bzw. meine Freunde) den Server übers Internet nicht erreichen können.

    Ich habe die Freigabe in meinem Router eingerichtet, so wie ich es auch z.B. für die Audio und Video Station getan habe. Diese kann ich problemlos über meine URL (Synology als DDNS Host) sowie über Quick Connect erreichen, nur eben nicht den MC-Server.

    Kann es sein, dass das an IPv6 liegt?

    Im Docker/ Netzwerk ist IPv6 deaktiviert und ich habe keine Ahnung, wie ich das aktivieren kann. Vieleicht hast du einen Rat für mich.

    Vielen Dank schonmal im Voraus.

    Gruß
    Marcel

    1. Nutzt du myFritz? Das solltest du mal In der FritzBox ausprobieren. Das nutze ich unter der Haube bei

      Erzähl mehr zur SSD.

    2. Hallo Marc,

      nein, ich habe keine FritzBox, ich habe die beknackte Connect-Box von Unitymedia (jetzt Vodafone).

      Zur SSD:

      Ich bin dieser Anleitung gefolgt, hat super geklappt:

      Gruß
      Marcel

    3. Hi,

      ok, also ich kann nur zur FritzBox was sagen. Das klappt einwandfrei.
      Zur M2 SSD steht dort weiter unten:

      Everything worked fine for week, however magically all my directories and files on /volume4 disappeared, and all the docker data was lost, without any notice.

      Also nein danke. =) Das ist zu riskant. Synology sollte das lieber offiziell unterstützen. Mein Server läuft mit einer SSD extra für den Einsatz im NAS

    4. Hallo Marc,

      ich habe es endlich (zur Hälfte) hin bekommen.
      Über die IPv6 ist der Server jetzt erreichbar, über die URL leider immer noch nicht, obwohl alle anderen Dienste ohne Probleme über die URL erreichbar sind. Verstehe ich noch nicht ganz.

      Zur SSD:

      Ja, das Problem habe ich auch gelesen, und begegne dem jetzt so, dass ich jede Nacht ein automatisches Backup der SSD auf den Raid Verbund mache und jede Woche ein Backup des Raid Verbunds auf eine externe Festplatte.

      Bis jetzt läuft alles ohne Probleme.

      Gruß
      Marcel

    5. Ich habe IPV6 komplett ausgeschaltet weil es genau an solchen Stellen für Probleme sorgt.

  8. Wie kann ich den Container von 1.15.1 auf 1.15.2 updaten? Muss ich dafür alles neu einrichten? Container löschen und neuen erstellen? Oder geht das einfacher.

    Beste Grüße

    1. Dazu veröffentliche ich zeitnah einen Blogartikel. Wahrscheinlich morgen früh.

  9. Hallo Marc,
    Danke für die schöne Erklärung

    Meine Frage wäre wie ich einen Admin hinzufügen kann bzw wie ich in der server.properties etwas ändern kann, damit das im Game auch übernommen wird

    Dankeschön

    1. /op kannst du im Terminal machen. Das steht doch oben erklärt, oder?

      Auch das mit der Server.properties ist erklärt. Diese mounten und nur beim gestoppten Server Änderungen vornehmen

    2. Punkto Befehle finde ich nichts näheres erklärt,
      mit welchem programm muss die server.properties geöffnet bzw bearbeitet werden?

    3. Die Befehle kannst du wie gesagt im Terminal des Docker Container eingeben. Das sind die gängigen Bedrock Befehle.

      Die Server.properties mit einem Editor wie atom.io

    4. Moment hat gerade Funktioniert, irgendwo hatte ich einen Fehler ;-D

      Wollte mich aber noch für die Coolen projekte bedanke die du da so machst, mach weiter so

Schreib einen Kommentar

Wie kann ich mich verifizieren lassen?