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 Jörg Christoffers
    Jörg Christoffers

    Hi Marc, der Bedrock-Server läuft 1A auf meiner Synology RS3614xs.

    Hier die Probleme die ich hatte:

    P1. Das Terminal-Fenster in den Docker-Container-Details öffnete sich nicht bei meinem Synology. Man findet viel darüber im Internet. Es steht dort etwas mit Loop Back und LAN, was ich aber nicht kapiere. Egal mit welchem Browser (alle durchgetestet), selbst mit meinem Smartphone und DynDNS via Internet-Verbidung zum NAS erschien das Terminalfenster nicht. Ich konnte also nicht „oppen“. Ein Neustart meines NAS funktionierte dann zum Glück (reiner Zufall!).

    P2. Die Kids zu Hause wollen mit einer flachen leeren Welt starten, ähnlich einer leeren Lego-Platte. Der Bedrock-Server erlaubt das aber nicht (nur unlimited world?). Ich musste den Kids jetzt den Fill-Befehl erklären, und was X Y Z Koordinaten sind und den Trick mit der Tilde (~), sodass sie wenigstens eine Plattform 180x180x1 Blöcke erzeugen können.

    Fragen:

    F1. Wie kann ich den Server komfortabel, d.h. mit Web-GUI verwalten? Ich will nicht das Terminal mit OP-Befehlen verwenden müssen und auch nichts mit SSH in der Konsole rumfrickeln. Das sollte auch von irgendwo mit dem Smartphone oder eben mit einem Notebook im LAN leicht gehen.

    F2: Wie kann ich komfortabel die Welten für den Server verwalten? Die Frage ist ein wenig ähnlich zu F1. Zur Zeit haben die Kinder nur genau eine Unlimited World, und die ist nicht flach und sie arbeiten mit dem FILL-Befehl. Angenommen ich will für das 1. Kind 5 leere Welten vorbereiten und für das 2. Kind auch nochmal 5 leere Welten. Wie geht das am besten?

    Grundsätzlich danke für das Docker-Image! Großartige Arbeit! PS: Ich habe Dich in Twitter und LickedIn hinzugefügt. LG aus Hamburg.
    Jörg

    1. Avatar von Marc
      Marc

      Hi Jörg,

      P1: Hatte ich nie. Auf 3 Synology NAS nicht. Komisch.
      P2: Das ist ein Bedrock Thema. Denk dran, dass Bedrock Alpha Software ist. Das ist auch wichtig für deine Fragen:

      F1:/F2 Keine Ahnung. Ich habe damals nichts gefunden. Liegt wahrscheinlich daran, dass Bedrock einfach noch nicht alt genug ist und es auch keine mir bekannte API wie bei MC JAVA wie rcon. Aber wenn Du was findest: Sag bescheid. =)

    2. Avatar von Jörg Christoffers
      Jörg Christoffers

      Danke für die schnellen Antworten, die wie ich allerdings auch befürchtete, wenig ergiebig sind ;-).

      Für andere Synology-User mit dem closed Terminal-Problem: Die Fehlermeldung lautet „socket closed“ und angeblich soll es an „reverse proxy“ liegen, wobei mir nicht bekannt ist, dass ich so etwas eingerichtet hätte…

  2. Avatar von Stefan
    Stefan

    Hallo Marc,
    ich habe den Server auf dem NAS nach Anleitung aufgesetzt und laut Terminal und Log ist er auch bereit und lauscht auf den richtigen Port. Auch das server.proerties liest er korrekt ein.
    Nun versuche ich über mein iPad (aktuelles iOS) auf den Server zuzugreifen. Dort habe ich unter „Server“ den Server mit IP und Port hinzugefügt und ihm auch den Namen aus der server.propertie Datei gegeben. Beim Verbindungsversuch erscheint aber nur nach einer weile „Keine Verbindung zur Welt“. Im Log des Containers erscheint beim Verbindungsversuch kein Eintrag. Der Port an sich ist aber erreichbar. In der Serverliste auf dem iPad steht nur „Server wird ….“ und im PreView Fenster wird bei „Online“ das Serversymbol angezeigt. Die App zeigt Version v1.16.20, der Container von Dir ist von heute.

    Was tun?

    1. Avatar von Marc
      Marc

      Irgendwas hast du wohl falsche gemacht. Video angucken und Schritt für Schritt befolgen

    2. Avatar von Stefan
      Stefan

      Habe es schon 1:1 verglichen. Im Unterschied zum Video habe ich noch die server.properties und die whitelist.json als Datei gemountet. Und das Image im Video schreibt sich ohne Bindestriche – das aktuelle auf dem DockerHub aber mit Bindestrichen. Ports & Co. alles identisch.

      Verwende ich vielleicht die falsche App auf dem iPad? Welche ist die richtige?

    3. Avatar von Stefan
      Stefan

      Ergänzung: Ich habe jetzt Minecraft auf meinem iPhone heruntergeladen und exakt die gleichen Einstellungen getätigt. Dort funktioniert es! Vom iPad aus (im gleichen WLAN) kann ich aber problemlos auf andere Server zugreifen, verwende das gleiche Microsoft Konto und kann mich auch im Multiplayer Mode bewegen.

    4. Avatar von Marc
      Marc

      Trotzdem wird es wohl am iPad bzw. einer Einstellung dort liegen.

  3. Avatar von Steff
    Steff

    Ich wurde fast wahnsinnig, weil nichts funktionierte.
    Hatte die Anleitung Schritt für Schritt befolgt, Video geguckt, alles mögliche probiert, aber das Ergebnis blieb „Unable to connect to world“.

    Was die Lösung war, und hier vielleicht noch als Info fehlt: ich musste das Docker noch in der Firewall des NAS freischalten. D’oh!

    „Control Panel > Security > Firewall > Edit Rules“ den Docker Server für UDP und TCP freigeben.

    1. Avatar von Marc
      Marc

      Die Anleitung geht von Default-Einstellungen von DSM aus. Da ist die Firewall deaktiviert. Das Video wurde auch in einer frischen VM-DSM gemacht. Firewall im NAS ist meiner Ansicht nach eh Quatsch. Dein Router sollte die Firewall haben und nicht das NAS. Ergänzt habe ich es trotzdem im Text. Vielen Dank.

    2. Avatar von Steff
      Steff

      Dann war das beim ursprünglichen Setup eine blöde Einstellung meinerseits. Klang wohl vernünftig.

      Gut zu wissen und danke für den Tipp. Da werd‘ ich mich mal zum Thema FW informieren.

  4. Avatar von Mark
    Mark

    Hey Marc, great work !
    Got this up and running very quickly .
    The Server seems to run ‚AutoCompaction‘ every 6 minutes , is this normal ?

  5. Avatar von Marc
    Marc

    If you actively play on the server it is normal.

    1. Avatar von Mark
      Mark

      Thank you , It has been doing it the last 2 days , with no one actively on the Server at all. ?

  6. Avatar von Gabriel Bialystok-Joly
    Gabriel Bialystok-Joly

    Hello Marc. My server has not been working lately when I try to connect it says disconnected. Any advice?

    1. Avatar von Gabriel Bialystok-Joly
      Gabriel Bialystok-Joly

      I am using JAVA edition.

    2. Avatar von Marc
      Marc

      Please use this article instead:

      Have you tried turning it off and on again?

  7. Avatar von spencer
    spencer

    I do not have synology – i want to run this image either by docker run or docker-compose… do you have details documeted for these or is that something i need to figure out on my pwn because this is only intended for synology use?

    first, i will say that i can make it start in docker – but the world does not save and no matter what i do to try and be operator or change ports it fails. always as soon as i stop for reboot or any form of restart i loose it all. i even got –mount to work and i see my mount points in the INSPECT – but there is no information saved back to my host.

    long story short – i would like to have a docker-compose but i have no problem if i needed to run from docker run.

    thank yuo in advance for any help

  8. Avatar von Winni
    Winni

    Der server läuft super auf meiner DS418+, hab nur das Problem, das ich, sobal ich online-mode=true stelle, ich nicht mehr auf den Server joinen kann. Es kommt die Meldung: Die Authentifizierungsserver sind im MOment nicht erreichbar, bitte versuchen es später noch einmal.

    Woran kann das liegen? sobal ich online mode deaktiviere, geht es!
    Das kommt als Fehlermeldung

    [18:04:48 INFO]: com.mojang.authlib.GameProfile@2dg45fhz[id=,name=Hauber,properties={},legacy=false] (/173.170.0.1:50252) lost connection: Disconnect
    ed
    [18:04:50 INFO]: Disconnecting com.mojang.authlib.GameProfile@2dg45fhz[id=
    ,name=Hauber,properties={},legacy=false] (/173.170.0.1:50248): Authenticati
    on servers are down. Please try again later, sorry!
    [18:04:50 ERROR]: Couldn’t verify username because servers are unavailable

    1. Avatar von Marc
      Marc

      irgendwas blockt den Server auf einem Port nach draußen. Wenn man eine Fritzbox zurücksetzt und ein Synology NAS aus der Verpackung nimmt und alles genau so macht wie in meinem Video, dann läuft das 100%. Irgendwas hast Du irgendwo eingestellt, dass den Server daran hindert nach draußen zu telefonieren. Das muss er aber.

  9. Avatar von John
    John

    I find that using the fritz.box url causes the „Unable to connect to world“ error. I used my Synology [my Synology server name].myds.me address instead of the fritzbox address. This solved the error.

  10. Avatar von Christian
    Christian

    Hallo Marc,
    dank Deines Artikels habe auch ich es erfolgreich geschafft auf meinem Synology NAS einen Bedrock-server zum Laufen zu bringen. Danke schonmal an dieser Stelle! Ich würde gerne eine weitere Welt laufen lassen. Ich habe also einfach einen 2 Container erstellt. Mir ist aber nicht klar welche Ports ich dann am 2. Container ändern muss. Nur die lokalen Ports oder die Container Ports? Beide? Was ist mit den Ports in der server.properties? Grüße,
    Christian

    1. Avatar von Christian
      Christian

      Did it! This time post will be english for the english speaking community.
      In my previous post I asked how to set up the ports to have two docker containers running in parallel. (reason: to have 2 Minecraft worlds to choose from).
      It now worked with this set up:
      World 1 is running with default ports 19132. So do everything as mentioned in the Post by MarcTV.
      World 2 is running on port 19134.
      In the „server.properties“ file of World 2 change the entry „server-port=19132“ to „server-port=19134“.
      In the docker container set-up change all ports to 19134. (the local ports as well as container ports)
      In your router forward the port 19134 for TCP AND UDP.
      This was my mistake at the beginning. Since bedrock listens to TCP but somehow (I am not an expert) you need the UDP as well.
      Still strange. In the list I see both servers. The one on port 19134 is marked green and I see how many players can connect.
      The one on port 19132 is marked red as if this world is not online. Still I can connect to it. ???

Schreibe einen Kommentar

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