Roleplay server stojí na frameworku: ten rieši postavy, peniaze, práce, inventár a autá. Porovnáme tri najpoužívanejšie (ESX Legacy, QBCore a Qbox), poradíme s výberom a prevedieme vás inštaláciou cez recept txAdminu vrátane nastavenia adminov.
Čo budete potrebovať
Čo je framework#
Framework je sada resources, ktorá dáva serveru základnú „hru v RP“: vytvorenie postavy, peniaze v hotovosti a v banke, zamestnania a hodnosti, inventár, vlastníctvo áut, ukladanie do databázy. Ostatné skripty (práce, obchody, telefón, garáže) potom stavajú na funkciách frameworku.
Dôležité dôsledky:
- Skript je napísaný pre konkrétny framework. Skript pre ESX bez úprav na QBCore nepobeží a naopak. Pri skripte preto vždy hľadajte verziu pre váš framework.
- Framework sa ťažko mení za behu. Prechod na iný znamená novú databázu a výmenu skriptov. Vyberte si preto dobre hneď na začiatku.
- Framework potrebuje databázu a resource
oxmysql.
Server bez frameworku (freeroam, drift, preteky) môže bežať na základnom recepte txAdminu (FiveM Basic Server).
Základné pojmy#
| Pojem | Čo znamená | Kde je uložený |
|---|---|---|
| Postava (character) | Hráč môže mať viac postáv s vlastným menom, peniazmi a prácou. Vyberá sa v multicharacteri po pripojení. | ESX tabuľka users, QBCore a Qbox tabuľka players |
| Identifikátor | Podľa čoho framework rozpozná hráča. Zvyčajne licencia Rockstar (license). | Pri postave v databáze |
| Účty (accounts) | Hotovosť, banka, prípadne špinavé peniaze alebo krypto. | Pri postave |
| Práca a hodnosť (job, grade) | Zamestnanie postavy (polícia, záchranka, mechanik) a hodnosť s platom. Šéf (boss) spravuje zamestnancov. | ESX tabuľky jobs a job_grades, QBCore a Qbox konfigurácia |
| Gang | Obdoba práce pre gangy. | QBCore a Qbox |
| Predmety (items) | Veci v inventári: definícia (názov, váha) a ich množstvo pri postave. | ESX tabuľka items, pri ox_inventory a QBCore konfiguračné súbory |
| Spoločnosť (society) | Firemný účet práce, z ktorého sa môže platiť výplata. | Podľa frameworku a bankového skriptu |
| Vlastnené vozidlá | Autá kúpené postavou, ich ŠPZ a vylepšenia. | ESX tabuľka owned_vehicles, QBCore a Qbox tabuľky vozidiel |
Kto tomu rozumie, ľahšie nájde chybu: keď sa „stratia“ peniaze alebo auto, je to záznam v databáze, ktorý sa dá dohľadať a opraviť (napríklad v HeidiSQL).
Porovnanie#
| ESX Legacy | QBCore | Qbox | |
|---|---|---|---|
| Pôvod | Najstarší z trojice, dlhodobo vyvíjaný. | Samostatný framework, inšpirovaný ESX. | Vznikol ako odnož QBCore, kód prepísaný. |
| Jadro (resource) | es_extended | qb-core | qbx_core |
| Knižnice | esx_lib, ox_lib, oxmysql | oxmysql, vlastné qb-* | ox_lib, oxmysql |
| Inventár | vstavaný v ESX, voliteľne ox_inventory | qb-inventory | ox_inventory |
| Cielenie (interakcie) | podľa skriptov | qb-target | ox_target |
| Databáza | MariaDB (odporúčané) | MySQL alebo MariaDB | iba MariaDB 10.9.0 a novšia |
| Skripty iného frameworku | nie | nie | väčšina skriptov pre QBCore funguje cez vstavaný most |
| Admin práva | skupina hráča (/setgroup) | ACE skupiny qbcore.god, qbcore.admin, qbcore.mod | ACE skupiny group.admin, group.mod, group.support |
| Recept v txAdmine | ESX Legacy | QBCore Framework | Qbox Framework |
| Dokumentácia | docs.esx-framework.org (otvorí sa v novom okne) | qbcore.org/docs (otvorí sa v novom okne) | docs.qbox.re (otvorí sa v novom okne) |
Ako vybrať#
- Chcete najviac hotových skriptov a návodov? ESX Legacy. Je najrozšírenejší a skripty preň nájdete takmer na všetko.
- Chcete moderný základ a skripty pre QBCore? Qbox. Používa knižnice
ox_lib,ox_inventoryaox_target, má prísnejší kód a väčšinu skriptov pre QBCore spustí cez most bez úprav. - Máte konkrétne platené skripty pre QBCore? QBCore, alebo Qbox (overte u autora skriptu, že na Qboxe funguje).
- Staviate server s vlastnými skriptmi od nuly? Vyberte ten, ktorého dokumentácia vám najviac vyhovuje. Dobrá znalosť frameworku je dôležitejšia než jeho voľba.
Najistejší postup: nasaďte framework na skúšku, prejdite ho v hre a až potom kupujte skripty.
Pred inštaláciou#
- Vytvorte prázdnu databázu v záložke Databázy (napríklad
fivem, Povolený prístup z%). Údaje Názov databázy, Používateľ, Server a Heslo si nechajte otvorené. - Pripravte license key (začína
cfxk_). - Urobte zálohu, ak na serveri už niečo máte (záložka Zálohy, návod) a databázu vyexportujte (návod). Nové nasadenie sa ukladá do nového priečinka, ale databázu by recept so zapnutou voľbou Delete Database zmazal.
- Skontrolujte artefakty. Frameworky vyžadujú aktuálnu verziu servera. Starý server aktualizujte podľa návodu Aktualizácia artefaktov.
Qbox a verzia databázy
Qbox oficiálne podporuje iba MariaDB od verzie 10.9.0. Verziu databázového servera zistíte po prvom štarte v konzole z riadka […] Database server connection established! (v hranatých zátvorkách). Ak by verzia bola nižšia alebo išlo o MySQL, napíšte nám.
Inštalácia cez recept txAdminu#
Postup je pri všetkých troch frameworkoch rovnaký, líši sa iba recept a pár nastavení po inštalácii. Ak ste v txAdmine už iný server nasadili, nového sprievodcu spustíte v Settings › FXServer tlačidlom Reset vedľa poľa Server Data Folder. txAdmin sa vráti na stránku Setup a existujúce súbory nezmaže.
- V txAdmine na stránke Setup zadajte Server Name a kliknite na Next.
- Pri Deployment Type zvoľte Popular Recipes.
- Vyberte recept podľa záložky nižšie.
- Ponechajte navrhnutý priečinok pre dáta, kliknite na Save a potom na Go to Recipe Deployer.
- V kroku Step 1: Review Recipe kliknite na Next.
- V kroku Step 2: Input Parameters vyplňte Server Registration Key a po kliknutí na Show/Hide Database options (advanced) aj databázu: Database Host (IP z poľa Server), Database Port (port z poľa Server), Database Username, Database Password, Database Name. Prepínač Delete Database je v predvolenom stave zapnutý, skontrolujte, že je na Off. Každé pole podrobne vysvetľuje návod k txAdminu.
- Kliknite na Run Recipe a počkajte na dokončenie. Pri veľkých receptoch to trvá niekoľko minút.
- V kroku Step 4: Configure server.cfg skontrolujte, že
endpoint_add_tcpaendpoint_add_udpmajú port z riadka Adresa na pripojenie v záložke Sieť (recept môže zapísať predvolený30120). Potom upravte nastavenia podľa záložky nižšie a kliknite na Save & Run Server.
ESX
Recept: v zozname Popular Recipes zvoľte ESX Legacy.
Čo recept nainštaluje: jadro es_extended a ďalšie resources v priečinku [core] (postavy, menu, identita, multicharacter), doplnky v priečinku [esx_addons] (práce, banka, obchody, garáže …), oxmysql, ox_lib, hlasový chat pma-voice a mapy interiérov bob74_ipl.
Nastavenia v server.cfg po nasadení:
| Riadok | Čo robí | Čo nastaviť |
|---|---|---|
sv_hostname a sets sv_projectName | Názov servera (v konzole a v zozname serverov). | Váš názov. |
sets locale "root-AQ" | Jazyk servera v zozname. | sets locale "sk-SK" |
#setr esx:locale "en" | Jazyk ESX. Keď je zakomentovaný, ESX použije jazyk nastavený v txAdmine. | Odkomentujte a nastavte setr esx:locale "sk" (ak preklad chýba, použite cs alebo en), alebo nechajte jazyk podľa txAdminu. |
#setr esx:identifier "license" | Podľa akého identifikátora ESX rozpozná hráča. | Nemeňte. Zmena na hotovom serveri „stratí“ všetky postavy. |
sv_enforceGameBuild | Game build (DLC). | Ponechajte z receptu, ak skripty nevyžadujú vyšší. |
add_ace resource.es_extended command.add_principal allow a podobné | Dovolí ESX prideľovať skupiny. | Nemažte. |
Bezpečnostné nastavenia z receptu
Recept ESX zapína aj ochranné voľby sv_enableNetworkedSounds false, sv_, sv_ a sv_filterRequestControl 2. Bránia častým trikom cheaterov, ponechajte ich. Vysvetlenie nájdete v návode server.cfg.
QBCore
Recept: v zozname Popular Recipes zvoľte QBCore Framework.
Čo recept nainštaluje: jadro qb-core, desiatky skriptov qb-* v priečinku [qb] (multicharacter, inventár, polícia, záchranka, garáže, telefón, HUD, admin menu …), oxmysql, hlasový chat pma-voice a mapy.
Nastavenia v server.cfg po nasadení:
| Riadok | Čo robí | Čo nastaviť |
|---|---|---|
sets locale "root-AQ" | Jazyk servera v zozname. | sets locale "sk-SK" |
setr qb_locale "en" | Jazyk QBCore. | setr qb_locale "sk" (ak jadro slovenčinu nemá, cs alebo en; niektoré skripty majú iba angličtinu). |
setr UseTarget false | Či skripty používajú interakcie cez qb-target (oko), alebo klávesové nápovedy. | false na začiatok, true keď chcete interakcie cez cieľ. |
sv_enforceGameBuild 3095 | Game build (DLC). | Ponechajte z receptu. |
add_principal qbcore.god group.admin a ďalšie | Hierarchia admin skupín QBCore. | Nemažte. |
QBCore pri prvom štarte zostavuje niektoré resources (výpis yarn v konzole). Nechajte ho dobehnúť, aj keď to trvá niekoľko minút, a server medzitým nereštartujte.
Qbox
Recept: v zozname Popular Recipes zvoľte Qbox Framework.
Čo recept nainštaluje: jadro qbx_core, skripty qbx_* (správa, polícia, záchranka, garáže, nehnuteľnosti, HUD, admin menu …), knižnice ox_lib, ox_target, ox_inventory, ox_doorlock, oxmysql a telefón npwd. Nastavenia sú rozdelené do súborov server.cfg, permissions.cfg, ox.cfg, voice.cfg a misc.cfg.
Nastavenia po nasadení:
| Súbor a riadok | Čo robí | Čo nastaviť |
|---|---|---|
server.cfg: sets locale "root-AQ" | Jazyk servera v zozname. | sets locale "sk-SK" |
ox.cfg: setr ox:locale "en" | Jazyk ox_lib a skriptov, ktoré ho používajú (vrátane qbx_core). | setr ox:locale "sk" (ak preklad chýba, cs alebo en) |
server.cfg: setr qb_locale "en" | Jazyk pre skripty QBCore bežiace cez most. | setr qb_locale "sk" (prípadne cs alebo en) |
server.cfg: setr qbx:enableBridge "true" | Most pre skripty písané pre QBCore. | Nechajte true, ak používate skripty pre QBCore. |
server.cfg: set qbx:discordLink "discord.gg/qbox" | Odkaz na Discord, ktorý server ukazuje hráčom. | Odkaz na váš Discord. |
server.cfg: set qbx:max_jobs_per_player 1 | Koľko zamestnaní môže mať postava. | Viac, ak chcete multijob. |
ox.cfg: setr inventory:slots 50, setr inventory:weight 85000 | Počet slotov a nosnosť inventára (v gramoch). | Podľa pravidiel servera. |
server.cfg: setr loadscreen: | Načítaciu obrazovku zatvára multicharacter. | Zmeňte na false iba s vlastným multicharacterom, ktorý obrazovku nezatvára. |
Prvé kroky po inštalácii: admin práva#
Admin v txAdmine a admin vo frameworku sú dve rôzne veci. txAdmin pri nasadení pridá do server.cfg hlavného admina do skupiny group.admin (riadok add_principal identifier.). Frameworky na to nadväzujú takto:
ESX
ESX má skupinu priamo pri postave v databáze (user, admin …). Hlavný admin z txAdminu je vďaka skupine group.admin rozpoznaný automaticky. Ďalšiemu hráčovi dáte admina v hre alebo v konzole servera:
setgroup <ID_HRACE> adminsetgroup– príkaz ESX na zmenu skupiny (v hre s lomkou:/setgroup).<ID_HRACE>– serverové ID hráča (číslo, ktoré vidíte v txAdmine v zozname hráčov, alebo v hre).admin– skupina. Späť na bežného hráča nastavíte skupinuuser.
Skupina sa uloží do databázy a platí aj po reštarte. Svoju skupinu si hráč zistí príkazom /group.
QBCore
QBCore používa skupiny ACE qbcore.god (všetko), qbcore.admin a qbcore.mod. Trvalo admina pridáte riadkom v server.cfg (pri txAdmine v CFG Editore):
add_principal identifier.license:<LICENSE_HRACE> qbcore.godidentifier.– licencia hráča. Nájdete ju v txAdmine: Players, kliknite na hráča, záložka IDs.license: <LICENSE_ HRACE> qbcore.god– najvyššia skupina. Pre menšie práva použiteqbcore.adminaleboqbcore.mod.
V hre sa dá právo pridať aj príkazom /addpermission <ID_HRACE> god alebo v admin menu (/admin › Player Management › hráč › Permissions). Takto pridané právo však platí iba do odpojenia hráča alebo reštartu servera, trvalo iba cez server.cfg.
Qbox
Qbox používa skupiny ACE group.admin, group.mod a group.support (definované v permissions.cfg). Trvalo admina pridáte riadkom v permissions.cfg alebo server.cfg:
add_principal identifier.license:<LICENSE_HRACE> group.adminidentifier.– licencia hráča z txAdminu (Players › hráč › záložka IDs). Dá sa použiť ajlicense: <LICENSE_ HRACE> identifier..fivem: <FIVEM_ ID> group.admin– plné práva.group.moddostane menu a moderátorské akcie,group.supportiba podporu.
Admin menu otvoríte v hre príkazom /admin. Príkaz /addpermission existuje, ale je zastaraný a platí iba do odpojenia hráča.
Po úprave server.cfg alebo permissions.cfg reštartujte server.
Pri Qboxe vyžadujú admin príkazy jadra (napríklad /addpermission, /setjob, /car) najprv zadať /optin. Vypína sa to voľbou requireOptIn = false v qbx_.
Čo nastaviť ako prvé#
Každý framework má hlavný konfiguračný súbor s ekonomikou, spawnom a postavami. Upravujte ho pri vypnutom serveri, alebo v txAdmine po úprave reštartujte server. Súbory nájdete v priečinku nasadenia v resources.
ESX
Súbor resources/:
| Nastavenie | Čo robí | Predvolená hodnota | Kedy zmeniť |
|---|---|---|---|
Config. | Peniaze, s ktorými začína nová postava, podľa účtu (bank, money = hotovosť, black_money). | { bank = 50000 } | Podľa ekonomiky servera. Platí iba pre nové postavy. |
Config. | Predmety pre novú postavu (tabuľka), alebo false. | false | Štartovací balíček (telefón, voda, jedlo). |
Config.DefaultSpawns | Súradnice, kde sa objaví nová postava. Viac riadkov = náhodný výber. | jedna pozícia v meste | Vlastný spawn (letisko, stanica). |
Config. | Ktoré skupiny smú ktorý admin príkaz ESX (setjob, car, setgroup …). | owner a admin | Moderátorom dajte iba časť príkazov. |
Súbor resources/:
| Nastavenie | Čo robí | Predvolená hodnota |
|---|---|---|
Config.Slots | Koľko postáv si môže založiť každý hráč. Jednotlivým hráčom pridáte sloty príkazom /setslots. | 3 |
Config.CanDelete | Či hráč môže svoju postavu zmazať. | true |
QBCore
Súbor resources/:
| Nastavenie | Čo robí | Predvolená hodnota | Kedy zmeniť |
|---|---|---|---|
QBCore. | Druhy peňazí a štartovacie sumy (cash, bank, crypto). | { cash = 500, bank = 5000, crypto = 0 } | Podľa ekonomiky. Pridaný druh peňazí už z databázy nezmizne, ani keď ho zmažete z konfigurácie. |
QBCore. | Ako často (v minútach) dostávajú hráči výplatu. | 10 | Dlhší interval = pomalšia ekonomika. |
QBCore. | Miesto prvého spawnu (vector4(x, y, z, natočenie)). | pri letisku | Vlastný spawn. |
QBCore., ThirstRate | Ako rýchlo ubúda jedlo a pitie. | 4.2, 3.8 | Nižšie číslo = pomalšie. |
QBCore. | Uzavrie server pre všetkých bez oprávnenia. | false | Údržba. |
QBCore.Config.Server.PVP | Či hráči môžu strieľať po sebe. | true | Servery bez PvP. |
QBCore. | Zoznam admin skupín (každá musí mať add_ace/add_principal v server.cfg). | { 'god', 'admin', 'mod' } | Vlastné skupiny (napríklad leo). |
Qbox
Súbor resources/:
| Nastavenie | Čo robí | Predvolená hodnota | Kedy zmeniť |
|---|---|---|---|
money.moneyTypes | Druhy peňazí a štartovacie sumy. | { cash = 500, bank = 5000, crypto = 0 } | Podľa ekonomiky. Pridaný druh peňazí z databázy nezmizne. |
money.paycheckTimeout | Interval výplat v minútach. | 10 | Podľa ekonomiky. |
characters. | Koľko postáv má každý hráč. | 3 | Viac postáv pre všetkých. |
characters. | Výnimky pre konkrétnych hráčov podľa licencie. | ukážkový riadok | Viac postáv pre vybraných hráčov (VIP). |
requireOptIn | Admin príkazy jadra vyžadujú /optin. | true | false, ak to adminov obťažuje. |
Súbor resources/: characters. (vlastný multicharacter), characters. (mazanie postáv hráčom), characters. (výber bytu po vytvorení postavy).
Peniaze a predmety sa ukladajú do databázy. Zmena štartovacích hodnôt sa týka iba novo vytvorených postáv, existujúcim nič nezmení.
Kompatibilné skripty#
- Sťahujte verziu pre svoj framework. Mnohí autori ponúkajú jeden skript pre viac frameworkov a voľbu v
config.lua(napríkladConfig.Framework = 'esx','qb'alebo'qbx'). - Knižnice ox (
ox_lib,ox_inventory,ox_target) fungujú s ESX aj Qboxom. Pred inštaláciou druhého inventára si ujasnite, ktorý používate. Dva inventáre naraz nefungujú. - Skripty pre QBCore na Qboxe bežia cez most, ak používajú
qb-coredokumentovaným spôsobom. Nefungujú skripty, ktoré siahajú priamo do databázových tabuliek QBCore. - Konflikty: dva skripty s rovnakou funkciou (dva HUDy, dve garáže, dva telefóny) si zvyčajne prekážajú. Pôvodný vypnite (zakomentujte jeho
ensurealebo ho presuňte z kategórie).
Inštaláciu jednotlivých skriptov opisuje návod FiveM resources.
Ručná inštalácia (pre pokročilých)#
Recept robí automaticky to, čo by ste inak robili ručne:
- Stiahne jadro frameworku a jeho závislosti (
oxmysql,ox_lib…) v konkrétnych verziách. - Naimportuje SQL súbor frameworku do databázy.
- Pripraví
server.cfgso správnym poradímensure, právami ACE a connection stringom.
Ručnú inštaláciu voľte iba vtedy, keď chcete mať každú verziu pod kontrolou. Postupujte podľa oficiálnej dokumentácie frameworku a dodržte poradie: oxmysql › knižnice › jadro › skripty. Na serveri u nás je recept výrazne rýchlejší, ručné nahrávanie stoviek súborov cez záložku Súbory je zdĺhavé (veľké súbory cez SFTP zriadi podpora).
Aktualizácia frameworku#
- Zálohujte súbory (záložka Zálohy) a vyexportujte databázu (HeidiSQL, návod).
- Prečítajte si poznámky k vydaniu (changelog) na GitHube frameworku. Hľadajte hlavne zmeny databázy (súbory
.sqls migráciami) a zmeny konfigurácie. - Vypnite server.
- Nahraďte priečinky aktualizovaných resources novými. Svoje
config.luasi vopred stiahnite a po aktualizácii porovnajte s novými (nové voľby môžu chýbať). - Spustite migračné SQL, ak ho vydanie obsahuje.
- Spustite server a sledujte konzolu. Potom skontrolujte v hre postavu, peniaze a inventár.
Neaktualizujte iba jadro bez ostatných častí frameworku. Verzie es_extended a skriptov [esx_addons] (alebo qb-core a qb-*) majú ísť spolu.
Overenie#
- V konzole (alebo Live Console v txAdmine) je
Database server connection established!a bez červených chýb sa načíta jadro frameworku. - Po pripojení v hre sa objaví vytvorenie alebo výber postavy.
- Príkaz
/group(ESX) alebo otvorenie admin menu/admin(QBCore, Qbox) potvrdí, že máte admin práva.
Keď niečo nefunguje#
Hlásenia, ktoré tu nenájdete, hľadajte v prehľade Časté chyby FiveM servera.
Task Failed: Response code 403 (rate limit exceeded)#
Recept sťahuje desiatky repozitárov z GitHubu a GitHub dočasne obmedzil počet požiadaviek. Počkajte zhruba hodinu a nasadenie spustite znova.
Nasadenie skončí chybou databázy#
Údaje sa nezhodujú so záložkou Databázy (host z poľa Server, nie localhost; názov databázy presne podľa zoznamu). Typické hlásenia a ich riešenia nájdete v návode Databáza pre FiveM.
ESX = nil (alebo attempt to index a nil value (global 'ESX'))#
Skript nemá prístup k ESX: buď štartuje skôr než es_extended, alebo používa starý spôsob načítania ESX. Dajte jeho ensure pod es_extended a aktualizujte es_extended aj skript na aktuálnu verziu.
No such export GetCoreObject in resource qbx_core#
Skript pre QBCore volá jadro Qboxu napriamo. Na Qboxe má volať exports['qb-core']: (cez most). Skontrolujte, že je most zapnutý (setr qbx:enableBridge "true"), a skript upravte alebo stiahnite verziu pre Qbox.
Native … is not supported#
Framework alebo skript používa funkciu, ktorú vaša verzia servera ešte nepozná. Aktualizujte artefakty na najnovšiu verziu (návod).
Hráč visí na načítacej obrazovke#
- Najčastejšie chyba v multicharacteri alebo databáze. Pozrite sa do konzoly servera a do klientskej konzoly F8.
- Qbox s vlastným multicharacterom: nastavte
setr loadscreen:.externalShutdown false - QBCore po prvom nasadení: počkajte, kým dobehne zostavenie resources (
yarn).
ESX Multicharacter couldn't connect to the database#
Nefunguje pripojenie k databáze. Skontrolujte set mysql_connection_string v server.cfg a riadok Database server connection established! v konzole.
Admin príkazy nefungujú#
- QBCore a Qbox: chýba riadok
add_principal …so správnym identifikátorom, alebo ste ho pridali a nereštartovali server. - ESX: hráč nemá skupinu
admin. Overte príkazom/groupa nastavte jusetgroup.
Zhrnutie
- Framework vyberajte vopred: ESX Legacy má najviac skriptov, Qbox najmodernejší základ a kompatibilitu so skriptmi pre QBCore, QBCore je klasika s vlastnými
qb-*skriptmi. - Inštalácia: prázdna databáza, txAdmin › Popular Recipes › recept, databázové údaje z poľa Server, Run Recipe, Save & Run Server.
- Po inštalácii nastavte
sets locale "sk-SK"a jazyk frameworku, admina pridajte trvalo cezserver.cfg(QBCore, Qbox) alebosetgroup(ESX). - Skripty sťahujte vo verzii pre svoj framework. Pred aktualizáciou zálohujte súbory aj databázu.