Normalerweise möchte man einen Minecraft Server unter einer eigenen Domain verfügbar machen. Das hat einige Vorteile:

  1. Einfacher Zugang – Spieler brauchen sich nur die Domain merken (beispielsweise minecraft.net) statt der IP und Port des Servers. Das ist nicht nur einfacher zu merken, sondern sieht auch professioneller aus.
  2. Änderung von IP und Port – Wenn sich IP oder Port ändern (z. B. weil du zu einem neuen Hosting-Anbieter wechselst), musst du nur die DNS-Einträge aktualisieren. Spieler verbinden sich weiterhin über die gleiche Domain und merken nichts von einer Änderung.
  3. Subdomains – Durch Subdomains ist es möglich, verschiedene Dienste unter einer ähnlichen Adresse verfügbar zu machen. Beispielsweise könnte eine Übersichtskarte für den Server example.com unter map.example.com verfügbar sein. Oder falls beispielsweise eine Website für den Server unter example.com betrieben wird, könnte der Minecraft Server dann unter mc.example.com erreichbar sein.
  4. Custom Ports – Minecraft-Server auf alternativen Ports (z. B. 25566) können mithilfe eines DNS-Eintrags einfacher zugänglich gemacht werden. Durch die Einrichtung eines SRV-Eintrags kann eine Domain (z. B. example.com) direkt auf den Server inklusive Port verweisen, ohne dass Spieler den Port eingeben müssen.
  5. Branding – Eine benutzerdefinierte Domain verleiht deinem Minecraft-Server ein professionelles Markenimage.

Die Domain kann dabei oftmals über denselben Anbieter bezogen werden, über den auch der Minecraft Server gemietet wird. Alternativ kann auch ein externer Anbieter genutzt werden, bei dem die Domain gemietet wird. Wichtig ist hier nur, dass die DNS-Einstellungen angepasst werden können.

Zur Einrichtung der DNS-Einstellungen wollen wir dabei zwei Fälle unterscheiden. Im einen Falle läuft der Server auf dem Standardport (25565). Im anderen Falle läuft der Server auf einem anderen Port als 25565.

Der Server läuft auf Port 25565

Im einfachsten Fall läuft der Server auf dem Standardport (25565). Dieser wird automatisch genutzt, wenn die Konfigurationsdatei vom Server nicht weiter angepasst wird. In diesem Falle erkennt Minecraft den Server automatisch, wenn die IP aufgelöst werden kann. Es ist also nur ein A-Record notwendig.

Aufbau A-Record

Ein A-Record ist wie folgt aufgebaut:
<name> <ttl> <class> <type> <rdlength> <rdata>

Dabei steht name für den Namen der Domain. Die ttl steht für „time to live“ und gibt an, wie lange der Eintrag „bei Nutzern“1 gespeichert werden soll, bevor er erneut abgefragt wird. Die Einheit beträgt hier Sekunden und Änderungen werden entsprechend erst nach der angegebenen Zeit bei allen Nutzern verfügar sein. Die Einstellung class kann bei den meisten Anbietern nicht geändert werden und ist standardmäßig auf „Internet“ gesetzt. Die Details zu dieser Einstellung brauchen uns hier nicht weiter interessieren. Für type muss hier entsprechend der Wert „A“ ausgewählt werden. Die Einstellung rdlength wird meist ebenfalls automatisch vom Anbieter eingefügt und gibt die Länge es Eintrags an. Für rdata wird „Resource Data“ angegeben, also die entsprechende IP-Adresse, auf die der Eintrag zeigen soll.
Für ganz Neugierige finden sich die technischen Spezifikationen in RFC 1035.

Bei meinem Webhoster (Hetzner) sieht das dann beispielsweise wie folgt aus:

Hier sind zwei A-Einträge zu sehen (ich habe noch mehr Einträge gesetzt, dies ist nur ein Auszug). Bei dem ersten Eintrag zeigt die Subdomain „tsj-dev.thorgerjansen.de“ auf die IP-Adresse „188.40.2.7“ und hat eine TTL von 1800, was 30 Minuten entspricht. Bei dem anderen Eintrag zeigt die Domain „thorgerjansen.de“ auf die IP-Adresse „188.40.2.7“. Oftmals wird „@“ hier als Placeholder genutzt, wenn es um die Domain selbst geht. Andere Anbieter nutzen hier zum Teil ein Sternchen oder lassen das Feld leer. Würde unter der angegebenen IP-Adresse ein Minecraft Server auf dem Standardport laufen, so wäre dieser über die entsprechende Domain erreichbar.

  1. Im Grunde wird der Eintrag nicht bei den Nutzern gespeichert, sondern bei DNS-Servern (caching). Wenn ein Nutzer eine Anfrage zur Auflösung der Adresse sendet, wird diese an einen DNS-Server weitergeleitet. Die Details zur Namensauflösung und DNS können einen eigenen Blogeintrag füllen. Zur Vereinfachung reicht die Vorstellung, dass Änderungen am Eintrag erst nach Ablauf der angegebenen Zeit an andere übertragen werden. Das bedeutet, dass bei einem Eintrag mit TTL 300 eine Änderung erst nach 5 Minuten bei allen angekommen ist. ↩︎

Server unter Domain (example.com) und Port 25565

Wenn der Server unter einer Domain und dem Standardport verfügbar sein soll, so entspricht dies dem zweiten Eintrag auf dem Bild. Hier muss dann entsprechend in einem A-Eintrag die IP-Adresse vom Server eingetragen werden. Solange sich der Port nicht ändert, ist ein SRV-Eintrag nicht notwendig. Dieser kann jedoch optional hinzugefügt werden, damit der Port später noch angepasst werden kann. Wie dieser SRV-Eintrag eingerichtet werden kann, ist weiter unten beschrieben.

Wenn also der Minecraft Server unter example.com auf Port 25565 erreichbar sein soll und die IP-Adresse 127.0.0.1 hat, würde der Eintrag mindestens folgendermaßen aussehen:

TypeNameValueTTL
A@127.0.0.11800

Server unter Subdomain (mc.example.com) und Port 25565

Wenn der Server unter einer Subdomain und dem Standardport verfügbar sein soll, so entspricht dies dem ersten Eintrag auf dem Bild. Hier muss dann entsprechend in einem A-Eintrag die IP-Adresse vom Server eingetragen werden. Zusätzlich muss der entsprechende Subdomainteil angegeben werden. Für den SRV-Eintrag gilt dasselbe wie bei der Sektion zuvor.

Wenn also der Minecraft Server unter mc.example.com auf Port 25565 erreichbar sein soll und die IP-Adresse 127.0.0.1 hat, würde der Eintrag mindestens folgendermaßen aussehen:

TypeNameValueTTL
Amc127.0.0.11800

Der Server läuft auf einem anderen Port

Wenn der Server unter einem anderen Port läuft, so ist neben dem A-Eintrag auch noch ein SRV-Eintrag notwendig.

Dabei kann der Server direkt unter der Domain selbst verfügbar gemacht werden oder auch unter einer Subdomain laufen. So können beispielsweise zwei Minecraft Server unter derselben IP-Adresse (jedoch unterschiedlicher Ports) über unterschiedliche Subdomains verfügbar sein. Dieses Beispiel soll im folgenden gezeigt werden. Mit den vorherigen Beschreibungen oder durch Weglassen der weiteren Subdomains kann das Beispiel entsprechend auch für einen einzelnen oder weitere Server adaptiert werden.

Aufbau SRV-Eintrag

Ein SRV-Record ist wie folgt aufgebaut:
_<service>._<proto>.<name> <ttl> <class> <type> <priority> <weight> <port> <target>

Der Wert service gibt den Namen des Dienstes an, in diesem Falle „minecraft“. Das proto steht für Protokoll, hier besteht die Wahl zwischen UDP und TCP. Minecraft nutzt TCP. Der name gibt an, welche Subdomaingenutzt wird. Wird der name leer gelassen, so handelt es sich um die Domain selbst (ohne eine Subdomain). Wie zuvor gibt die TTL die „time to live“ an. Wie zuvor wird der class Eintrag normalerweise automatisch gesetzt und muss nicht extra angegeben werden, ansonsten ist hier „IN“ zu wählen. Bei type wird entsprechend „SRV“ gewählt. Die priority gibt an, welcher (identische) Dienst genutzt werden soll, wenn ein Dienst ausfällt. Gültig sind Werte zwischen 0 (höchste Priorität) und 65535 (niedrigste Priorität). Da wir nur einen Dienst haben, wird entsprechend der Wert auf „0“ gesetzt. Das weight gibt an, welcher Dienst bei gleicher Priorität wie gewichtet werden soll. Hier sind ebenfalls Werte zwischen 0 (am wenigsten wahrscheinlich) und 65535 (am wahrscheinlichsten) gültig. Ein möglicher Wert wäre einfach „65535“. Der Wert port gibt an, unter welchem Port der Dienst am Ende zu erreichen ist und target enthält einen Verweis auf den Eintrag, welcher angibt, unter welcher Adresse der Minecraft Server zu finden ist – also auf den A-Record.
Für ganz Neugierige finden sich die technischen Spezifikationen in RFC 2782.

Gehen wir also davon aus, dass der Server 127.0.0.1 zwei Minecraft Server zur Verfügung stellt und diese unter Port 1337 und 25566 (am Ende 6 statt 5) erreichbar sind. Die Server sollen über sv1.example.com und sv2.example.com erreichbar sein:

Die DNS-Einträge sehen dann mindestens wie folgt aus:

A-Records

TypeNameValueTTL
Asv1127.0.0.11800
Asv2127.0.0.11800

SRV-Records

Type_<service>._<proto>.<name> PriorityWeightPortTargetTTL
SRV_minecraft._tcp.sv1.example.com0655351337sv11800
SRV_minecraft._tcp.sv2.example.com06553525566sv21800

Weitere Hinweise

Schreiben Sie einen Kommentar

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