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 Markus
    Markus

    Danke!
    Nach der Aktualisierung läuft nun alles :-)
    Da war scheinbar Murphys Gesetz am Werk.

  2. Avatar von Dirk
    Dirk

    Ich habe eine kleine Herausforderung, an der ich gerade scheitere:
    nach der Eingabe von „op username“ wird folgendes angezeigt:
    No targets matched selector. Hat jemand eine Idee?

    1. Avatar von Marc
      Marc

      Die Spieler müssen online sein

  3. Avatar von Noah
    Noah

    Hallo,
    in welchen Ordnersoolte man die Plug Ins speichern?
    LG Noah Greimel

  4. Avatar von mckarl
    mckarl

    Hallo Marc, danke für die Info bzgl. „whiteliste einfach nicht mehr mounten“ das hat bei mir funktioniert, siehe Log.
    Habe im mcserver-bedrock\Volumen-Einstellungen den Mount-Pfad „/bedrock-server/whitelist.json“ gelöscht und mit /bedrock-server/allowlist.json neu erstellt.

    Bzgl. Uhrzeit Log, da liegt der Server jetzt nicht mehr 2 Stunden sondern doch noch 1 Stunde zurück.
    Variable TZ mit Wert Europa/Berlin ist bei mir schon gesetzt gewesen.
    Kannst Du da mit der Stunde noch etwas ändern. Meine Frau würde sagen „Das ist Schmuck am Nachthemd und benötigt man nicht“, aber ich finde es persönlich besser :-)

    Bzgl. LOG / Protokolle: Kannst Du einstellen das die Protokolle z.B. eine Woche gespeichert werden? Aktuell kann ich immer nur einen Tag nachvollziehen u.a. wer alles auf unserem Mincraft Server gespielt hat.

    Vielen, vielen Dank für Deinen stehts aktuellen Server und die tolle Unterstützung hier. BG mckarl

    ………..
    06:31:25 NO LOG FILE! – setting up server logging…
    06:31:25 [2023-02-10 05:31:25:493 INFO] Starting Server
    06:31:25 [2023-02-10 05:31:25:493 INFO] Version 1.19.61.01
    06:31:25 [2023-02-10 05:31:25:493 INFO] Session ID 11fccbca-8802-4a20-b085-64113819c668
    06:31:25 [2023-02-10 05:31:25:493 INFO] Level Name: WORLD OF KARBRA912
    06:31:25 [2023-02-10 05:31:25:494 INFO] Game mode: 0 Survival
    06:31:25 [2023-02-10 05:31:25:494 INFO] Difficulty: 2 NORMAL
    06:31:26 [2023-02-10 05:31:26:710 INFO] opening worlds/WORLD OF KARBRA912/db
    06:31:27 [2023-02-10 05:31:27:450 INFO] IPv4 supported, port: 19132: Used for gameplay and LAN discovery
    06:31:27 [2023-02-10 05:31:27:450 INFO] IPv6 not supported
    06:31:28 [2023-02-10 05:31:28:096 INFO] Server started.
    ………

  5. Avatar von Roman
    Roman

    Hallo,

    wie sichere ich den Minecraft Bedrock Server am besten? Den ganzen Tage habe ich schon versucht, hier eine Möglichkeit zu finden. Über eine Anleitung würde ich mich sehr freuen. Vielen Dank

  6. Avatar von Rudi
    Rudi

    Hallo Mein Server der über Docker(sysnology) läuft wird vom PC gefunden. Der Zugriff soll allerdings über die Playstation funktionieren.
    Wie ich gelesen habe soll dieser Lokal in der Playstation im Menü Mincraft Freunde auch ohne Phantom angezeigt werden. Bei mir wird er nicht angezeigt.
    Was kann ich tun bzw woran kann das liegen?
    Als DNS Server ist bei mir die Fritz Box eingetragen.

    1. Avatar von Marc
      Marc

      Was sagt denn das log von Phantom? Sonst bitte bei Phantom im GitHub fragen

  7. Avatar von Bonnet Alexander
    Bonnet Alexander

    Hallo, habe den bedrock-Server zum laufen bekommen op Befehl hat auch funktioniert allerdings kann ich keine Koordinaten anzeigen lassen, und tp- Befehl geht auch nicht, cheats ist zwar hell lässt sich aber nicht auf 1 schalten.
    In der Datei properties steht der Eintrag allow-cheats auf True.
    Könnt ihr mir dabei behilflich sein?
    Schön wäre auch eine Liste aller terminalbefehle, im Web habe ich nach intensiver Suche nichts finden können.
    Mit freundlichen Grüßen
    A. Bonnet

    1. Avatar von Ramon
      Ramon

      Hallo Alexander,
      dieses Thema ist eher ein allgemeines Thema zu Minecraft und passt nicht wirklich zu der technischen Umsetzung hier.

      Dennoch:

      Versuch die Befehle vorher in der Server-Konsole (Im Docker zu finden) auszuführen. Die Server-Konsole hat nämlich alle Berechtigungen.
      Um als Spieler Zugriff auf alle Befehle zu haben, solltest du allow-cheats auf true setzen und den Spieler als Operator (Befehl op „Spielername“) hinterlegen solange er auf dem Server ist.

  8. Avatar von Wolfgang
    Wolfgang

    Hallo!

    Hat jemand Erfahrung mit addons bzw. geht das überhaupt? Mir ist es bisher leider nicht gelungen, auf dem Server addons zu installieren?

    Grüße

  9. Avatar von Patric
    Patric

    Hallo Marc,
    leider vergisst Docker bei jedem Update den Operator. Gibt es hier einen Workaround?
    Danke
    Gruß
    Patric

    1. Avatar von Marc
      Marc

      Den Operator? Schau dir bitte das YouTube Video an und lies den Artikel hier genau. Du hast sicherlich etwas bei der Einrichtung nicht korrekt beachtet.

  10. Avatar von Patric
    Patric

    Hallo Marc,
    ja genau, den Operator. Einrichtung habe ich genau nach deiner Anleitung gemacht. Funktioniert sonst auch alles. Wenn Watchtower ein Update für den Mincecraft Server zieht, wird der Operator entfernt.

    1. Avatar von Marc
      Marc

      Was ist denn ein Operator?

    2. Avatar von Ramon
      Ramon

      Gemeint ist damit der Minecraft Konsolenbefehl „op“.
      Dieser ist notwendig um zum Beispiel Commandblöcke zu benutzen.

      Dies wird zurückgesetzt, da bei Updates der Container ja zurückgesetzt wird und die OP-Daten nicht in der whitelist/allowlist und den Server-properties hinterlegt wird.
      Die restlichen „externen“ Daten sind dann nur noch die „Weltdaten“.

      Bei der Java Version weiß ich, dass es eine op.json gab. Wenn es sowas bei Bedrock Version geben würde, könnte man es mit einen Pfad „extrahieren“

    3. Avatar von Marc
      Marc

      Wenn man die Anleitung hier befolgt, werden alle relevanten Dateien außerhalb des Containers gespeichert

    4. Avatar von Ramon
      Ramon

      Hi Patric, Hi Marc,

      man kann die OP-Rechte mit dem Bedrock-Server-Container folgendermaßen permanent einrichten:

      1) einfügen folgender Zeile in der Datei „server.properties“
      op-permission-level=4

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

      3) 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

      4) Server starten

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

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

      Dies hat heute bei mir so funktioniert! On Schritt 1 wirklich notwendig ist weiß ich nicht genau, da dies nur besagt welchen OP-Status der Spieler standartmäßig erhält.

      Schönes Wochenende

Schreibe einen Kommentar

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