Minecraft Bedrock Server 1.20 auf Synology NAS installieren


Dedizierter Bedrock Server auf einem Synology NAS

Wer einen Minecraft Bedrock Server für iOS, Android, Windows, PlayStation 4 und Xbox One auf seinem Synology NAS hosten möchte, kann dies nun tun. Die Minecraft Java-Version bietet allerdings immer noch mehr Features wie Unterstützung durch Overviewer und macOS. Die Bedrock-Edition wird immer populärer und somit interessanter und man sollte sich alle Wege offen halten. Vor allem, weil Mojang seit Dezember 2018 eine offizielle dedizierte Server Software für Ubuntu und Windows anbietet. Deswegen lernen wir nun, wie wir einen Bedrock-Server auf einem Synology NAS installieren.

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

Kompatibilität der Minecraft Clients mit den Servern

Der Server der neueren Bedrock-Edition läuft viel performanter als der Java-Edition. Die Bedrock-Edition findet sich auf den Konsolen und mobilen Geräten wieder. Dafür ist der dedizierte Bedrock-Server noch in der Alpha-Phase seitens Mojang und erlaubt keine Mods. Außerdem wurde der Server nur für x86-Architektur kompiliert. Das heißt: Es gibt keinen performanten Bedrock-Server für z.B. den ARM-basierten Raspberry Pi. Clientseitig fehlt dem Bedrock-Server die Unterstützung für die Nintendo Switch und macOS. Unglaublich aber wahr: für den Mac zudem keinen Bedrock-Edition Client.

ClientBedrock ServerJava Server
Android
iOS
XBOX ONE
Nintendo Switch
PS4
XBOX 360
PS3
Windows 7/8/10 Java
Windows 10 Bedrock
Linux
macOS
Welcher Client kann sich mit JAVA oder Bedrock Servern verbinden?
Andy's Xbox ONE und mein iPhone auf dem meinem Bedrock Server
Andy’s Xbox One in Köln und meine iPhone-Version in Hannover auf dem Synology Bedrock Server

Anleitung Schritt für Schritt

Schritt 1: 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. Ein günstiger Einstieg ist das DS218+ (kaufen).

Bedrock Server Docker Image im Synology Repository
Bedrock Server Docker Image im Synology Repository

Schritt 2: Erstellen eines Ordners

Der Server braucht einen Speicherort auf der DiskStation in dem die Konfigurationsdateien und vor allem die Map liegt. Dafür legt man einen neuen Ordner im nun vorhanden Shared Folder „docker“ an. Das hat den Vorteil, dass dort alle Rechte bereits vergeben sind.

Schritt 3: Runterladen des Dockerimages

In Docker selber suchst du nun in der Registry nach „MarcTV“ und wählst das Image „Minecraft Bedrock Server“ aus und lädst es runter. Das Image kann auch auf Docker Hub heruntergeladen werden.

Schritt 4: Konfigurieren des Docker Containers

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

Docker resource limitation

  • CPU priority: high
  • Memory Limit: 50 % des Arbeitsspeichers im NAS

Advanced Settings

  • Enable auto-restart: yes

Volume

  • Folder: Das shared folder aus Schritt 1 hier auswählen
  • Mount path: /bedrock-server/worlds

server.properties

  • File/Datei und nicht Ordner: die lokale Konfigurationsdatei für den Server. Kopiert einfach diese hier lokal ins NAS.
  • Mount path: /bedrock-server/server.properties

allowlist.json

  • File/Datei und nicht Ordner: die lokale allowlist.json für den Server. Kopiert einfach diese hier lokal ins NAS.
  • Mount path: /bedrock-server/allowlist.json
So sieht der mount path mit server.properties Datei (NICHT Verzeichnis!) aus.
So sieht der Mount Pfad mit server.properties Datei aus.

Port Settings

  • Local Port: 19132 TCP
  • Container Port: 19132 TCP
  • Local Port: 19132 UDP
  • Container Port: 19132 UDP
Korrektes Port-Mapping für Docker

Allowlist und Adminrechte

Auf dem Terminal des Synology Docker Containers könnt ihr Befehle ausführen. Zum Beispiel jemanden auf die allowlist setzen:

whitelist add MarcTV

Fügt einen Nutzer in die allowlist.json hinzu. Überprüft hier, ob der Benutzer auch wirklich in der Datei eingetragen wurden.

Ihr könnt einem Nutzer auch Adminrechte geben. Dies funktioniert nur, wenn der entsprechende Nutzer online ist.

op MarcTV // Adminrechte für den Usernamen
deop MarcTV // entfernen der Adminrechte
Die /op Befehle funktionieren nur, wenn der User online ist

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. Nun sollte er im Spiel erscheinen. Unter Umständen muss in der Firewall des NAS selber die Ports geöffnet werden: „Control Panel > Security > Firewall > Edit Rules“ den Docker Server für UDP und TCP freigeben.

Schritt 6: Freigeben des Servers über das Internet

Ich nutze eine Fritz!Box. Dort kann man unter den Einstellungen Internet > MyFritz-Konto eine Adresse einrichten, über die man die Fritz!Box 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 „19132“ per TCP und UDP freigeben.

UDP und TCP Freigaben in einer Fritz.Box 7590
UDP und TCP Freigaben in einer Fritz.Box 7590 (kaufen)

Hinweis für IPv6 Kunden

Viele Router laufen schon über IPv6 oder DS-Lite. Das bedeutet, dass die Portfreigabe komplizierter ist. Einfacher ist es beim Internetprovider anzurufen und sagen, dass man gerne auf eine IPv4 Anbindung wechseln möchte. Die Begründung sollte sein, dass IPv4 für einen beruflichen Dienst benötigt wird. Danach schaltet man unter „Internet“ -> „Zugangsdaten“ -> „IPv6“ auf „native IPv4 Anbindung“ um und erstellt dann die Portfreigabe.

Häufig gestellte Fragen

Wie verbindet man sich mit der PlayStation oder Xbox?

Lokal funktioniert die Verbindung auf den Server auf der PlayStation und XBOX ONE ohne Probleme. Über das Internet muss man Phantom benutzen.

Wie konvertiere ich eine Minecraft Java-Karte für Bedrock

Das Tool MCC Toolchest PE kann zur Konvertierung von Java-Karten zur Bedrock-Edition genutzt werden. Nicht verwechseln mit Tool MCC Toolchest ohne PE im Namen. Dafür öffnet man eine Bedrock-Edition Karte und wählt im Kontextmenü Tools > Convert > From Java und wählt die Java-Karte. Anschließend speichern nicht vergessen.

Der Bedrock-Server braucht deutlich weniger Leistung als der Paper-Java-Server

Wie hoch ist die CPU-Last?

Während der Bedrock-Server sehr genügsam ist und selten über 5 % CPU Last verursacht, sorgt der Paper-Server schnell für 25 % und mehr CPU-Last. Da der Java-Server eine Single-Thread-Anwendung ist, wird bei einer Quad-Core-CPU wie in dem Synology DS420+ (kaufen) nur ein Viertel der vorhandenen Leistung genutzt. Bei mir geht die Leistung manchmal auch auf über 35 % CPU-Last. Das liegt entweder am Boost-Mode der CPU oder daran, dass der Paper-Server neben dem Haupt-Thread noch andere Dinge berechnet.

Wie aktualisiere ich die Docker Container automatisch?

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.

Wie installiere ich Plug-ins und Mods für die Bedrock-Edition?

Für die Bedrock-Edition sind mir keine Plug-ins und Mods bekannt. Wenn das wichtig ist, sollte man sich eher für den Server für die JAVA-Version von Minecraft entscheiden. Wenn es sie doch geben sollte, kann man sie auf dem lokalen Ordner auch installieren. Denn der gesamte Server abzüglich der Linux-Umgebung befindet sich außerhalb des Containers. Jedenfalls, wenn die Anleitung korrekt befolgt wurde.

Läuft der Bedrock-Server auch auf einem Raspberry Pi 4?

Die Bedrock-Server Software gibt es aktuell nur für x86-CPU Architekturen wie von Intel und AMD. Der Raspberry Pi 1 bis 4 nutzt einen ARM Prozessor. Es ist deswegen nicht sinnvoll möglich einen Bedrock-Server auf einem Pi zu betreiben. Deswegen ist diese Anleitung für ein Synology NAS mit einer Intel CPU und Docker angelegt.

Warum sagt Minecraft, dass der Server veraltet ist?

Microsoft und Mojang aktualisieren ihren Server auf deren Webseite meistens verspätet. Mein Docker Container ruft automatisch die neuste Version zweimal am Tag ab und baut daraus automatisch den Container. Bevor Du fragst, wann der Container das nächste Mal aktualisiert wird, schaue, ob überhaupt eine neue Version auf der Webseite bereitsteht.

Die Zukunft

Ich werde unseren Minecraft Java Server unter mc.marc.tv so lange weiter nutzen, bis alle der folgenden Bedingungen erfüllt sind:

  1. Mojang stellt die Unterstützung der Java-Version ein.
  2. Bedrock-Edition erscheint für macOS.
  3. Xbox One ,PS4 und Nintendo Switch erhalten offiziellen Support für dedizierte Server ohne Phantom.
  4. Overviewer generiert isometrische Ansichten von Bedrock-Karten

Das Eintreten aller dieser Bedingungen ist sehr unwahrscheinlich. MOJANG möchte mit den kostenpflichtigen „Realms“ Geld verdienen.

This is an early release (alpha) which we don’t fully support yet. It might contain severe issues, and we could stop supporting it at any time.

MOJANG Anfang 2019 über ihren Bedrock Server

Wenigstens gibt es einen Migrationspfad auf Bedrock der heute schon funktioniert. So hält man sich alle Optionen offen. Durch den Alpha-Status bleibt nun alles bei der Java-Version für unseren aktuellen Minecraftserver.


Beitrag veröffentlicht

in

von

Kommentare

359 Antworten zu „Minecraft Bedrock Server 1.20 auf Synology NAS installieren“

  1. Avatar von Patric
    Patric

    Hallo Marc,
    Ein Operator ist ein von dem Besitzer bzw. einem anderen Operator des Servers ausgewählter Spieler, der den Server überwachen soll.
    Die Aufgabe eines Operators besteht darin, den Server zu verwalten. Daher haben sie Zugriff auf sämtliche Befehle (vorausgesetzt es gibt keine Plugins, die das verhindern). Das bedeutet, sie können den Server herunterfahren, den Befehl /give benutzen, den Spielmodus ändern, alle Spieler (auch den Besitzer des Servers) bannen/kicken/zu Operatoren ernennen/die Operatorrechte entziehen und haben die Kontrolle über alle Plugins des Servers.
    Gruß
    Patric

    1. Avatar von Marc
      Marc

      Okay, das geht wie bei jedem Minecraft Server direkt auf der Commando Zeile mit /op

  2. Avatar von mckarl
    mckarl

    Hallo Marc,

    das Log vom Server hinkt jetzt wieder 2 Stunden hinterher:

    Uhrzeit Protokoll
    06:31:34 [2023-04-25 04:31:34:481 INFO] Server started.

    Kannst Du das wieder ändern?

    Das letzte mal hatte Deine Änderung 1 Stunde raus geholt, also noch nicht ganz passend.

    Bzgl. Protokoll: Meine Jungs wollen mir immer erzählen, dass Sie gestern oder vorgestern nur in der Zeit von bis auf dem Server waren.
    Leider kann ich dieses nicht nachvollziehen da ich immer nur den aktuellen Tag sehen kann.

    Kannst Du das so einstellen, dass 2-3 Tage oder eine Woche protokolliert werden?

    Ich selber kann da leider nichts ändern.

    Ganz lieben Dank für Deinen stehts aktuellen und TOP laufenden Minecraft Server! BG MCKarl

  3. Avatar von Ramon
    Ramon

    Hallo Marc,
    dein Server läuft auf meiner 918+ nun schon mehrere Jahre ohne Probleme. Vorher hatte ich immer Java Server am laufen.
    Was mit in der Tat noch fehlt sind gar nicht mal die Mods, sondern viel mehr eine Karte.
    Ich habe gesehen, dass du in deiner Docker-Bibliothek ein Papyrus-Docker hats.

    Besteht die Möglichkeit dies für Synology-Docker-Nutzer benutzerfreundlich zu hinterlegen? Man muss ja zumindest Pfade für den Input (Worldordner) und für den Output (HTML-Karte) hinterlegen und um die Karte einigermaßen aktuell zu halten noch einen Zeitplan hinterlegen wann die DS die Karte aktualisieren soll.

    Am Ende hat man zwar keine Live-Karte wie beim Java Overviewer, aber immerhin etwas.

    Könntest du dafür etwas zeit aufbringen?

    Gruß und Dank

    1. Avatar von Marc
      Marc

      Das hat leider nicht wirklich geklappt mit dem Papyrus. Das war einfach zu schlecht. Aktuell gibt es imho keine gute Möglichkeit so was wie Overviewer für Bedrock umzusetzen

  4. Avatar von mckarl
    mckarl

    Hallo Marc,
    kannst Du bzgl. Änderung Protokoll (Speicherung von mehreren Tagen) da etwas in nächster Zeit ändern?

    Uhrzeit vom Protokoll funktioniert jetzt bestens. Da hat sich bei mir in der Variable TZ der Fehlerteufel eingeschlichen.
    Falsch=Europa/Berlin
    Richtig=Europe/Berlin

  5. Avatar von Rene Knote
    Rene Knote

    Hallo Marc,

    Dein Bedrock Server läuft auf meiner Synology schon eine ganze Zeit stabil und flüssig. Auch die Updates auf die neue Version kommen recht zügig. Ich habe nur ein Problem:
    Wenn ich einem Spieler via op auf dem Terminal Admin Rechte zuweise, kann dieser trotzdem nicht alle Spieleinstellungen ändern. (Z.B. Friendly Fire). Gibt es eine Möglichkeit alle Spieleinstellungen editierbar zu machen?

    1. Avatar von Perez
      Perez

      Hallo Rene,
      kontrolliere mal deine server.properties. Stelle sicher, dass dort „op-permission-level=4“ enthalten ist.
      Dies ist das höchste OP-level und sobald man mit der Konsole einen Spieler OP-Rechte gibt wird er Stufe 4 sein.

      Manche Befehle sind „Console only“, also nur übers Terminal ausführbar.
      PVP-Modus sollte aber mit OP-4 möglich sein.

  6. Avatar von Dirk
    Dirk

    Hallo Marc,

    hast du für mich einen Tipp, wie ich eine veränderte Welt Karte wieder auf den Urzustand zurücksetzten kann?

    Danke dir

    1. Avatar von Perez
      Perez

      Hallo Dirk,
      Minecraft merkt es sich in welchen Chunk Änderungen durchgeführt wurden und wo nicht. Bei unveränderten Chunks kann es passieren, dass Minecraft nach einen Update den Chunk neu generiert und somit die Welt anders aussieht.
      Dies kann man rückwirkend nicht mehr ändern.

      Dies war bei mir auch so. Man könnte maximal eine alte Weltversion (wenn man ein Backup der Welt mit Time-Machine Funktion erstellt hat) verwenden und mit der alten Minecraftversion weiterspielen (Updates unterbinden)

  7. Avatar von MrHanky
    MrHanky

    Hey Marc

    I’ve got the issue that Microsoft service authentification does not work on this and I don’t know why it worked two weeks ago and I didn’t made any changes?
    Can you help me with this?
    Lg Hanky

    1. Avatar von Perez
      Perez

      Dear Mr. Hanky,
      This is most likely a client-side issue. Try reinstalling Minecraft on your PC/smartphone/whatever.
      Otherwise, change the “Online Mode” to “false” (in server.properties):
      Online mode=false

      This will disable the need to be logged into your Minecraft Account.

  8. Avatar von Ramon
    Ramon

    Hallo Marc,
    kannst du in deiner Anleitung noch die permission.json aufnehmen?
    Dies ist eine Datei, welche ähnlich ist wie die whitelist.json.

    Die Permission.json beinhaltet Benutzerrechte, wie zum beispiel ob man Beobachter oder Operator ist. Desweiteren kann man die OP Stufen von den jeweiligen Spielern einstellen.

    Derzeit ist diese Liste noch im Container und somit flüchtig (Thema Updates -> Containerreset).

    Hier nochmal der Leitfaden von mir:

    —————————–

    1) Ablage der Datei „permissions.json“ im gleichen Ordner wie die Datei „server.properties“

    2) permissions.json im Container anhängen:
    File/Datei und nicht Ordner: die lokale permissions.json für den Server.
    Mount path: /bedrock-server/permissions.json

    3) Server starten

    4) Spieler, welcher online sein muss mit dem Befehl „op“ zum Operator machen

    optional: die permisssion.json öffnen und den Eintrag kontrollieren.

    —————————–

    Die permission.json kannst du dir jederzeit aus dem Server-Ordner ziehen (Wenn man den Server unter Windows oder so ausführt).

  9. Avatar von Siegfried
    Siegfried

    Hallo Marc,
    ich würde gern functions (oder allgemeiner eigene resource_packs und behavior_packs) auf dem server nutzen.

    Gibt es dazu eine Möglichkeit?

    Ich habe versucht, unter dem Server-Verzeichnis „behavior_packs“ ein Verzeichnis für mein custom behavior_pack zu verwenden, das auf ein shared folder zeigt. Da habe ich dann ein manifest.json und meine functions abgelegt.

    Mit der gleichen Struktur habe ich auf der lokalen bedrock-Installation erfolgreich functions verwendet.

    Allerdings scheint der Server das neue behavior_pack nicht zu erkennen.

    Eine Möglichkeit, eigene Pakete für den server zu aktivieren, scheint es ja bisher auch nicht zu geben. So steht es zumindest noch im bedrock_server_how_to.html.

    Vielen Dank

  10. Avatar von Siegfried
    Siegfried

    Hallo,

    jetzt habe ich gerade eine Möglichkeit gefunden, eigene behavior und resource_packs auf dem Server zu verwenden:

    1. Server stoppen und \worlds\WORLD Verzeichnis sichern.
    2. Unter Windows In der lokalen Minecraft Umgebung eine neue Welt anlegen.
    3. Minecraft beenden.
    4. Ordner der neuen Welt finden (normalerweise unter %localappdata%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftWorlds).
    5. Das db Verzeichnis der lokalen Welt löschen.
    6. Den Inhalt des Server WORLD Verzeichnisses in das Verzeichnis der lokalen Welt kopieren (vorhandene Dateien überschreiben).
    7. In den Verzeichnissen behavior_packs und resource_packs der lokalen Welt eigene Pakete anlegen (siehe ). Es genügt, zunächst nur die Paket-Container (Verzeichnis und manifest.json) anzulegen.
    8. In mindestens einem der Pakete eine Testfunktion anlegen (siehe .
    9. Minecraft starten und die lokale Welt (die jetzt so heißt wie auf dem Server, z.B. WORLD) bearbeiten (Bleistift).
    10. Links nach unten bis zum Abschnitt „Add-ons“ scrollen.
    11. Verhaltenspakete auswählen. Die neuen Pakete erscheinen dann rechts unter „Meine Pakete“.
    12. Paket(e) auswählen und auf „Aktivieren“ klicken.
    13. Minecraft beenden.
    14. Den Inhalt des Server-Weltordners durch den Inhalt des lokalen Weltordners ersetzen.
    15. Minecraft starten und mit Server verbinden.
    16. Es erscheint jetzt ein Fenster „Ressourcenpakete herunterladen?“.
    17. In diesem Fenster auf „Herunterladen und beitreten“ klicken.

    Jetzt stehen die neuen Pakete zur Verfügung.
    Sie werden zwar in der Konfiguration nicht als aktive Add-ons angezeigt, sei scheinen aber trotzdem zu funktionieren.

    Zum Testen im Chat „/function “ eingeben, dann sollte die angelegte Test-Funktion angezeigt werden und auch funktionieren.

    Komischerweise steht der Befehl /reload im Chat nicht zur Verfügung.
    Nach Änderungen der Packages im Server WORLD Verzeichnis muss man daher erst den Server neu starten, bevor die Änderungen wirksam werden.
    Es empfiehlt sich daher, functions und andere add-ons in einer lokalen Welt auszutesten, bevor sie auf den Server geladen werden.

Schreibe einen Kommentar

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