Skrypty FiveM instalujesz, umieszczając zasób w folderze resources/, uruchamiając go w server.cfg za pomocą ensure i wcześniej wczytując zależności takie jak ESX, QBCore lub sterowniki bazy danych. Kluczowe są czysta struktura folderów, właściwa kolejność startu, sprawdzony import SQL i spojrzenie w konsolę serwera po restarcie.

Wymagania

Potrzebujesz dostępu do plików serwera, server.cfg, konsoli serwera oraz, jeśli skrypt korzysta z tabel bazy danych, do swojej bazy MySQL lub MariaDB. Przy wynajętym serwerze FiveM zwykle obejmuje to menedżer plików, FTP/SFTP i narzędzie bazodanowe takie jak phpMyAdmin lub Adminer. Jeśli dopiero planujesz cały serwer, w podstawowej strukturze pomoże wewnętrzny poradnik wynajem i konfiguracja serwera FiveM.

FiveM technicznie nazywa skrypty zasobami. Według oficjalnej dokumentacji Cfx.re plik fxmanifest.lua opisuje, które pliki, skrypty i metadane należą do zasobu. Dlatego zawsze najpierw sprawdź, czy rozpakowany folder zawiera poprawny plik manifestu. Bez manifestu serwer nie może prawidłowo wczytać zasobu.

Sprawdzenie struktury skryptu

Typowy zasób FiveM wygląda tak:

moj_skrypt/
├── fxmanifest.lua      # Plik manifestu
├── client.lua          # Kod klienta
├── server.lua          # Kod serwera
├── config.lua          # Konfiguracja
└── html/               # NUI (interfejs webowy)

Ważne jest, aby przypadkowo nie przesłać dodatkowego folderu opakowującego. Błędne byłoby na przykład resources/moj_skrypt-main/moj_skrypt/fxmanifest.lua, jeśli zasób powinien znajdować się bezpośrednio pod resources/moj_skrypt/fxmanifest.lua. Po rozpakowaniu otwórz folder i sprawdź poziom, na którym znajduje się fxmanifest.lua.

Instalacja skryptu

  1. Pobierz skrypt
  2. Rozpakuj go do folderu resources/
  3. Dodaj w server.cfg:
ensure moj_skrypt
  1. Zrestartuj serwer

Jako nazwy zasobu użyj dokładnie nazwy folderu albo nazwy podanej w README. Wiele błędów powstaje przez inną pisownię, spacje w nazwie folderu lub znaki specjalne. Zalecane są krótkie nazwy z małych liter, myślników lub podkreśleń.

Konfiguracja skryptów ESX

Skrypty ESX zależą od tego, czy baza ESX i wymagane zasoby dodatkowe zostaną uruchomione wcześniej. Konkretna kolejność może się różnić w zależności od wersji ESX i skryptu, dlatego obowiązuje zasada: sprawdź README skryptu i uwzględnij istniejącą dokumentację frameworka.

# Baza ESX
ensure es_extended
ensure esx_menu_default
ensure esx_menu_dialog
ensure esx_menu_list

# Prace
ensure esx_policejob
ensure esx_ambulancejob
ensure esx_mechanicjob
ensure esx_taxijob

# Funkcje
ensure esx_banking
ensure esx_vehicleshop
ensure esx_property

Jeśli skrypt pracy oczekuje własnych tabel bazy danych lub przedmiotów, zaimportuj dołączony plik SQL przed pierwszym startem produkcyjnym. Wcześniej zabezpiecz bazę danych. Na istniejących serwerach roleplay pliki SQL mogą nadpisać kolumny, przedmioty lub prace, jeśli nie są dopasowane do Twojej instalacji.

Konfiguracja skryptów QBCore

Zasoby QBCore działają według podobnej zasady: najpierw framework, potem wspólne biblioteki, a następnie ekwipunek, prace, garaże, telefon lub HUD. Prosty przykład:

ensure qb-core
ensure qb-policejob
ensure qb-ambulancejob
ensure qb-garages
ensure qb-inventory
ensure qb-phone

Szczególnie sprawdź pliki konfiguracyjne takie jak config.lua, shared/config.lua lub pliki przedmiotów specyficzne dla frameworka. Niektóre skrypty QBCore oczekują wpisów w przedmiotach, pracach, gangach lub uprawnieniach. Wpisuj tylko wartości udokumentowane przez skrypt. Jeśli chcesz zaplanować zasoby, txAdmin i eksploatację serwera w szerszym kontekście, przeczytaj też wynajem serwera FiveM: konfiguracja GTA RP, zasoby i txAdmin 2025.

Uwzględnienie kolejności startu

Kolejność startu jest ważna:

  1. Najpierw framework (ESX/QBCore)
  2. Dependencies (oxmysql itd.)
  3. Skrypty bazowe (ekwipunek, HUD)
  4. Skrypty prac
  5. Skrypty kosmetyczne (emotki, ubrania)

Wspólnie używane Dependencies umieszczaj możliwie centralnie i przed wszystkimi zależnymi zasobami. Jeśli kilka skryptów wymaga tej samej biblioteki, powinna zostać uruchomiona tylko raz. Przy połączeniu z bazą danych sterownik bazy musi działać, zanim zasoby zaczną wysyłać zapytania SQL.

Darmowe źródła skryptów

Źródło Opis
GitHub Skrypty open source
forum cfx.re Skrypty społeczności
Overextended Wysokiej jakości open source

Pobieraj skrypty tylko ze źródeł, które pozwalają prześledzić kod, changelog lub opinie społeczności. Przy nieznanych pobraniach zwracaj szczególną uwagę na zaciemniony kod Lua, niewyjaśnione żądania HTTP, obce webhooki i tokeny wpisane na stałe. Nowe zasoby instaluj najpierw na instancji testowej albo poza głównymi godzinami gry.

Sprawdzenie wyniku

Zrestartuj serwer i obserwuj konsolę. Prawidłowo wczytany zasób pojawia się bez błędów manifestu, zależności ani SQL. Następnie w grze dokładnie sprawdź funkcję dostarczaną przez skrypt: menu pracy, interakcję z ekwipunkiem, markery, komendę, okno NUI lub zmianę w bazie danych. Testuj z rolami i uprawnieniami, których później będą używać prawdziwi gracze.

Dodatkowo używaj refresh i ensure moj_skrypt w konsoli serwera tylko do kontrolowanych testów. Przy zmianach produkcyjnych czysty restart jest często bardziej miarodajny, ponieważ odtwarza pełną kolejność startu.

Rozwiązywanie problemów

SCRIPT ERROR

Najpierw sprawdź linię w konsoli. Często brakuje zależności, zmienna konfiguracyjna jest ustawiona błędnie albo eksportowana funkcja zostaje wywołana przed startem docelowego zasobu. Porównaj komunikat błędu z README skryptu.

Błąd SQL

Zaimportuj dołączone tabele lub kolumny, jeśli skrypt ich wymaga. Jeśli tabele już istnieją, nie uruchamiaj SQL ponownie w ciemno. Utwórz kopię zapasową i dostosuj instrukcje do swojej istniejącej struktury bazy danych.

Skrypt się nie wczytuje

Sprawdź nazwę folderu, wpis ensure i fxmanifest.lua. Literówka w pliku manifestu albo błędnie zagnieżdżony folder wystarczą, aby zasób się nie uruchomił.

Funkcja nie pojawia się w grze

Sprawdź uprawnienia, prace, przedmioty, koordynaty i wersję frameworka. Wiele skryptów roleplay działa tylko dla określonych prac lub grup. Dlatego testuj nie tylko jako admin, ale też na zwykłym profilu gracza.

Kontrola, ograniczenia i bezpieczny powrót

Instrukcja „Instalacja skryptów serwera FiveM – ESX i QBCore” dotyczy typu serwera opisanego w artykule oraz stanu wersji widocznego w momencie sprawdzania. Nazwy menu, dostępne wersje, kompatybilność modów lub pluginów oraz wymagane zasoby mogą się różnić po aktualizacjach. Dlatego nie przenoś żadnych wartości bez sprawdzenia na inną wersję gry, loadera lub serwera.

Przed zmianami w świecie, stanie gry, konfiguracji lub rozszerzeniach utwórz kopię zapasową odpowiednich plików. Następnie zmieniaj tylko jeden powiązany krok i sprawdzaj go z tą samą wersją klienta i serwera, z którą później chcesz grać.

Punkt kontroli Oczekiwany wynik Przerwanie i powrót
Start serwera Serwer osiąga stan gotowości bez nowych komunikatów o błędach. Przy błędach startu cofnij zmianę i wgraj ostatnią kopię zapasową.
Test połączenia Konto testowe może połączyć się przez adres pokazany w panelu. Przy błędach wersji lub połączenia ponownie porównaj wersję, port i zezwolenia.
Test funkcji Konkretna zmieniona funkcja działa bez uszkadzania istniejącego świata lub danych gry. Przy skutkach ubocznych zatrzymaj serwer i przywróć zabezpieczone pliki.

Pomyślny pojedynczy test nie jest gwarancją wydajności ani dostępności. Rozmiar świata, mody, pluginy, liczba graczy, trasa sieciowa i równoczesne obciążenie mogą zmienić wynik. Dokumentuj wersję, zmianę i wynik testu, aby później móc prześledzić odchylenia.

FAQ

Czy muszę restartować serwer po każdym skrypcie?

Dla wiarygodnego testu tak. Pojedyncze zasoby można wprawdzie przeładować przez konsolę, ale pełny restart pokazuje, czy kolejność startu i wszystkie Dependencies naprawdę się zgadzają.

Czy mogę używać ESX i QBCore jednocześnie?

W praktyce powinieneś zdecydować się na jeden framework. Wiele skryptów jest wyraźnie zbudowanych pod ESX albo QBCore i oczekuje odpowiednio innych eventów, tabel i struktur konfiguracji.

Co zrobić, jeśli skrypt nie ma fxmanifest.lua?

Wtedy może być przestarzały, błędnie rozpakowany albo nieprzygotowany pod aktualne struktury zasobów FiveM. Sprawdź źródło i dokumentację, zanim zainstalujesz go produkcyjnie.

Czy powinienem testować darmowe skrypty bezpośrednio na serwerze live?

Lepiej nie. Najpierw testuj nowe zasoby osobno, zabezpiecz pliki i bazę danych oraz sprawdź konsolę. Zwłaszcza na serwerach roleplay wadliwe skrypty mogą wpływać na ekwipunek, prace lub postęp graczy.

Ile skryptów może używać serwer FiveM?

Nie ma sensownej uniwersalnej liczby. Decydują jakość skryptów, zależności, obciążenie bazy danych, zachowanie ticków i liczba graczy. Planuj zasoby świadomie i konsekwentnie usuwaj nieużywane skrypty.