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.

Inhaltsverzeichnis

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

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 „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.

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

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: die lokale Konfigurationsdatei für den Server. Kopiert einfach diese hier lokal ins NAS.
  • Mount path: /bedrock-server/server.properties

whitelist.json

  • File: die lokale whitelist.json für den Server. Kopiert einfach diese hier lokal ins NAS.
  • Mount path: /bedrock-server/whitelist.json
So sieht der mount path mit server.properties Datei (NICHT Verzeichnis!) aus.
So sieht der mount path mit server.properties Datei (NICHT Verzeichnis!) 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

Whitelist und Adminrechte

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

whitelist add MarcTV

Fügt einen Nutzer in die whitelist.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)

Verbinden auf den Server mit Xbox und PlayStation

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

Konvertieren der 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 DS1019+ (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.

Docker Container automatisch aktualisieren

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.

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. Aus diesem Grund ist diese Anleitung für ein Synology NAS mit einer Intel CPU und Docker angelegt.

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.

Bedanke dich mit einer Spende

Mein Artikel hat dir geholfen? Dann gibt mir einen Kaffee aus:

Beteilige dich an der Unterhaltung

169 Kommentare

  1. Hallo Marc,
    Kurz zu dem Thema wegen dem Raspberry Pi 4.
    Also würde der Bedrock Server auch nicht bei einem „Intel Atom® x5-Z8350 Prozessor“ laufen?
    Denn dieser hat auch eine 64bit Architektur oder?

    Mit freundlichen Grüßen
    Nicolas Mägdle

    1. Raspian OS ist das Betriebssystem nur für den Pi. Das hat nichts mit anderen Betriebssystemen zu tun.

  2. Ich möchte für meinen Enkel, der Minecraft unter Windows 10 spielt,
    einen Bedrock-Server bereitstellen. Ich habe diesen auch mit Ihrer
    Anleitung soweit installiert bekommen. Trägt ihn mein Enkel im Client
    ein, sieht er auch einen Ping-Wert und das 0 von 10 Spielern online
    sind. Stoppe ich den Server geht auch der Ping-Wert weg. Er muss also
    irgendwie eine Verbindung haben.

    Trotzdem kann er sich nicht verbinden. Er bekommt immer die Meldung:
    „Kann keine Verbindung zur Welt herstellen“.

    Ich habe auf dem Synology schon versucht statt des Bridge-Modus den
    Host-Modus zu verwenden, die Firewall ist deaktiviert und der Port ist
    in der Fritzbox weitergeleitet. Keine Änderung… Ein deaktivieren der
    Firewall auf dem Windows 10 PC brachte auch nichts.

    Haben Sie noch eine Idee wo es klemmen kann?

    1. Aber im selben Netzwerk geht es wunderbar? Dann muss es ja am Router liegen, der irgendwelche Ports nicht freigibt. Das liegt nicht am Container.

  3. Das weiss ich leider nicht, ob es im selben Netzwerk funktionieren würde. Ich habe leider keinen funktionierenden Minecraft-Client und mein Enkel spielt nicht auf einem Notebook, das man einfach herumtragen könnte. Ich schätze es bleibt erst mal nichts weiter übrig als seinen PC hierher zu holen… Dadurch das der Client aus dem MS-Store von Windows 10 ist, ist die Lizenz leider auch nicht so ohne weiteres übertragbar.

    1. Ok, Gegenprobe

      Mein Server läuft unter bedrock.marc.tv Da muss ich ihn freigeben aber dann bekommt eine entsprechende Meldung oder ich muss ihn einladen.

    2. Dort bekommt er die Meldung „Keine Verbindung: Client veraltet!“. Seine Clientversion ist 1.16.10004.0

    3. So, ich löse jetzt mal das Rätsel auf… Der Fehler kam vom IPv6 AAAA-Eintrag der Fritzbox im DynDNS. Die Fritzbox trägt da natürlich ihre IP-Adresse ein. Unter IPv4 natürlich kein Problem, bei IPv6 natürlich tödlich. Leider ist es mir nicht gelungen das Synology-NAS zum Eintragen seiner IPv6-Adresse zu bewegen. Händisch ging es, per Autoupdate leider nicht. Meine Lösung war jetzt vorerst: „Löschen des AAAA-Eintrags für IPv6“. Jetzt baut der Client die Verbindung zwangsweise per IPv4 auf und es läuft.

      Eine Sache ist mir noch aufgefallen. Die Urzeit im Docker-Image des Bedrock-Servers (Protokoll) hinkt eine Stunde hinterher. Kann man die Zeitzone irgendwo im Image einstellen?

  4. Hi Marc,
    First of all thank your for this awesome guide en docker image.
    I’ve just installed the docker image, but it seems that on every platform minecraft is updated to 1.16.100. So it can’t connect anymore with the server, because of the older version. Are there any plans to upgraded to the new version? Don’t want to rush you or put any pressure on you, just a question. Keep up the great work!!

    1. Your are welcome. The container will update itself. Or patient. It will take less than 12 hours. Or do you have an existing container and after a few months it is outdated? In that case you habe to update the container by pulling the new version.

    2. Thank you for the quick reply. Another question, is it possible to download the world, for backup reasons?

  5. Great guide! I was able to setup Minecraft successfully. Only problem I have is setting up the timezone. I tried TZ=xxx in the synology docker environment variables and it didn’t work. Also, when updating the image it wipes out the OP list. Is there a way to set it up to persist instead? Thanks!

    1. I have watched it many times. I don’t see where you link the ops.json file in the volumes tab. I followed your manual docker update steps and every time it clears out my ops list.

    2. The ops.json is inside the „mcserver“ directory that you link as a volume. Therefore, it is outside the container and will survive updates of the container. If not, you did something wrong.

Schreibe einen Kommentar

Wie kann ich mich verifizieren lassen?