ESX, QBCore i Qbox: Skonfiguruj swój framework i utwórz prace
Działający framework to fundament Twojego serwera FiveM. Zanim dodasz garaże, tablety lub firmy, uruchom tworzenie postaci, bazę danych i przydzielanie prac. Ten przewodnik obejmuje świeżą instalację oraz jeden mały przykładowy skrypt pracy w ESX Legacy, QBCore lub Qbox. Postępuj zgodnie z sekcją dla swojego frameworku; instalacja wszystkich trzech jednocześnie nie jest częścią konfiguracji.
Zacznij od czystej instalacji
Przygotuj konto Cfx.re, klucz rejestracyjny serwera, odpowiednią wersję FXServer artifact oraz działającą usługę MariaDB. Użyj wersji bazy danych wspieranej przez wybrany framework; Qbox wyraźnie wymaga MariaDB i nie obsługuje MySQL ani XAMPP. W przypadku hostingu zarządzanego użyj kontroli serwera i txAdmin dostawcy. Zapoznaj się z oficjalnym przewodnikiem konfiguracji serwera FiveM oraz wymaganiami Qbox.
- Otwórz txAdmin i wybierz nową instalację z szablonu (recipe deployment) w nowym katalogu danych serwera.
- Wybierz oficjalny szablon swojego frameworku: ESX Legacy, QBCore lub Qbox.
- Wprowadź klucz serwera i poprawne dane połączenia MariaDB. Użyj dedykowanego konta bazy danych z dostępem do bazy danych tego serwera.
- Uruchom szablon, przejrzyj wygenerowaną konfigurację i uruchom serwer. Zachowaj zależności szablonu i kolejność zasobów.
- Dołącz do serwera, utwórz postać, połącz się ponownie i upewnij się, że postać nadal się ładuje, zanim dodasz inne zasoby.
Szablony instalacyjne pobierają zasoby i uruchamiają ich instalację SQL. Nie importuj później drugiego pełnego schematu frameworka ani nie uruchamiaj nowej instalacji z szablonu na istniejącym serwerze. Przed wprowadzaniem późniejszych zmian wykonaj kopię zapasową zarówno plików, jak i bazy danych. W celu uzyskania instrukcji instalacji specyficznych dla danego frameworka, postępuj zgodnie z przewodnikiem instalacji ESX, przewodnikiem dla Windows dla QBCore lub przewodnikiem instalacji Qbox.
Zrozum, co faktycznie zawiera praca
Każda praca posiada klucz wewnętrzny, etykietę wyświetlaną oraz numerowane rangi. W całym procesie używamy sky_example, z rangami 0 i 1. Zachowaj ten sam klucz w frameworku, skrypcie pracy i wszelkich integracjach. Etykieta taka jak „Przykładowa Firma” to tylko nazwa widoczna dla graczy.
| Framework | Definicje prac | Klucze rang w tym przewodniku |
|---|---|---|
| ESX Legacy | MariaDB: jobs i job_grades | Wartości SQL 0, 1 |
| QBCore | qb-core/shared/jobs.lua | Stringi: ['0'], ['1'] |
| Qbox | qbx_core/shared/jobs.lua | Liczby: [0], [1] |
Zarejestrowanie pracy tworzy jej tożsamość w frameworku. Rozgrywka, garaże, magazyny, menu szefa i konta firmowe wymagają własnych, kompatybilnych zasobów i konfiguracji. Praca w frameworku nie jest gotowym przedsiębiorstwem. Powyższe lokalizacje są zgodne ze schematem ESX, plikiem prac QBCore oraz plikiem prac Qbox.
ESX Legacy: utwórz pracę w MariaDB
Otwórz bazę danych skonfigurowaną dla tego serwera, a nie bazę danych innego serwera. Najpierw sprawdź, czy przykładowy klucz już istnieje:
SELECT name FROM jobs WHERE name = 'sky_example';
SELECT grade FROM job_grades WHERE job_name = 'sky_example';
Uruchamiaj poniższe instrukcje insert tylko wtedy, gdy oba kontrole nie zwrócą żadnych wierszy. Jeśli praca istnieje, sprawdź i edytuj jej istniejące rekordy zamiast wstawiać duplikaty.
INSERT INTO jobs (name, label)
VALUES ('sky_example', 'Example Company');
INSERT INTO job_grades
(job_name, grade, name, label, salary, skin_male, skin_female)
VALUES
('sky_example', 0, 'employee', 'Employee', 100, '{}', '{}'),
('sky_example', 1, 'boss', 'Manager', 200, '{}', '{}');
job_name łączy każdą rangę z pracą. Kolumna grade to ranga używana do przydziału; automatyczna id wiersza nie jest rangą. Praca bez rang jest ignorowana. Przeładuj katalog prac przez konsolę serwera:
refreshjobs
Bieżący ESX Legacy zaczyna się od oxmysql, potem esx_lib, a następnie es_extended; starsze poradniki mogą pomijać esx_lib. Zachowaj zależności dostarczone przez Twój przepis. Zobacz bieżącą konfigurację przepisu oraz implementację ładowania pracy.
W przypadku integracji esx_society, wewnętrzna nazwa rangi boss jest rozpoznawana przez jej domyślną konfigurację szefa. Sam widoczny etykieta „Manager” nie daje żadnych uprawnień. Rejestracja stowarzyszenia, konta i kolejność zależności pozostają oddzielnymi krokami konfiguracji. Postępuj zgodnie z dokumentacją stowarzyszenia, jeśli Twój zasób pracy jej używa.
QBCore: dodaj wpis do tabeli jobs
Otwórz qb-core/shared/jobs.lua. Wstaw ten wewnątrz istniejącej tabeli jobs, obok innych wpisów pracy i przed jej zamykającą klamrą. Zachowaj istniejącą deklarację tabeli i wszystkie istniejące prace; jest to wpis, a nie plik zastępczy.
['sky_example'] = {
label = 'Example Company',
defaultDuty = false,
offDutyPay = false,
grades = {
['0'] = { name = 'Employee', payment = 100 },
['1'] = { name = 'Manager', payment = 200, isboss = true },
},
},
Zachowaj klucze stopni jako ciągi znaków, w tym stopień zero. Sprawdź przecinki i nawiasy przy sąsiednich wpisach, zapisz, a następnie wykonaj planowany pełny restart serwera, aby zależne zasoby załadowały te same definicje. Komenda refresh w FiveM skanuje ponownie zasoby i manifesty; nie przeładowuje ona działającej tabeli zawodów Lua. Nie twórz wierszy SQL jobs w stylu ESX dla QBCore. Jego definicje zawodów znajdują się w Lua, podczas gdy dane postaci nadal korzystają z bazy danych.
isboss oznacza rangę managera; nie nadaje uprawnień do komend framework-admin. Kompatybilny zasób zarządzania musi nadal zapewniać i konfigurować właściwe menu oraz jego lokalizację.
Qbox: używaj własnego pliku prac i rang liczbowych
Otwórz qbx_core/shared/jobs.lua i wstaw ten wewnątrz tabeli zwróconej przez return { ... }, przed końcowym nawiasem klamrowym. Zachowaj pozostałe wpisy. Qbox używa tutaj kluczy rang liczbowych; nie wklejaj nieprzetworzonych kluczy tekstowych z QBCore.
['sky_example'] = {
label = 'Example Company',
defaultDuty = false,
offDutyPay = false,
grades = {
[0] = { name = 'Employee', payment = 100 },
[1] = { name = 'Manager', payment = 200, isboss = true, bankAuth = true },
},
},
Zapisz i wykonaj planowany pełny restart serwera. bankAuth jest oddzielne od isboss i jest używane przez kompatybilne integracje bankowe; żadna z flag nie tworzy konta ani menu. Dopasuj swoją konfigurację do oficjalnych definicji pracy oficjalnych prac Qbox .
Qbox zawiera obsługę wielu prac. Limit prac oraz to, czy /setjob zastępuje, czy dodaje członkostwo, jest konfigurowalne. Używaj obsługiwanych komend członkostwa podczas zarządzania wieloma pracami; nie zakładaj, że zewnętrzny zasób multijob QBCore jest kompatybilny. Zobacz komendy Qbox i konfigurację multijob.
Przypisz, przetestuj i połącz ponownie
Dołącz z postacią testową i użyj konta z wymaganymi uprawnieniami komend framework/ACE. Samo zalogowanie w txAdmin nie ustanawia tych uprawnień. Jeśli Qbox ma włączone requireOptIn, użyj /optin przed komendami admina. Zastąp 1 poniżej przez twój aktualny serwerowy ID połączonej postaci testowej; /job raportuje pracę gracza, który ją wpisuje:
/setjob 1 sky_example 0
/job
/setjob 1 sky_example 1
/job
Sprawdź, czy obie rangi wyświetlają oczekiwaną pracę i rangę. Składnia przypisywania jest udokumentowana dla ESX, QBCore i Qbox; warunkowe sprawdzenie opt-in Qbox znajduje się w jego implementacji komendy.
Dla QBCore i Qbox ten przykład zaczyna się w stanie poza służbą i wyłącza wynagrodzenie za czas poza służbą. Użyj akcji służby ze swojego zainstalowanego zasobu pracy; nie ma uniwersalnej komendy /duty, którą można przyjąć. Ustawienia logowania również wpływają na to, czy wygrywa zapisany stan służby, czy defaultDuty. Następnie połącz się ponownie i zweryfikuj zapisaną pracę, rangę oraz zamierzony sposób działania służby.
Zanim udostępnisz pracę graczom, przetestuj jej uprawnienia dla obu rang. Pracownik nie powinien mieć dostępu do funkcji zarezerwowanych dla kierownictwa. Poczekaj na skonfigurowany interwał wypłat zamiast oczekiwać płatności natychmiast po przydzieleniu; kwoty w przykładzie są jedynie placeholderami dla Twojej ekonomii. Jeśli sprawdzenie zakończy się niepowodzeniem, przeczytaj pierwszy istotny błąd w konsoli i rozwiąż go przed dodaniem kolejnego zasobu.
| Objaw | Pierwsza kontrola |
|---|---|
| Nie można przydzielić pracy | Dokładny klucz, istniejąca ranga i załadowane definicje |
| Komenda odmówiona | Uprawnienia frameworka i konfiguracja ACE |
| Zasób przestaje działać po edycji Lua | Pierwszy błąd w konsoli, przecinki i nawiasy |
| Poprawna praca, ale brak menu | Zasób pracy, skonfigurowana lokalizacja, ranga i służba |
| Błędna wypłata | Płaca za rangę, zasady służby i konfiguracja listy płac/konta |
Następnie połącz swoją pracę Sky
Gdy przydzielanie przez framework zacznie działać, postępuj zgodnie z przewodnikiem instalacji Sky i skonfiguruj swój zainstalowany zasób pracy przy użyciu tego samego klucza frameworka i rang. Skorzystaj z wspólnych funkcji Jobs Base dla odpowiednich wspólnych ustawień. Skonfiguruj parę prac poza służbą tylko wtedy, gdy wybrana przez Ciebie konfiguracja Sky z niej korzysta, i utwórz obie prace z każdą wymaganą rangą.
Ostatnia weryfikacja: 25 października 2026 r. Powyższe źródła to oficjalna dokumentacja frameworka, utrzymywane przepisy oraz implementacje z GitHub. Przed zastosowaniem przykładów z nowszej wersji sprawdź swoją zainstalowaną wersję.