Framework Setup·

ESX, QBCore en Qbox: Stel je framework in en maak jobs aan

Een praktische FiveM startergids: installeer je framework, maak jobs en rangen correct aan, begrijp de dienststatus en baas-toegang, en controleer of alles wordt opgeslagen.

Een werkend framework is de basis van je FiveM server. Voordat je garages, tablets of bedrijven toevoegt, moet je de personagecreatie, de database en job-toewijzing werkend krijgen. Deze gids behandelt een schone installatie en één klein voorbeeld van een job in ESX Legacy, QBCore of Qbox. Volg de sectie voor jouw framework; het tegelijkertijd installeren van alle drie maakt geen deel uit van de setup.

Begin met een schone installatie

Bereid een Cfx.re account voor, een server registratiekey, een geschikte FXServer artifact en een draaiende MariaDB service. Gebruik de databaseversie die wordt ondersteund door je gekozen framework; Qbox vereist expliciet MariaDB en ondersteunt geen MySQL of XAMPP. Gebruik bij managed hosting de server en txAdmin-beheer van de provider. Zie de officiële FiveM server setup gids en Qbox vereisten.

  1. Open txAdmin en kies voor een nieuwe recipe deployment in een nieuwe server data directory.
  2. Selecteer de officiële recipe van je framework: ESX Legacy, QBCore of Qbox.
  3. Voer de server key en de juiste MariaDB verbindingsgegevens in. Gebruik een toegewezen database-account met toegang tot de database van deze server.
  4. Voer de recipe uit, controleer de gegenereerde configuratie en start de server. Behoud de dependencies en de volgorde van de resources van de recipe.
  5. Join de server, maak een personage aan, verbind opnieuw en bevestig dat het personage nog steeds laadt voordat je andere resources toevoegt.

Recipes download resources en voeren hun installatie-SQL uit. Importeer daarna geen tweede volledig framework-schema en installeer geen vers recept over een bestaande server. Maak zowel bestanden als de database een back-up voor latere wijzigingen. Volg voor framework-specifieke installatiestappen ESX's installatiehandleiding, QBCore's Windows-handleiding of Qbox's installatiehandleiding.

Begrijp wat een baan daadwerkelijk bevat

Elke baan heeft een interne sleutel, een weergavelabel en genummerde rangen. We gebruiken sky_example, met rangen 0 en 1, gedurende het hele proces. Houd die sleutel identiek in het framework, het script van de baan en alle integraties. Een label zoals “Voorbeeldbedrijf” is alleen de naam die spelers zien.

FrameworkBaan-definitiesRang-sleutels in deze handleiding
ESX LegacyMariaDB: jobs en job_gradesSQL-waarden 0, 1
QBCoreqb-core/shared/jobs.luaStrings: ['0'], ['1']
Qboxqbx_core/shared/jobs.luaGetallen: [0], [1]

Het registreren van een baan creëert de framework-identiteit ervan. Gameplay, garages, opslag, baas-menu's en zakelijke rekeningen hebben hun eigen compatibele resources en configuratie nodig. Een framework-baan is geen voltooid bedrijf. De bovenstaande locaties volgen het ESX-schema, QBCore banenbestand en Qbox banenbestand.

ESX Legacy: maak de baan aan in MariaDB

Open de database die is geconfigureerd voor deze server, niet de database van een andere server. Controleer eerst of de voorbeeld-sleutel al bestaat:

Check existing jobs
SELECT name FROM jobs WHERE name = 'sky_example';
SELECT grade FROM job_grades WHERE job_name = 'sky_example';

Voer de volgende inserts alleen uit wanneer beide controles geen rijen retourneren. Als de job bestaat, inspecteer en bewerk dan de bestaande records in plaats van duplicaten in te voegen.

Create the example job
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 koppelt elke grade aan de job. De grade kolom is de rang die wordt gebruikt voor toewijzing; de automatische id van de rij is niet de rang. Een job zonder grades wordt genegeerd. Herlaad de jobcatalogus via de serverconsole:

Server console
refreshjobs

De huidige ESX Legacy begint met oxmysql, dan esx_lib, dan es_extended; oudere tutorials kunnen esx_lib weglaten. Behoud de dependencies die door je recept worden geleverd. Bekijk de huidige receptconfiguratie en de job-implementatie.

Voor een esx_society integratie wordt de interne gradenaam boss herkend door de standaard boss-configuratie. De zichtbare label “Manager” alleen verleent niets. Registratie van de society, rekeningen en de volgorde van dependencies blijven aparte instelstappen. Volg de society documentatie als jouw job-resource deze gebruikt.

QBCore: voeg een vermelding toe aan de jobs tabel

Open qb-core/shared/jobs.lua. Voeg deze binnen de bestaande jobs tabel in, naast de andere job-vermeldingen en voor de sluitende accolade. Behoud de bestaande tabelverklaring en alle bestaande jobs; dit is een vermelding, geen vervangend bestand.

qb-core/shared/jobs.lua
['sky_example'] = {
    label = 'Example Company',
    defaultDuty = false,
    offDutyPay = false,
    grades = {
        ['0'] = { name = 'Employee', payment = 100 },
        ['1'] = { name = 'Manager', payment = 200, isboss = true },
    },
},

Houd grade-keys als strings, inclusief grade nul. Controleer komma's en accolades rondom naburige vermeldingen, sla op, en voer vervolgens een geplande volledige serverherstart uit zodat afhankelijke resources dezelfde definities laden. De refresh opdracht van FiveM scant resources en manifests opnieuw; het herlaadt geen actieve Lua jobs tabel. Maak geen jobs SQL-rijen in ESX-stijl aan voor QBCore. De job-definities staan in Lua, terwijl karaktergegevens nog steeds de database gebruiken.

isboss markeert de manager-rang; het verleent geen framework-admin commando-machtigingen. Een compatibele management-resource moet nog steeds het eigenlijke menu en de locatie ervan leveren en configureren.

Qbox: gebruik het eigen jobs-bestand en numerieke rangen

Open qbx_core/shared/jobs.lua en voeg deze in de tabel die door return { ... } wordt geretourneerd, voor de laatste sluitende accolade. Behoud de andere vermeldingen. Qbox gebruikt hier numerieke rang-sleutels; plak de string-sleutels van QBCore niet ongewijzigd.

qbx_core/shared/jobs.lua
['sky_example'] = {
    label = 'Example Company',
    defaultDuty = false,
    offDutyPay = false,
    grades = {
        [0] = { name = 'Employee', payment = 100 },
        [1] = { name = 'Manager', payment = 200, isboss = true, bankAuth = true },
    },
},

Opslaan en voer een geplande volledige server-restart uit. bankAuth staat los van isboss en wordt gebruikt door compatibele bank-integraties; geen van beide vlaggen maakt een account of menu aan. Stem je setup af op de officiële Qbox job-definities.

Qbox bevat multijob-ondersteuning. De job-limiet en of /setjob lidmaatschap vervangt of toevoegt, is configureerbaar. Gebruik de ondersteunde lidmaatschap-commando's bij het beheren van meerdere jobs; ga er niet vanuit dat een externe QBCore multijob-resource compatibel is. Zie Qbox-commando's en multijob-configuratie.

Toewijzen, testen en opnieuw verbinden

Join met een test-character en gebruik een account met de vereiste framework/ACE commando-machtigingen. Een txAdmin-login alleen stelt deze machtigingen niet vast. Als Qbox requireOptIn heeft ingeschakeld, gebruik dan /optin voor admin-commando's. Vervang 1 hieronder door het huidige server-ID van je verbonden test-character; /job rapporteert de job van de speler die het invoert:

In-game chat
/setjob 1 sky_example 0
/job
/setjob 1 sky_example 1
/job

Controleer of beide rangen de verwachte job en rang tonen. De toewijzings-syntax is gedocumenteerd voor ESX, QBCore en Qbox; de conditionele opt-in check van Qbox zit in de commando-implementatie.

Voor QBCore en Qbox begint dit voorbeeld buiten dienst en schakelt het betaling buiten dienst uit. Gebruik de dienst-actie van je geïnstalleerde job-resource; er is geen universeel /duty commando om aan te nemen. Login-instellingen bepalen ook of de opgeslagen dienststatus of defaultDuty wint. Verbind vervolgens opnieuw en controleer de opgeslagen job, rang en de beoogde dienststatus-functionaliteit.

Test de permissies met beide rangen voordat je de job openstelt voor spelers. Een werknemer mag geen toegang hebben tot functies die gereserveerd zijn voor het management. Wacht op je geconfigureerde salarisinterval in plaats van direct na toewijzing betaling te verwachten; de voorbeeldbedragen zijn placeholders voor jouw economie. Als een controle mislukt, lees de eerste relevante consolefout en los deze op voordat je een andere resource toevoegt.

SymptoomEerste controle
Job kan niet worden toegewezenExacte sleutel, bestaande rang en geladen definities
Commando geweigerdFramework permissies en ACE-configuratie
Resource faalt na een Lua-editEerste consolefout, komma's en accolades
Correcte job maar geen menuJob-resource, geconfigureerde locatie, rang en dienststatus
Verkeerd salarisRang-salaris, dienstregels en salaris/rekening-configuratie

Verbind daarna je Sky job

Zodra de framework-toewijzing werkt, volg de Sky installatiegids en configureer je geïnstalleerde job-resource met dezelfde framework-sleutel en rangen. Gebruik Jobs Base gedeelde functies voor de relevante gedeelde instellingen. Configureer alleen een job-combinatie voor buiten dienst wanneer jouw gekozen Sky-setup een dergelijke gebruikt, en maak beide jobs aan met elke vereiste rang.

Laatst gecontroleerd: 25 oktober 2026. De bovenstaande bronnen zijn de officiële framework-documentatie, onderhouden recepten en GitHub-implementaties. Controleer je geïnstalleerde versie voordat je voorbeelden van een nieuwere release toepast.