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

    Hi,
    im Spiel unter Einstellungen -> Welt -> Spiel gibt es Weltoptionen die alle deaktiviert sind, wie z.B. TNT explodiert oder Koordinaten anzeigen.
    Ich mal davon aus, dann man diese Optionen irgendwo in den properties einstellen kann.

    Viele Grüße

    1. Avatar von Kyle
      Kyle

      I am having this issue as well and wondered how to solve it. My kids want to be able to see the coordinates.
      Cheers!

    2. Avatar von Marc
      Marc

      As far as I know you just have to add this option in the server. settings file. Or build a map in game like a real gamer =)

    3. Avatar von Kyle
      Kyle

      I found the answer with some more in-depth searching. Alterning the server file doesn’t do it. Coordinates can be turned on via the terminal window through the command „gamerule servercoordinates true“
      Info from –
      As someone who doesn’t play, just trying to make life better for my kids, this has been a fun learning experience.

  2. Avatar von Christian
    Christian

    Hi Marc,
    wir haben Java Karten auf Bedrock portiert und add-ons eingefügt. Beides funktioniert gut. Jetzt haben wir Welten unter Realms gekauft und lokal gesichert. Wenn wir die Realms auf den Bedrock Server laden, erhalten wir den Fehler:
    „[ERROR] DBStorage chain is invalid. Possibly encryption-related, or bad DBStorageConfig passed. Reason: Unable to decipher/decrypt LevelDB.“
    „[ERROR] Network port occupied, can’t start server.“
    Der Port wird nur für diesen Container verwendet. Weiß Du, ob Realms auf den Bedroch Server gespielt werden können, oder hat Mircosoft das gesperrt?

    1. Avatar von Marc
      Marc

      Also wenn der Server sagt, der Port ist nicht frei, dann ist er es nicht. =) Und es hört sich so an als ob Mojang die Welten verschlüsselt und es nicht übertragbar ist.

  3. Avatar von tom
    tom

    Hallo und Danke für das Guide,… nun haben meine Kids auch einen gemeinsamen Server. Kurze Fragen:
    1. Kann man in dem Docker auch Plugins/Skins installieren? Wie würde die Volumeverlinkung aussehen?
    2. Wenn man zwei oder mehrere „Welten“ haben möchte, wie wechselt man da hin und her? (Nur über die sever.properties?)
    Grüße, Tom

    1. Avatar von Marc
      Marc

      1. Ist im Artikel erwähnt.

      2. Wenn man so richtig cool ist, dann nimmt man dafür natürlich wieder einen Docker Container. Den bestehenden einfach duplizieren und auch ein neues Verzeichnis zeigen lassen. Dann könnte man, bei entsprechender Konfiguration der Ports, sogar zwei oder mehr gleichzeitig laufen lassen.

      Wenn man weniger cool ist, dann macht man es eben die server.properties. =)

  4. Avatar von Winni
    Winni

    Hallo Marc, dein Server läuft einwandfrei, Danke für diese tolle Möglichkeit.

    Ich habe leider ein Problem, dass ich nicht auf das Terminal zugreifen kann. Ich bekomme immer die Meldung „Socket geschlossen“.

    Woran kann das liegen? Habe bereits Docker neu Installiert, hat alles nichts gebracht.

    1. Avatar von Marc
      Marc

      Anderer Browser? Wird was geblockt?

  5. Avatar von Winni
    Winni

    Hab´s im Firefox und im Edge versucht. Wüsste nicht, wo etwas gebockt werden könnte. Ich greife ja intern im Netzwerk darauf zu und nicht von extern. Die Ports sind ebenfalls in der Firewall der DS freigegeben.

    1. Avatar von Winni
      Winni

      Kurzes Feedback, heute geht der Terminal kein Ahnung warum aber die chucks laden dauert sehr lange! Da kann man richtig zusehen trotz ssd und nvssdcache! Wenn se einmal generiert sind, geht es aber schneller! Btw! Läuft sogar mit rtx Effekt! Danke nochmal für die klasse Anleitung und den super Support!

  6. Avatar von Daniel
    Daniel

    Hallo Marc super Arbeit, DANKE!

    Der Server läuft so weit, jedoch wenn ich bei Volumen „server.properties“ und „whitelist.json“ hinzufüge geht nix mehr.
    Docker API ist Fehlgeschlagen mit der Fehlermeldung
    „Start container bedrock-minecraft-server failed: {„message“:“OCI runtime create failed: container_linux.go:345: starting container process caused \“process_linux.go:430: container init caused \\\“rootfs_linux.go:59: mounting \\\\\\\“/volume2/SSD 250GB/mcserver-bedrock2/server.properties\\\\\\\“ to rootfs \\\\\\\“/volume1/@docker/btrfs/subvolumes/55dbe325de0e0731d68d2bc098217a884b1b70b72d2d227a218fdca12f3317f4\\\\\\\“ at \\\\\\\“/volume1/@docker/btrfs/subvolumes/55dbe325de0e0731d68d2bc098217a884b1b70b72d2d227a218fdca12f3317f4/bedrock-server/server.properties\\\\\\\“ caused \\\\\\\“not a directory\\\\\\\“\\\“\“: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type“}.“

    Ich habe mich genau an Schritt 4 gehalten (Bild von Volume, File und Mount) und die Dateien in den jeweiligen Ordner kopiert whitelist.json 1KB und server.properties 3KB

    Falls jemand eine Idee hat wo ich da noch ein Fehler habe bin ich für Tipps sehr dankbar.

    1. Avatar von Marc
      Marc

      Naja, die Fehlermeldung sagt dir ja schon den Fehler: „Are you trying to mount a directory onto a file „. Oben in der Anleitung steht bei der Server.properties ganz klar als „file“ und nicht als „Directory“ (Verzeichnis) im Docker mounten.

  7. Avatar von Daniel
    Daniel

    Danke Marc für die schnelle Hilfe. TOP
    Jetzt habe ich es bei „Volume/Datei hinzufügen“ und NICHT „Datei hinzufügen“ geschafft.
    Danke

    1. Avatar von Marc
      Marc

      Nutzt du ein Synology? Sieht dein Interface anders aus als oben im Artikel die Screenshots?

  8. Avatar von Daniel
    Daniel

    Ja genau ich habe die DS220+ mit 8GB zusätzlichen Speicher.
    Oben meine ich natürlich: Jetzt habe ich es bei „Volume/Datei hinzufügen“ und NICHT „Ordner hinzufügen“ geschafft.

  9. Avatar von Marek
    Marek

    Hallo,

    wir haben den Bedrock server auf einer 418play zum Laufen bekommen. Allerdings kann ich gamemode nicht ändern. Standard ist auf Survival. In den Einstellungen bei Minecraft ist die Auswahl dunkelgrau hinterlegt.
    IN der Datei server.properties- steht Standardmäßig gamemode=adventure. Spielen lässt sich allerdings nur survival wie oben beschrieben.

    Wie kann ich das ändern?

    1. Avatar von Marc
      Marc

      Die Frage hat nichts mit meinem Container zu tun sondern ist allgemein. Einfach mal googlen. Ich denke, du musst „force game mode“ setzen

    2. Avatar von Marek
      Marek

      Ok, danke dir.

    3. Avatar von Jörg
      Jörg

      Hallo Marek, und die „permissions.json“ hast Du korrekt in Docker gelinkt und da steht auch was drin?
      Im Stile von: [{„permission“: „operator“, „xuid“:“xxxxxxxxxxxxxxxx“}] ?
      Bei uns geht der Wechsel des gamemodes nämlich (ich nutze zwar eine selbst gedockerte Version des Bedrock alpha Servers, aber das sollte keinen Unterschied machen). Gemäss der obigen Anleitung wird nämlich die Datei „permissions.json“ nicht erwähnt, die gehört aber eigentlich auch mit „gemounted“.

  10. Avatar von Thomas
    Thomas

    Hi Mark,

    super Anleitung! Funktioniert auch soweit, nur die Verbindung von Außerhalb auf den Server funktioniert nicht. Wenn ich zum Verbinden die Adresse *.myfritz.net angebe, findet Minecraft den Server nicht, wenn ich https://*.myfritz.net:48214 angebe heißt es „Ungültige IP-Adresse“. Wie hast du das mit deiner Fritzbox gemacht?
    Vielen Dank im Voraus!

    1. Avatar von Marc
      Marc

      Dann fehlt die Portfreigabe.

Schreibe einen Kommentar

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