Krótka odpowiedź
Dodaj rekord A, kierujący twoją subdomenę na adres IP serwera, z proxy
Cloudflare ustawionym na DNS Only (szara chmurka). Jeśli twój serwer działa
na porcie innym niż 25565, dodaj rekord SRV o nazwie
_minecraft._tcp.play z priorytetem 0, wagą 0, twoim portem i twoją subdomeną
jako celem.
Najważniejsze informacje
- Dedykowany IP na domyślnym porcie: wystarczy rekord A.
- Współdzielony IP albo niestandardowy port: rekord A plus rekord SRV.
- Proxy Cloudflare musi być wyłączone. Minecraft to nie ruch HTTP.
- Rekord A przyjmuje wyłącznie adres IP, nigdy port.
- Bedrock nie odczytuje rekordów SRV. Wymaga wpisania portu osobno.
Jaką masz konfigurację
Wszystko poniżej zależy od jednego pytania: czy twój serwer ma własny adres IP, czy dzieli go z innymi serwerami na odrębnym porcie?
- Dedykowany IP
- Twój serwer ma własny adres IP i może działać na domyślnym porcie Minecraft, 25565. Wystarczy jeden rekord A i gotowe.
- Współdzielony IP
- Twój serwer dzieli adres IP i jest rozróżniany po porcie, na przykład 28017. Potrzebujesz rekordu A i rekordu SRV, ponieważ sama domena nie może nieść informacji o porcie.
Jeśli nie masz pewności, sprawdź adres połączenia w panelu kontrolnym. Jeśli kończy się na
:25565 albo w ogóle nie ma portu, jesteś w pierwszym przypadku. Każdy inny numer
oznacza drugi przypadek.
Dedykowany IP: rekord A
-
Zaloguj się do panelu Cloudflare
Zaloguj się na swoje konto Cloudflare i wybierz domenę, której chcesz użyć.
-
Dodaj rekord A
Utwórz nowy rekord DNS typu A z następującymi wartościami:
- Name: subdomena. Użyj
play, aby otrzymaćplay.yourdomain.com. - IPv4 address: adres IP twojego serwera, bez numeru portu.
- Proxy status: wyłącz to. Chmurka musi być szara i pokazywać DNS Only.
- TTL: Auto.
- Name: subdomena. Użyj
-
Zapisz
To cała robota. Gracze mogą teraz wpisać
play.yourdomain.comw kliencie Minecraft i się połączyć.
Współdzielony IP: rekord A plus SRV
Przy współdzielonym IP to port identyfikuje twój serwer, a nazwa domeny nie ma gdzie zapisać portu. Rekord SRV rozwiązuje to w DNS: niesie port osobno, a klient Minecraft wie, że ma go szukać.
-
Najpierw utwórz rekord A
Dokładnie jak wyżej: typ A, nazwa
play, IP twojego serwera bez portu, proxy ustawione na DNS Only, TTL Auto. Rekord SRV potrzebuje czegoś, na co ma wskazywać, i to jest właśnie to. -
Utwórz rekord SRV
Dodaj drugi rekord, tym razem typu SRV:
- Name: usługa i protokół, po których następuje twoja subdomena, na przykład
_minecraft._tcp.play. - Priority:
0 - Weight:
0 - TTL: Auto
- Port: port twojego serwera Minecraft, na przykład
28017. - Target: twoja domena, na przykład
play.yourdomain.com.
- Name: usługa i protokół, po których następuje twoja subdomena, na przykład
-
Zapisz oba rekordy
Gracze mogą teraz połączyć się, używając samego
play.yourdomain.com, a klient sam znajdzie port.
Co właściwie robi rekord SRV
Rekord A odpowiada na pytanie "jaki IP ma ta nazwa". Rekord SRV odpowiada na bardziej szczegółowe pytanie: "dla tej usługi, na tym protokole, pod tą nazwą, jakiego hosta i portu użyć".
Dlatego nazwa wygląda dziwnie. _minecraft._tcp.play rozkłada się na:
_minecraft- Usługa. Klient Minecraft szuka dokładnie tego.
_tcp- Protokół. Minecraft Java używa TCP.
play- Twoja subdomena, część, którą gracze faktycznie wpisują.
Oba podkreślniki są wymagane. Nie są ozdobą i nie są opcjonalne, a pominięcie jednego z nich to najczęstszy powód, dla którego poza tym poprawny rekord SRV w ogóle nie działa.
Dlaczego proxy musi być wyłączone
Pomarańczowa chmurka Cloudflare przekazuje ruch przez ich sieć, co jest naprawdę przydatne dla stron internetowych. Obsługuje HTTP i HTTPS.
Minecraft nie jest ani jednym, ani drugim. To własny protokół oparty na TCP, więc rekord z proxy przekazuje połączenia twoich graczy do systemu, który nie wie, co z nimi zrobić. Objawem jest domena, która się rozwiązuje, ale nigdy się nie łączy, co wygląda jak problem serwera, a nim nie jest.
Ustaw proxy status na DNS Only, aby ikona chmurki była szara, nie pomarańczowa. Jeśli masz już działającą stronę na tej samej domenie, zostaw te rekordy z proxy i zmień tylko subdomenę Minecraft. To ustawienie dotyczy pojedynczego rekordu, nie całej domeny.
Zastrzeżenie dotyczące Bedrock
Wszystko powyżej o rekordach SRV dotyczy Minecraft Java Edition. Bedrock nie odczytuje
rekordów SRV w taki sam sposób, więc gracz Bedrock skierowany na
play.yourdomain.com nie zostanie przekierowany na twój niestandardowy port.
Dwa sposoby na obejście tego:
- Niech gracze Bedrock wpiszą port w polu portu podczas dodawania serwera, a domenę w polu adresu. Rekord A wciąż spełnia swoje zadanie, po prostu rekord SRV nie jest sprawdzany.
- Zdobądź dedykowany IP dla serwera, aby mógł działać na domyślnym porcie, i wtedy żaden port nie musi być podawany.
Sprawdzanie, czy zadziałało
Zmiany DNS z TTL ustawionym na Auto zwykle zaczynają działać w ciągu kilku minut, ale propagacja nie jest wszędzie natychmiastowa. Zanim uznasz, że coś jest nie tak:
- Wypróbuj domenę z urządzenia w innej sieci, na przykład telefonu bez wifi. Jeśli tam działa, a w domu nie, to lokalne buforowanie DNS, a nie twój rekord.
- Potwierdź, że rekord A zawiera IP i tylko IP. Wklejenie pełnego ciągu połączenia z portem do rekordu A to częsty błąd, który zawodzi po cichu.
- Sprawdź ponownie proxy status. Łatwo jest poprawnie utworzyć rekord, a Cloudflare i tak domyślnie włączy proxy z powrotem.
- Dla SRV sprawdź ponownie oba podkreślniki i to, czy celem jest domena, a nie IP.
Jeśli domena rozwiązuje się do właściwego IP, ale połączenie zawiesza się w czasie, problem przeniósł się z DNS na sam serwer, i to tam warto sprawdzić dalej, czy serwer działa i jest osiągalny na podanym przez ciebie porcie.