Die kurze Antwort
Füge einen A-Record hinzu, der deine Subdomain auf die Server-IP zeigen lässt,
mit dem Cloudflare Proxy auf DNS Only gestellt (graue Wolke). Läuft dein Server
auf einem anderen Port als 25565, füge einen SRV-Record hinzu, benannt
_minecraft._tcp.play mit Priority 0, Weight 0, deinem Port und deiner Subdomain
als Target.
Das Wichtigste
- Eigene IP auf dem Standardport: Ein A-Record reicht völlig aus.
- Geteilte IP oder ein eigener Port: A-Record plus ein SRV-Record.
- Der Cloudflare Proxy muss aus sein. Minecraft ist kein HTTP-Traffic.
- Der A-Record nimmt nur die IP, niemals den Port.
- Bedrock liest keine SRV-Records. Der Port muss separat eingegeben werden.
Welches Setup hast du
Alles Folgende hängt von einer einzigen Frage ab: Hat dein Server eine eigene IP-Adresse, oder teilt er sich eine mit anderen Servern über einen eigenen Port?
- Eigene IP
- Dein Server hat eine IP für sich allein und kann auf Minecrafts Standardport laufen, 25565. Ein A-Record und du bist fertig.
- Geteilte IP
- Dein Server teilt sich eine IP und wird über seinen Port unterschieden, zum Beispiel 28017. Du brauchst einen A-Record und einen SRV-Record, weil die Domain allein keinen Port tragen kann.
Bist du dir nicht sicher, schau dir die Verbindungsadresse in deinem Control Panel an. Endet sie
auf :25565 oder hat sie gar keinen Port, bist du im ersten Fall. Jede andere Zahl
bedeutet den zweiten Fall.
Eigene IP: ein A-Record
-
Im Cloudflare Dashboard einloggen
Melde dich in deinem Cloudflare-Konto an und wähle die Domain, die du nutzen willst.
-
Einen A-Record hinzufügen
Erstelle einen neuen DNS-Record vom Typ A mit diesen Werten:
- Name: die Subdomain. Nutze
play, umplay.yourdomain.comzu erhalten. - IPv4 address: die IP-Adresse deines Servers, ohne Portnummer.
- Proxy status: schalte ihn aus. Die Wolke muss grau sein und DNS Only anzeigen.
- TTL: Auto.
- Name: die Subdomain. Nutze
-
Speichern
Das ist schon alles. Spieler können jetzt
play.yourdomain.comin den Minecraft Client eingeben und sich verbinden.
Geteilte IP: A-Record plus SRV
Bei einer geteilten IP ist der Port das, was deinen Server identifiziert, und ein Domainname hat keinen Platz für einen Port. Der SRV-Record ist die Lösung von DNS dafür: er trägt den Port separat, und der Minecraft Client weiß, danach zu suchen.
-
Zuerst den A-Record erstellen
Genau wie oben: Typ A, Name
play, deine Server-IP ohne Port, Proxy auf DNS Only, TTL Auto. Der SRV-Record braucht etwas, worauf er zeigen kann, und das ist es. -
Den SRV-Record erstellen
Füge einen zweiten Record hinzu, diesmal vom Typ SRV:
- Name: der Service und das Protokoll gefolgt von deiner Subdomain, zum Beispiel
_minecraft._tcp.play. - Priority:
0 - Weight:
0 - TTL: Auto
- Port: der Port deines Minecraft Servers, zum Beispiel
28017. - Target: deine Domain, zum Beispiel
play.yourdomain.com.
- Name: der Service und das Protokoll gefolgt von deiner Subdomain, zum Beispiel
-
Beide Records speichern
Spieler können sich jetzt nur mit
play.yourdomain.comverbinden, und der Client findet den Port von selbst.
Was der SRV-Record wirklich macht
Ein A-Record beantwortet "welche IP hat dieser Name". Ein SRV-Record beantwortet eine spezifischere Frage: "für diesen Service, auf diesem Protokoll, unter diesem Namen, welchen Host und Port soll ich nutzen".
Deshalb sieht der Name merkwürdig aus. _minecraft._tcp.play gliedert sich so:
_minecraft- Der Service. Genau danach sucht Minecrafts Client.
_tcp- Das Protokoll. Minecraft Java nutzt TCP.
play- Deine Subdomain, der Teil, den Spieler tatsächlich eintippen.
Beide Unterstriche sind erforderlich. Sie sind keine Dekoration und nicht optional, und einen wegzulassen ist der häufigste Grund, warum ein ansonsten korrekter SRV-Record überhaupt nichts tut.
Warum der Proxy aus sein muss
Cloudflares orangene Wolke leitet Traffic durch ihr Netzwerk um, was für Websites wirklich nützlich ist. Sie behandelt HTTP und HTTPS.
Minecraft ist keines von beidem. Es ist sein eigenes Protokoll über TCP, ein proxied Record übergibt die Verbindungen deiner Spieler also an ein System, das nicht weiß, was es damit anfangen soll. Das Symptom ist eine Domain, die auflöst, aber nie verbindet, was sich wie ein Serverproblem liest und keines ist.
Stelle den Proxy status auf DNS Only, damit das Wolkensymbol grau ist, nicht orange. Hast du bereits eine funktionierende Website auf derselben Domain, lass diese Records proxied und ändere nur die Minecraft-Subdomain. Die Einstellung gilt pro Record, nicht pro Domain.
Die Einschränkung bei Bedrock
Alles oben zu SRV-Records gilt für Minecraft Java Edition. Bedrock liest SRV-Records
nicht auf die gleiche Weise, ein Bedrock-Spieler, der auf play.yourdomain.com
zeigt, wird also nicht zu deinem eigenen Port geleitet.
Zwei Wege drumherum:
- Lass Bedrock-Spieler den Port im Port-Feld eingeben, wenn sie den Server hinzufügen, mit der Domain im Adressfeld. Der A-Record erledigt weiterhin seinen Job, der SRV-Record wird einfach nicht abgefragt.
- Besorge dir eine eigene IP für den Server, damit er auf dem Standardport laufen kann, und gar kein Port angegeben werden muss.
Prüfen, ob es funktioniert hat
DNS-Änderungen mit einer TTL von Auto wirken meist innerhalb weniger Minuten, aber die Propagation ist nicht überall gleichzeitig sofort da. Bevor du schlussfolgerst, dass etwas nicht stimmt:
- Probiere die Domain von einem Gerät in einem anderen Netzwerk, etwa einem Handy ohne WLAN. Funktioniert es dort, aber nicht zuhause, ist das lokales DNS-Caching, nicht dein Record.
- Bestätige, dass der A-Record eine IP hat und nur eine IP. Den vollständigen Verbindungsstring mit Port in einen A-Record einzufügen ist ein häufiger Fehler, und er schlägt lautlos fehl.
- Prüfe den Proxy status erneut. Es passiert leicht, den Record korrekt zu erstellen, und Cloudflare stellt den Proxy standardmäßig wieder auf ein.
- Prüfe bei SRV beide Unterstriche erneut, und dass das Target die Domain ist, nicht die IP.
Löst die Domain zur richtigen IP auf, aber die Verbindung läuft in ein Timeout, hat sich das Problem von DNS zum Server selbst verlagert, und als nächstes solltest du prüfen, ob der Server läuft und über den angegebenen Port erreichbar ist.