Serwer Rust nie pojawia się na liście serwerów

Twój serwer dedykowany Rust działa, konsola mówi, że jest uruchomiony, gracze mogą nawet się połączyć, jeśli podasz im IP, a mimo to nie ma go nigdzie w przeglądarce społecznościowej w grze. To jeden z najczęstszych problemów w hostingu serwerów Rust. Ma niewiele przyczyn, prawie wszystkie związane z portem zapytań Steam, a nie portem gry. Oto jak ustalić, która z nich dotyczy ciebie, i jak to naprawić.

Najpierw: sprawdź, czy serwer jest naprawdę osiągalny

Zanim dotkniesz konfiguracji, sprawdź, czy sam serwer jest w porządku, a zepsute jest tylko jego wpisanie na listę. W Rust naciśnij F1, by otworzyć konsolę, i wpisz:

client.connect adres-ip-serwera:28015

Jeśli wejdziesz, port gry i proces serwera są zdrowe, a twój problem to czysto widoczność. To dobra wiadomość, bo każda poniższa poprawka to zmiana sieciowa lub konfiguracyjna i żadna nie wymaga przebudowy czegokolwiek. Jeśli bezpośrednie połączenie też zawiedzie, serwer nie działa albo port gry jest zamknięty i to inny problem: sprawdź w konsoli błąd startu i upewnij się, że 28015/UDP jest otwarty.

Przyczyna 1: port zapytań nie jest otwarty

Rust używa trzech portów i każdy ma inne zadanie. Ich pomylenie to największe źródło raportów „mój serwer jest niewidoczny”:

PortProtokółCo robiJeśli jest zamknięty
28015UDPRuch gryNikt nie może w ogóle grać
28016TCPRCON / administracjaBrak zdalnej administracji, gra bez zmian
28017UDPZapytania SteamSerwer działa, ale nigdy nie pojawia się na żadnej liście

Główny serwer Steam wykrywa twój serwer, odpytując go na porcie zapytań, a nie porcie gry. Jeśli 28017/UDP jest blokowany przez zaporę albo brakuje go w regułach przekierowania portów, zapytanie nie dostaje odpowiedzi. Steam uznaje, że nic tam nie ma, i twój serwer jest pomijany w przeglądarce społecznościowej, choć dalej doskonale przyjmuje bezpośrednie połączenia. Ta rozbieżność to dokładnie ten objaw, który opisuje większość ludzi.

Otwórz 28017 konkretnie na UDP. Reguła TCP na tym samym numerze nic tu nie daje, i to bardzo łatwy błąd, gdy kopiujesz regułę z sąsiedniego portu RCON.

Przyczyna 2: port zapytań nigdy nie został zadeklarowany

Otwarcie portu w zaporze to tylko połowa sprawy. Serwer musi też wiedzieć, na którym porcie odpowiadać na zapytania, za pomocą parametru uruchomieniowego -queryport:

./RustDedicated -batchmode +server.port 28015 -queryport 28017 +server.hostname "Mój serwer Rust"

Bez jawnego -queryport niektóre konfiguracje odpytują na porcie, którego nikt nie otworzył, i dostajesz to samo zachowanie niewidocznego serwera przy zaporze, która wygląda poprawnie. Ustaw to wyraźnie i zachowaj zgodność z regułą, którą otworzyłeś. Jeśli na jednej maszynie działa kilka serwerów Rust, każda instancja potrzebuje własnego portu gry i własnego portu zapytań, i nie mogą się zderzać.

Przyczyna 3: przekierowanie portów przez domowy router

Self-hosting za routerem konsumenckim oznacza, że zapytanie musi przejść jeszcze jeden przeskok. Dwie rzeczy regularnie się psują:

  • Przekierowywanie portów jako jednego zakresu. Niektóre routery źle obsługują regułę zakresu od 28015 do 28017. Twórz osobne reguły dla każdego portu, każda mapująca ten sam port zewnętrzny i wewnętrzny, i ustawiaj protokół poprawnie dla każdej reguły, zamiast zostawiać wszystko na „oba”.
  • Przekierowanie na zły adres wewnętrzny. Jeśli lokalny IP maszyny zostało przydzielone przez DHCP, może się zmienić i po cichu wskazywać twoje reguły na nic. Daj serwerowi statyczny adres lokalny albo rezerwację DHCP.

Cała ta klasa problemów nie istnieje na zarządzanym hostingu, bo nie ma routera przed twoim serwerem, a porty są otwierane przy wdrożeniu.

Przyczyna 4: serwer ogłasza siebie pod niewłaściwym adresem

Serwer za NAT-em albo na maszynie z kilkoma interfejsami sieciowymi może ogłaszać adres, do którego nikt z zewnątrz nie dotrze. Jeśli przypisałeś serwer do konkretnego lokalnego IP, spróbuj powiązać go ze wszystkimi interfejsami i pozwól warstwie sieciowej zdecydować. Wpisany na sztywno wewnętrzny adres to częsta przyczyna serwera, który odpowiada na zapytania w twojej własnej sieci, a jest niewidoczny z każdego innego miejsca.

Szybki test: poproś kogoś spoza swojej sieci o wyszukanie serwera po nazwie. Jeśli jest widoczny w twojej sieci LAN, a dla niego niewidoczny, przyczyną jest ten problem albo przekierowanie portów opisane wyżej.

Przyczyna 5: szukasz w złym miejscu

Nie każdy niewidoczny serwer jest zepsuty. Przeglądarka społecznościowa Rust jest duża, mocno filtrowana i sortowana według liczby graczy, więc zupełnie nowy pusty serwer siedzi na samym dole bardzo długiej listy.

  • Szukaj po dokładnej wartości server.hostname, zamiast przewijać. Częściowe nazwy i domyślne nazwy typu „Mój serwer Rust” zakopią cię wśród setek identycznych wpisów, więc ustaw coś charakterystycznego.
  • Sprawdź filtry. Zmodowane serwery nie pojawiają się pod filtrem zakładki Community ustawionym dla Vanilli i odwrotnie.
  • Daj mu kilka minut. Wpisanie na listę nie jest natychmiastowe po starcie, a serwer główny potrzebuje chwili, by podjąć nowy serwer.
  • Poproś graczy, by raz dodali serwer do ulubionych po IP. Potem pojawi się w sekcji Ulubione niezależnie od sortowania przeglądarki, co i tak warto zrobić dla stałych graczy.

Przyczyna 6: zniknął po wipe lub aktualizacji

Facepunch wydaje obowiązkową łatkę w pierwszy czwartek każdego miesiąca. Serwer nadal na poprzedniej wersji nie tylko odrzuca graczy, ale może całkowicie wypaść z przeglądarki, bo nie pasuje do aktualnej wersji, której oczekuje serwer główny. Jeśli twój serwer był wpisany wczoraj, a dziś go nie ma, sprawdź datę względem harmonogramu wipe, zanim zaczniesz debugować cokolwiek innego.

Self-hosterzy muszą ponownie uruchomić app_update 258550 validate w SteamCMD i zrestartować serwer. Na Flux aktualizację obsługujemy za ciebie, a restart ją podejmuje. To główny powód, dla którego ta przyczyna jest o wiele częstsza na serwerach składanych ręcznie.

Kolejność sprawdzania

  1. Bezpośrednie połączenie przez client.connect ip:28015. Jeśli działa, to problem z widocznością, a nie z serwerem.
  2. Potwierdź, że 28017 jest otwarty na UDP, a nie TCP.
  3. Potwierdź, że -queryport 28017 jest w linii uruchomieniowej.
  4. Jeśli jesteś za routerem, sprawdź, czy reguły przekierowania są osobne dla każdego portu i wskazują statyczny adres lokalny.
  5. Szukaj po dokładnej nazwie hosta i sprawdź filtry przeglądarki, zanim uznasz, że coś jest nie tak.
  6. Sprawdź, czy nie wylądował wymuszony wipe albo łatka, a twój serwer nie działa nadal na starej wersji.

Prawie każdy przypadek kończy się na kroku drugim lub trzecim. Warto zapamiętać jedno: port gry decyduje, czy ludzie mogą grać, a port zapytań decyduje, czy mogą cię znaleźć.

Wdróż serwer Rust na Flux z portami 28015, 28016 i 28017 już otwartymi, automatycznymi miesięcznymi aktualizacjami i ochroną DDoS w cenie.

FAQ: widoczność serwera

Dlaczego mój serwer Rust nie pojawia się na liście serwerów?

W prawie każdym przypadku port zapytań Steam, 28017/UDP, jest albo zamknięty, albo nie zadeklarowany przez -queryport. Steam wykrywa serwery, odpytując ten port, więc gdy jest nieosiągalny, serwer działa i przyjmuje bezpośrednie połączenia, ale nigdzie się nie pojawia.

Jakie porty potrzebuje serwer Rust?

28015/UDP dla ruchu gry, 28017/UDP dla zapytań Steam i 28016/TCP dla RCON, jeśli używasz zdalnej administracji. Port zapytań decyduje, czy twój serwer jest wpisany na listę.

Jak dołączyć do serwera Rust, który nie pojawia się w przeglądarce?

Naciśnij F1 w Rust i wpisz client.connect adres-ip-serwera:28015. To działa niezależnie od tego, czy serwer jest na liście, i jest też najszybszym sposobem, by sprawdzić, czy sam serwer jest zdrowy, a psuje się tylko jego wpis.

Mój serwer Rust był na liście, a teraz go nie ma. Co się stało?

Najpierw sprawdź datę. Facepunch wydaje łatki w pierwszy czwartek każdego miesiąca, a serwer zostawiony na poprzedniej wersji może całkowicie wypaść z przeglądarki. Zaktualizuj serwer i zrestartuj go.

Czy potrzebuję portu zapytań, jeśli gracze łączą się bezpośrednio?

Tylko jeśli chcesz być wykrywalny. Serwer z otwartym 28015 i zamkniętym 28017 jest w pełni grywalny dla każdego, kto ma adres, i całkowicie niewidoczny dla wszystkich pozostałych.

Czy zarządzany hosting rozwiązuje ten problem?

Tak, bo na drodze do twojego serwera nie ma twojej zapory ani routera. Na Flux wszystkie trzy porty są otwierane przy wdrożeniu, a miesięczną aktualizację Facepunch stosujemy za ciebie. To usuwa zarówno przyczyny związane z portami, jak i przyczynę nieaktualnej wersji.

Powiązane przewodniki po hostingu Rust