Serwer FiveM startuje, konsola wygląda zdrowo, a przeglądarka serwerów i tak go nie pokazuje. Prawie każdy przypadek sprowadza się do jednej z sześciu przyczyn, a jeden test na minutę mówi ci, którą połowę tej listy masz czytać.
Zacznij od testu osiągalności poniżej. Dzieli on problem czysto na pół: albo świat zewnętrzny w ogóle nie dociera do twojego serwera, albo dociera, a coś w server.cfg trzyma cię poza listą. Pominięcie tego testu jest powodem, dla którego ludzie spędzają cały wieczór na przepisywaniu konfiguracji, choć prawdziwym problemem był zamknięty port UDP.
Krok 1: czy serwer jest osiągalny z zewnątrz?
Przy uruchomionym serwerze otwórz to w przeglądarce, podmieniając adres na publiczne IP i port swojego serwera:
http://203.0.113.10:30120/info.json
Zrób to z innego miejsca niż maszyna, na której działa serwer. Komputer w domu wystarczy, telefon na danych komórkowych też. Test z wnętrza samego serwera zawsze się udaje, bo ten ruch nigdy nie opuszcza maszyny.
- Pojawia się strona z JSON-em. Serwer jest osiągalny. Przejdź do kroku 3.
- Timeout albo odrzucone połączenie. Serwer nie jest osiągalny. Przejdź do kroku 2.
Możesz też sprawdzić http://twoje-ip:30120/dynamic.json, które zwraca aktualną liczbę graczy, albo przepuścić adres przez nasze narzędzie do sprawdzania statusu serwera FiveM.
Krok 2: serwer nie jest osiągalny
To problem z portami, nie z konfiguracją. Trzy rzeczy do sprawdzenia, w tej kolejności.
Zapora Windows. Windows Server domyślnie blokuje ruch przychodzący, więc zupełnie nowy VPS odrzuca wszystko, dopóki nie powiesz inaczej. Potrzebujesz portu 30120 otwartego na TCP i UDP, jako dwie osobne reguły. Pełne omówienie, razem z poleceniami, które robią to za jednym razem: Jak otworzyć porty FiveM w zaporze Windows.
Na Linuksie domyślnie jest zwykle odwrotnie, czyli nic nie jest blokowane, więc na świeżym VPS z Ubuntu albo Debianem zapora rzadko bywa winowajcą. Sprawdź raczej, czy proces serwera faktycznie nasłuchuje i czy jest przypięty do 0.0.0.0, a nie do 127.0.0.1.
Port, do którego przypięty jest serwer. W server.cfg ustawiają go te dwie linie:
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
Obie muszą istnieć, obie muszą wskazywać ten sam port, a ten port musi być tym, który otworzyłeś w zaporze. 0.0.0.0 znaczy "nasłuchuj na wszystkich interfejsach". Jeśli ktoś zmienił to na 127.0.0.1, serwer rozmawia wyłącznie sam ze sobą.
Przekierowanie portów, jeśli hostujesz z domu. Łącze domowe wymaga przekierowania 30120 TCP i UDP na routerze do komputera z serwerem, oprócz reguł w Windowsie. VPS nie potrzebuje tego w ogóle, ma już własne publiczne IP.
Kiedy /info.json odpowiada z zewnątrz, wróć tutaj i kontynuuj.
Krok 3: osiągalny, ale nadal nie na liście
Serwer odpowiada, więc problem leży w server.cfg albo w licencji. Przejdź listę po kolei.
sv_master1 musi zostać zakomentowane
To punkt, który większość poradników w sieci ma odwrotnie, więc sprawdź go najpierw. Otwórz server.cfg i znajdź tę linię:
#sv_master1 ""
# ma znaczenie. Zakomentowana tak jak wyżej sprawia, że serwer wysyła swój heartbeat i normalnie pojawia się na liście. Usuń #, a wprost powiesz FXServerowi, żeby nie rejestrował się na master liście: serwer pokazuje się jako prywatny, a przycisk połączenia jest wyłączony dla wszystkich przeglądających.
Mnóstwo poradników i przeklejanych szablonów konfiguracji każe dodać sv_master1 "", żeby naprawić problemy z listą. Efekt jest dokładnie odwrotny. Jeśli tej linii w ogóle nie ma w twoim server.cfg, nie dodawaj jej. Listowanie jest domyślnie włączone.
sv_projectName i sv_projectDesc muszą być ustawione oba
sets sv_projectName "My FXServer Project"
sets sv_projectDesc "Default FXServer requiring configuration"
Jeśli brakuje choć jednego, serwer zgłasza błąd przy starcie i może nie trafić na listę. Obie linie zaczynają się od sets, nie od set. Tę jedną literę łatwo zgubić przy ręcznej edycji.
Klucz licencyjny musi być ważny dla tego serwera
Linia sv_licenseKey potrzebuje działającego klucza z portalu Cfx. Niedziałający klucz kładzie serwer, zamiast go ukrywać, więc sprawdź pierwsze linie konsoli pod kątem błędu licencji przy starcie. Klucze tworzone dziś w portalu Cfx nie są powiązane z adresem, ale starsze klucze z wcześniejszego Keymastera mogły być, więc jeśli przeniosłeś serwer na nowego hosta, otwórz klucz w portalu i potwierdź, że nadal jest ważny dla tego serwera.
Krok po kroku: Jak uzyskać klucz licencyjny FiveM.
Daj mu do ośmiu minut
Świeżo uruchomiony serwer może potrzebować nawet ośmiu minut, żeby pojawić się na liście. Jeśli właśnie zrestartowałeś po zmianie konfiguracji, odczekaj ten czas, zanim zmienisz cokolwiek jeszcze. Kolejne restarty za każdym razem zerują ten zegar.
Powyżej 48 slotów potrzebna jest subskrypcja
Jeśli sv_maxclients przekracza 48, serwer wymaga subskrypcji Element Club Argentum lub wyższej na koncie Cfx. Bez niej ustaw sv_maxclients na 48 albo mniej, a serwer będzie listowany normalnie.
NAT maskujący źródłowe porty UDP
Istotne, jeśli hostujesz z domu albo za firmową bramą. Niektóre routery i zapory przepisują źródłowy port UDP, co psuje heartbeat, mimo że cała reszta działa. VPS z bezpośrednim publicznym IP nie ma tego problemu. To jeden z powodów, dla których ludzie odchodzą od łącza domowego.
Direct Connect działa, ale serwera nie ma na liście
Warto to wydzielić, bo mocno zawęża sprawę. Naciśnij F8 w FiveM i wykonaj:
connect 203.0.113.10:30120
Jeśli to cię łączy, a przeglądarka nadal nie pokazuje serwera, to serwer jest osiągalny i działa poprawnie. To całkowicie wyklucza krok 2 i wskazuje na sv_master1, brakujące zmienne projektu, liczbę slotów, albo po prostu na to, że nie minęło jeszcze osiem minut.
Jeśli Direct Connect też zawodzi, wróć do kroku 2.
Szybka lista kontrolna
| Sprawdzenie | Gdzie | Poprawna wartość |
|---|---|---|
| TCP 30120 otwarty | Zapora Windows Defender | Inbound, Allow, wszystkie profile |
| UDP 30120 otwarty | Zapora Windows Defender | Druga, osobna reguła |
| Adres nasłuchu | server.cfg |
endpoint_add_tcp i endpoint_add_udp na 0.0.0.0:30120 |
| Master lista | server.cfg |
#sv_master1 "" zakomentowane albo w ogóle nieobecne |
| Zmienne projektu | server.cfg |
sets sv_projectName i sets sv_projectDesc oba ustawione |
| Sloty | server.cfg |
sv_maxclients 48 lub mniej bez subskrypcji |
| Licencja | server.cfg |
Ważny sv_licenseKey z portalu Cfx |
| Cierpliwość | Po restarcie | Do 8 minut |
Najczęstsze pytania
Mój serwer widnieje na liście jako prywatny. To ten sam problem?
Tak, a przyczyną zwykle jest ta sama linia. sv_master1 "" bez # oznacza serwer jako prywatny i wyszarza przycisk połączenia.
Czy nazwa serwera wpływa na to, czy się listuje?
Nie, ale wpływa na to, czy go znajdziesz. Przeglądarka FiveM pokazuje tysiące serwerów, więc szukaj po dokładnym sv_hostname i pamiętaj, że kody kolorów w rodzaju ^2 należą do zapisanej nazwy, ale nie wyświetlają się jako tekst.
Otworzyłem porty i nic się nie zmieniło. Upewnij się, że reguły są przychodzące, a nie wychodzące, że istnieją zarówno TCP, jak i UDP, oraz że w kroku z profilami zaznaczony jest Public. Karta VPS zwykle należy do profilu Public, więc reguła bez Public nie robi zupełnie nic.
Czy muszę cokolwiek z tego konfigurować na serwerze FiveM w DoomHosting? Nie. Porty są otwarte, a serwer jest listowany od momentu założenia. Wszystko powyżej dotyczy VPS, którym zarządzasz samodzielnie, i możesz to zestawić z zarządzanym serwerem FiveM, jeśli wolisz nie zajmować się utrzymaniem.
