Innerhalb von 5 Minuten kommt man mit einem Synology NAS mit Intel CPU (z.B. DS218+) 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.

Was wird benötigt?

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 3B+.

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 offizielle Paket verwendet dazu noch eine alte Version des Servers und nicht das performantere PaperMC für Minecraft 1.13.

In 5 Schritten zum Minecraft-Server

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“ oder „1.13.2“ als Tag runterladen willst. „Latest“ ist die neuste Version von 1.14.X und ist nicht so performant und ausgereift wie 1.13.2.

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

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

49 Kommentare

    1. Ja, ist es. Aktuell nutze ich PaperMC im Container. Wenn das stabil die Version 1.14 unterstützt, aktualisiere ich den Container.

    2. sehr Cool dank für deinen Support hier, kannst du mir sagen ob einstellungen auf dem Server verloren gehen. Spielstände usw. Und ob man einfach nur den Container tauschen muss?

    3. Sorry, ich hatte mich vertan. Nein, die Einstellungen gehen nicht verloren, wenn du meiner Anleitung folgst.

  1. Ich habe mir vorhin den Synology DS218+ gekauft mit 4TB HDD und 2 GB Ram (8GB Ram kommen am Donnerstag). Habe schritt für schritt Installiert, nach deiner Aneitung her ist alles auf Englisch?! (Einstellungen) und der rest auf Deutsch.

    Leider funktionierts nicht, es probiert zu starten, aber stoppt dauernd. Könntest du mir evtl helfen?

    1. Was sagen Dir Logs? Fehlermeldungen? Ohne das kann Dir leider niemand helfen

    2. Hab den Fehler gefunden, bei den Java Einstellungen hast du 3G drinnen und ich hab 1.5G gehabt, habs jetzt geändert auf 1G bis die 8GB kommen :)

  2. Guten Morgen Marc, Ich nutze deinen Server nun auch schon seid ein paar Wochen. Dafür erst einmal Vielen Dank. Da ich Streamer bin, Schreit meine Community schon nach dem neuen Update. Weißt du wie ich dies auf den Server bekomme? 1.14

    1. Hi,

      wenn diese Liste bei 100% ist:

      Auf dem Synology NAS ist ein „normaler“ Minecraft Server nicht performant zu betreiben. Deswegen setze ich auf PaperMC in dem Docker Container. Das dauert einfach etwas.

  3. Hallo Marc,

    die Version des Servers ist immernoch 563 (siehe im Dockerfile ) und nicht „latest“ wie oben im Dockerfile angegeben.
    Jetzt ist 624 aktuell.
    Kannst Du das bitte anpassen?

    VG Andreas

    1. Gibt es denn einen relevanten gefixte Bug? Aktuell läuft er so stabil – was nicht immer so war

    2. Stabil läuft er…
      Ich habe mich halt gewundert, warum sich das Image nicht updaten lässt und dann den Unterschied in den beiden Dockerfiles gefunden.
      Wenn es von Dir so gewollt ist, dann ist das auch okay.

      VG Andreas

  4. Hallo Marc,
    erstmal danke für die Anleitung und die Arbeit, die Du Dir da gemacht hast!

    Ich nenne eine DS218+ mein Eigen. 8 GB RAM kommen Montag.
    Ich habe das Problem, dass der mcserver als auch der Overviewer sich „unerwartet“ beenden und ich sehe nicht, warum das so sein sollte.

    Meine Einstellungen für das Dockerimage:

    Allgemeine Einstellungen:
    Ressourcenbeschränkung aktivieren: ja
    Speichergrenzwert (weil noch keine 8 GB da sind): 512 MB

    Erweiterte Einstellungen:
    Automatischen Neustart: Ja

    Volume:
    Ordner hinzufügen: mcserver (die erstellte Freigabe)
    Bei Mount-Pfad „/data“ eingesetzt, wie beschrieben.

    Bei den Port-Einstellungen sieht es so aus:
    Lokaler Pfad | Container-Port | Typ
    25565 | 25565 | TCP
    25565 | 25565 | UDP

    Umgebung:
    MEMORYSIZE habe ich auf 800 gesetzt.

    Ich werde noch mit den 2 RAM-Werten spielen, aber ich sehe noch kein Licht am Ende des Tunnels.

    Was mache ich falsch? Was kann ich verbessern/verändern, damit’s läuft?

    Vielen Dank!

    1. Interessant ist die hs_err_pid1.log:

      #
      # There is insufficient memory for the Java Runtime Environment to continue.
      # Native memory allocation (mmap) failed to map 3221225472 bytes for committing reserved memory.
      # Possible reasons:
      # The system is out of physical RAM or swap space
      # The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap
      # Possible solutions:
      # Reduce memory load on the system
      # Increase physical memory or swap space
      # Check if swap backing store is full
      # Decrease Java heap size (-Xmx/-Xms)
      # Decrease number of Java threads
      # Decrease Java thread stack sizes (-Xss)
      # Set larger code cache with -XX:ReservedCodeCacheSize=
      # This output file may be truncated or incomplete.
      #
      # Out of Memory Error (os_linux.cpp:2749), pid=1, tid=0x00007f5f77ae9700
      #
      # JRE version: (8.0_202-b08) (build )
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.202-b08 mixed mode linux-amd64 compressed oops)
      # Core dump written. Default location: /data/core or core.1
      #

      failed to map 3.221.225.472 bytes? Aber ich habe in den Einstellungen bei MEMORYSIZE etwas anderes eingegeben. Oder ist das unabhängig davon?

      Gruß

    2. Argh! Ich habs.

      MEMORYSIZE war das Problem. Ich hatte das zwar von „3G“ auf „512“ geändert, aber das kleine aber feine „m“ hinter der „512“ vergessen…

      Das hilft! Danke :)

  5. Hallo Marc,
    ich wie sieht es mit der Version 1.14 aus? Läuft diese stabil?
    Wann wird der Container wohl geupdatet?

    Grüße

    1. Der Container ist bereits aktuell: Allerdings nicht ansatzweise stabil oder spielbar. Das wird auch noch dauern.

  6. Tach,
    habe jetzt seit gut zwei bis drei Wochen den MC Server, stabil auf meiner DS718+ am laufen.
    Dank der Super Anleitung, ein Kinderspiel. ;) Danke Dafür!

    Nur jetzt habe ich ein mächtiges Brett vorm Kopf. Wie Update ich den Server jetzt auf Version 1.14.2?

    Ich vermute das ich diese Programmzeile

    ARG paperspigot_ci_url=

    Durch die alter ersetzen muss. Nur finde ich Sie nirgends.

    Wäre für einen Hilfreichen Rat dankbar.

    Gruß Theo

    1. Gar nicht. Bitte mal die Kommentare hier lesen. 1.14.2 ist nicht einsatzbereit für Live-Server. Da man auf dem Synology PaperMC nutzen muss wegen der Performance ist es noch nicht so weit. Ich aktualisiere unseren Server auch erst wenn es stabil läuft.

      Wenn du völlig irre bist, dann nutze gerne mein neues Image:

      Das wird bald das alte ersetzen.

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