Większość problemów serwera FiveM zdradza się jedną linią wyjścia. Tutaj znajdziesz najczęstsze komunikaty dokładnie w takiej formie, w jakiej je zobaczysz, z przyczyną i sposobem naprawy. Szukaj po treści błędu (Ctrl+F).
Czego potrzebujesz
- Serwer FiveM w StormHost (lub własny serwer FiveM)
- Dostęp do strefy klienta albo do txAdmin
- Około 15 minut
Gdzie szukać błędów#
| Gdzie | Co tam zobaczysz |
|---|---|
| Zakładka Konsola w strefie klienta | Wyjście serwera od startu: klucz licencyjny, wczytywanie zasobów, błędy skryptów, baza danych. |
| txAdmin › Live Console | To samo, z historią i wyszukiwaniem. Jeśli serwer działa pod txAdmin, zajrzyj tu najpierw. |
| txAdmin › Server Log | Połączenia i rozłączenia graczy, zabójstwa, czat. |
| txAdmin › System › Console Log | Wyjście samego txAdmin (starty, awarie, restarty serwera). |
| Konsola klienta F8 w grze | Błędy skryptów po stronie gracza (interfejs, skrypty klienckie) i powody rozłączenia. |
Czytaj od pierwszego błędu. Późniejsze błędy są często tylko jego konsekwencją. Żółte i czerwone linie to ostrzeżenia i błędy.
Could not authenticate server license key lub no license key was specified#
Przyczyna: serwer nie ma ważnego klucza licencyjnego. Albo w ogóle go nie dostał, albo klucz jest nieprawidłowy, dezaktywowany lub błędnie skopiowany.
Rozwiązanie: sprawdź linię sv_licenseKey w tym server.cfg, który serwer faktycznie wczytuje, oraz zmienną klucza w zakładce Ustawienia. W Cfx.re Portal (otwiera się w nowym oknie) sprawdź, czy klucz ma status Active. Szczegółowe kroki: Klucz licencyjny FiveM.
Couldn't find resource …#
Przyczyna: serwer nie zna zasobu o nazwie z ensure. Nazwa folderu się nie zgadza (-main, wielkie litery), fxmanifest.lua leży o poziom głębiej albo skrypt przesłano przy działającym serwerze bez polecenia refresh.
Rozwiązanie: zmień nazwę folderu dokładnie na nazwę z ensure i sprawdź, czy fxmanifest.lua jest bezpośrednio w nim. Następnie wpisz w konsoli refresh i ensure <NAZWA> albo zrestartuj serwer. Zobacz Zasoby FiveM.
Could not find dependency … for resource …#
Przyczyna: skrypt potrzebuje innego zasobu (biblioteki, frameworka), którego nie ma na serwerze.
Rozwiązanie: zainstaluj zasób wymieniony w komunikacie jako pierwszy i umieść jego ensure nad skryptem w server.cfg. Komunikat Could not start dependency … oznacza, że zależność istnieje, ale sama się zawiesiła. Znajdź jej błąd w konsoli.
Couldn't start resource …#
Przyczyna: zasób istnieje, ale się nie uruchomił. Prawdziwy powód jest w liniach tuż nad tym komunikatem: brakująca zależność, niespełniony warunek (OneSync, game build, wersja serwera) albo błąd licencji płatnego skryptu.
Rozwiązanie: napraw przyczynę z poprzednich linii i uruchom zasób ponownie przez ensure <NAZWA>.
SCRIPT ERROR: @…/….lua:…: …#
Przyczyna: błąd w kodzie skryptu. Komunikat zawiera zasób, plik, numer linii i opis, na przykład attempt to index a nil value. Najczęściej to błędne ustawienie frameworka w config.lua, brakująca tabela w bazie danych albo starsza wersja skryptu, niż oczekuje framework.
Rozwiązanie: sprawdź config.lua (właściwy framework), zaimportuj SQL skryptu i zaktualizuj zarówno skrypt, jak i framework. Jeśli błąd pojawił się po edycji pliku, cofnij zmianę.
You lack the required entitlement to use …#
Przyczyna: płatny skrypt chroniony przez Asset Escrow kupiono na innym koncie Cfx.re niż to, do którego należy klucz licencyjny serwera.
Rozwiązanie: użyj klucza licencyjnego z tego samego konta, z którego kupiono skrypt, albo przenieś skrypt w Cfx.re Portal. Następnie zrestartuj serwer.
Failed to verify protected resource …#
Przyczyna: pliki zaszyfrowanego skryptu zostały uszkodzone przy przesyłaniu albo ich brakuje, najczęściej pliku .fxap.
Rozwiązanie: prześlij cały zasób ponownie, łącznie z plikiem .fxap i plikami ukrytymi (zaczynającymi się od kropki).
Unable to establish a connection to the database (…)!#
Przyczyna: oxmysql nie mógł połączyć się z bazą danych. Kod w nawiasie mówi dlaczego:
| Kod | Znaczenie | Rozwiązanie |
|---|---|---|
ER_ACCESS_DENIED_ERROR | Błędny użytkownik lub hasło. | Skopiuj dane ponownie z zakładki Baza danych. Hasło ze znakami specjalnymi zapisz w odpowiedniej formie connection stringu. |
ECONNREFUSED, ETIMEDOUT | Błędny adres lub port bazy danych. | Użyj IP i portu z pola Host, nie localhost. |
ER_BAD_DB_ERROR | Baza danych o tej nazwie nie istnieje. | Skopiuj Nazwę bazy danych dokładnie z listy. |
Rozwiązanie: popraw set mysql_connection_string w server.cfg według artykułu Baza danych dla FiveM. Po naprawie konsola pokazuje Database server connection established!.
Serwera nie ma na liście serwerów albo pokazuje się jako „prywatny”#
Przyczyna: aktywna linia sv_master1 "", brak sets sv_projectName lub sets sv_projectDesc, serwer nie jest osiągalny z zewnątrz albo od startu minęło zbyt mało czasu.
Rozwiązanie:
- Sprawdź, czy możesz połączyć się z serwerem bezpośrednio: w grze naciśnij F8 i wpisz
connect <ADRES_IP>:<PORT>(adres z zakładki Sieć). - Zakomentuj linię
sv_master1 ""znakiem#. - Dodaj
sets sv_projectName "…"isets sv_projectDesc "…". - Poczekaj do 8 minut po starcie.
Serwer możesz też sprawdzić narzędziem CFX Resolver. Szczegóły w artykule server.cfg.
Connection rejected by server: Client/Server game build revision mismatch#
Przyczyna: gra gracza i serwer mają różne rewizje game buildu. Zazwyczaj krótko po aktualizacji GTA V lub FiveM.
Rozwiązanie: zaktualizuj artefakty serwera (poradnik). Gracz może przełączyć Update Channel w kliencie FiveM (ikona koła zębatego › Game) na kanał zgodny z serwerem. Często wystarczy poczekać, aż aktualizacja dotrze do wszystkich.
Gracze zacinają się na ekranie wczytywania przy łączeniu#
Przyczyna:
- błąd w skrypcie multicharacter albo w bazie danych (postać się nie wczytuje),
- duża liczba modeli do pobrania (samochody, ubrania, mapy) albo wolne pobieranie,
- pierwsze połączenie po zmianie
sv_enforceGameBuild(pobiera się DLC), - skrypt ekranu wczytywania, który nigdy się nie zamyka.
Rozwiązanie: sprawdź w konsoli serwera i w konsoli F8 gracza, gdzie zatrzymało się wczytywanie. Przy frameworku sprawdź połączenie z bazą danych. Na Qbox z własnym multicharacter ustaw setr loadscreen:. Spróbuj tymczasowo wyłączyć duże paczki samochodów i ubrań i sprawdź, czy gracze przechodzą dalej.
Połączenie kończy się przekroczeniem czasu (timed out) lub connection refused#
Przyczyna:
- port w
endpoint_add_tcpiendpoint_add_udpnie zgadza się z portem w zakładce Sieć (częste po wdrożeniu przepisu txAdmin, który wpisuje domyślny30120), - serwer nie wystartował w pełni (nie wczytał
server.cfg, nie działają żadne zasoby), - serwer jest przeciążony (CPU lub RAM na limicie) albo właśnie się zawiesza,
- na własnym VPS firewall blokuje port.
Rozwiązanie: porównaj port w server.cfg z linią Adres połączenia. W konsoli sprawdź, czy zasoby wystartowały (Started resource …). Sprawdź zużycie RAM i CPU pod konsolą. Na VPS zezwól w firewallu na port dla TCP i UDP (firewall).
Server artifact version is outdated (ostrzeżenie EOS lub EOL)#
Przyczyna: serwer działa na starym buildzie FXServer. Do artefaktów starszych niż 3 miesiące nie da się dołączyć z listy serwerów.
Rozwiązanie: zaktualizuj artefakty do kanału Recommended (poradnik).
Native … is not supported, Error parsing script lub Failed to load script#
Przyczyna: skrypt lub framework używa funkcji, których Twoja wersja serwera nie zna.
Rozwiązanie: zaktualizuj artefakty do Recommended. Jeśli to nie wystarczy, do Latest.
txAdmin zgłasza awarię lub zawieszenie serwera i go restartuje#
Przyczyna: serwer się zawiesił albo przestał odpowiadać. txAdmin uruchamia go ponownie sam. Najczęściej to błąd skryptu (nieskończona pętla, duże zapytanie do bazy), za mało RAM albo nowo zainstalowany zasób.
Rozwiązanie:
- W txAdmin otwórz Live Console oraz System › Console Log i znajdź ostatnie błędy przed awarią.
- Sprawdź zużycie RAM pod konsolą w strefie klienta. Jeśli stale jest na limicie, usuń zasoby albo przejdź na większy pakiet (zakładka Zmiana pakietu).
- Jeśli awarie zaczęły się po instalacji lub aktualizacji skryptu, wyłącz skrypt (zakomentuj jego
ensure) i sprawdź, czy awarie ustały.
## [txAdmin CFG validator]: … w server.cfg#
Przyczyna: txAdmin zakomentował linię, która nie jest dozwolona w server.cfg, i po dwukropku dopisał powód. Najczęściej:
onesync MUST only be set in the txAdmin settings page.– z txAdmin OneSync ustawia się w Settings › FXServer.you MUST NOT start/stop/ensure txadmin resources.– usuń linięensure monitor(txAdmin startuje sam).the … port … is dedicated for txAdmin and CAN NOT be used for FXServer.–endpoint_add_*ma port txAdmin. Wpisz tam port gry z zakładki Sieć.
Rozwiązanie: popraw linię zgodnie z powodem i usuń zakomentowaną linię.
Your config file does not specify a valid endpoints for FXServer to use.#
Przyczyna: w server.cfg brakuje linii endpoint_add_tcp i endpoint_add_udp albo mają inny port.
Rozwiązanie: dodaj obie linie z portem z zakładki Sieć na górze server.cfg:
endpoint_add_tcp "0.0.0.0:<PORT>"
endpoint_add_udp "0.0.0.0:<PORT>"Zamiast <PORT> wstaw liczbę po dwukropku w linii Adres połączenia.
Nie można ustawić więcej niż 48 slotów#
Przyczyna: więcej niż 48 graczy wymaga subskrypcji Element Club Argentum w Cfx.re Portal. Sama subskrypcja nie zwiększa liczby slotów.
Rozwiązanie: po zakupie subskrypcji zwiększ sv_maxclients w server.cfg (na serwerze bez txAdmin ewentualnie zmienną slotów w zakładce Ustawienia) i zrestartuj serwer. Więcej niż 64 sloty wymaga OneSync on.
server thread hitch warning: timer interval of … milliseconds#
Przyczyna: jeden tick serwera trwał dłużej niż 150 ms i serwer „przyciął”. To normalne przy starcie i podczas wczytywania zasobów. Częste komunikaty podczas pracy oznaczają, że jakiś skrypt wykonuje ciężką pracę naraz (duże zapytania do bazy, pętle po wszystkich graczach lub encjach). Podobne komunikaty istnieją dla wątków sieci (network thread) i synchronizacji (sync thread).
Rozwiązanie: znajdź winowajcę profilerem: w konsoli serwera profiler record 500, a po zakończeniu profiler saveJSON profil.json. Pobierz plik w zakładce Pliki i otwórz go w narzędziach deweloperskich Chrome (zakładka Performance). Następnie zoptymalizuj, zaktualizuj lub wymień skrypt. Pomaga też sprawdzenie zużycia CPU pod konsolą.
Warning: sending large event … (… bytes). This may cause performance issues. Consider using latent events instead.#
Przyczyna: skrypt wysyła graczom dużą ilość danych naraz w jednym zdarzeniu. Może to powodować lagi i rozłączenia graczy.
Rozwiązanie: ustal po nazwie zdarzenia, który to skrypt, i zgłoś to autorowi. Duże dane powinny być wysyłane zdarzeniami latent, które przesyłają je w porcjach.
Could not contact the server browser#
Przyczyna: serwer nie może dotrzeć do usług Cfx.re obsługujących listę serwerów. Sporadyczny komunikat jest nieszkodliwy; jeśli się powtarza, serwer wypadnie z listy.
Rozwiązanie: zrestartuj serwer. Jeśli komunikat wraca, skontaktuj się z nami. Na własnym VPS sprawdź, czy firewall lub ochrona DDoS przepuszcza adresy Cfx.re z static.cfx.re/ips.txt (otwiera się w nowym oknie).
Can't restart a stopped resource.#
Przyczyna: użyto restart na zasobie, który nie działa.
Rozwiązanie: użyj ensure <NAZWA>. Uruchamia zasób, który nie działa, i restartuje działający.
Ostrzeżenie Resource … does not specify an fx_version in fxmanifest.lua.#
Przyczyna: starszy skrypt nie ma w manifeście linii fx_version.
Rozwiązanie: dodaj fx_version 'cerulean' i game 'gta5' na górze fxmanifest.lua. Skrypt z __resource.lua zamiast fxmanifest.lua jest bardzo stary; poszukaj nowszej wersji.
Samochód lub model nie wczytuje się w grze#
Przyczyna: nazwa modelu w poleceniu lub skrypcie nie zgadza się z nazwą w vehicles.meta, zasób z modelem nie działa, w manifeście brakuje linii data_file albo model wymaga wyższego game buildu.
Rozwiązanie: sprawdź w konsoli, czy zasób z modelem działa (Started resource …). Znajdź dokładną nazwę modelu (modelName) w vehicles.meta i użyj jej do spawnowania. Sprawdź, czy manifest zawiera data_file dla vehicles.meta (Zasoby FiveM).
Jeśli nadal nie działa: kiedy skontaktować się z pomocą techniczną#
Skontaktuj się z nami (kontakt), gdy:
- konsola w strefie klienta się nie ładuje albo przyciski Start i Restart nie reagują,
- serwer nie startuje nawet z podstawowym przepisem txAdmin i bez dodatkowych skryptów,
- gracze nie mogą dotrzeć do portu, mimo że
server.cfgzgadza się z zakładką Sieć, - potrzebujesz dostępu SFTP do dużych plików.
Prześlij nam nazwę lub ID usługi, czas wystąpienia problemu, dokładną treść błędu (skopiowaną z konsoli) i co zmieniono ostatnio. Nigdy nie wysyłaj klucza licencyjnego ani hasła do bazy danych.
Podsumowanie
- Błędów szukaj w Konsoli, w txAdmin (Live Console, System › Console Log) i po stronie gracza w F8. Czytaj od pierwszego błędu.
- Klucz licencyjny, porty w
endpoint_add_*i połączenie z bazą danych to najczęstsze powody, dla których serwer nie startuje albo nie da się do niego dołączyć. Couldn't find resource= błędna nazwa folderu lub brakrefresh,Could not find dependency= brakująca zależność.- Stare artefakty powodują błędy skryptów i blokują dołączanie z listy serwerów. Aktualizuj co najmniej raz w miesiącu.