Roleplay server stojí na frameworku: ten řeší postavy, peníze, práce, inventář a auta. Porovnáme tři nejpoužívanější (ESX Legacy, QBCore a Qbox), poradíme s výběrem a provedeme vás instalací přes recept txAdminu včetně nastavení adminů.
Co budete potřebovat
Co je framework#
Framework je sada resources, která dává serveru základní „hru v RP“: vytvoření postavy, peníze v hotovosti a v bance, zaměstnání a hodnosti, inventář, vlastnictví aut, ukládání do databáze. Ostatní skripty (práce, obchody, telefon, garáže) pak stavějí na funkcích frameworku.
Důležité důsledky:
- Skript je napsaný pro konkrétní framework. Skript pro ESX bez úprav na QBCore nepoběží a naopak. U skriptu proto vždy hledejte verzi pro váš framework.
- Framework se špatně mění za běhu. Přechod na jiný znamená novou databázi a výměnu skriptů. Vyberte si proto dobře hned na začátku.
- Framework potřebuje databázi a resource
oxmysql.
Server bez frameworku (freeroam, drift, závody) může běžet na základním receptu txAdminu (FiveM Basic Server).
Základní pojmy#
| Pojem | Co znamená | Kde je uložený |
|---|---|---|
| Postava (character) | Hráč může mít víc postav s vlastním jménem, penězi a prací. Vybírá se v multicharacteru po připojení. | ESX tabulka users, QBCore a Qbox tabulka players |
| Identifikátor | Podle čeho framework pozná hráče. Obvykle licence Rockstar (license). | U postavy v databázi |
| Účty (accounts) | Hotovost, banka, případně špinavé peníze nebo krypto. | U postavy |
| Práce a hodnost (job, grade) | Zaměstnání postavy (policie, záchranka, mechanik) a hodnost s platem. Šéf (boss) spravuje zaměstnance. | ESX tabulky jobs a job_grades, QBCore a Qbox konfigurace |
| Gang | Obdoba práce pro gangy. | QBCore a Qbox |
| Předměty (items) | Věci v inventáři: definice (název, váha) a jejich množství u postavy. | ESX tabulka items, u ox_inventory a QBCore konfigurační soubory |
| Společnost (society) | Firemní účet práce, ze kterého se může platit výplata. | Podle frameworku a bankovního skriptu |
| Vlastněná vozidla | Auta koupená postavou, jejich SPZ a vylepšení. | ESX tabulka owned_vehicles, QBCore a Qbox tabulky vozidel |
Kdo tomu rozumí, snáz najde chybu: když se „ztratí“ peníze nebo auto, je to záznam v databázi, který jde dohledat a opravit (třeba v HeidiSQL).
Srovnání#
| ESX Legacy | QBCore | Qbox | |
|---|---|---|---|
| Původ | Nejstarší z trojice, dlouhodobě vyvíjený. | Samostatný framework, inspirovaný ESX. | Vznikl jako odnož QBCore, kód přepsaný. |
| Jádro (resource) | es_extended | qb-core | qbx_core |
| Knihovny | esx_lib, ox_lib, oxmysql | oxmysql, vlastní qb-* | ox_lib, oxmysql |
| Inventář | vestavěný v ESX, volitelně ox_inventory | qb-inventory | ox_inventory |
| Cílení (interakce) | podle skriptů | qb-target | ox_target |
| Databáze | MariaDB (doporučeno) | MySQL nebo MariaDB | jen MariaDB 10.9.0 a novější |
| Skripty jiného frameworku | ne | ne | většina skriptů pro QBCore funguje přes vestavěný most |
| Admin práva | skupina hráče (/setgroup) | ACE skupiny qbcore.god, qbcore.admin, qbcore.mod | ACE skupiny group.admin, group.mod, group.support |
| Recept v txAdminu | ESX Legacy | QBCore Framework | Qbox Framework |
| Dokumentace | docs.esx-framework.org (otevře se v novém okně) | qbcore.org/docs (otevře se v novém okně) | docs.qbox.re (otevře se v novém okně) |
Jak vybrat#
- Chcete nejvíc hotových skriptů a návodů? ESX Legacy. Je nejrozšířenější a skripty pro něj najdete skoro na všechno.
- Chcete moderní základ a skripty pro QBCore? Qbox. Používá knihovny
ox_lib,ox_inventoryaox_target, má přísnější kód a většinu skriptů pro QBCore spustí přes most bez úprav. - Máte konkrétní placené skripty pro QBCore? QBCore, nebo Qbox (ověřte u autora skriptu, že na Qboxu funguje).
- Stavíte server s vlastními skripty od nuly? Vyberte ten, jehož dokumentace vám nejvíc vyhovuje. Dobrá znalost frameworku je důležitější než jeho volba.
Nejjistější postup: nasaďte framework na zkoušku, projděte ho ve hře a teprve pak kupujte skripty.
Před instalací#
- Vytvořte prázdnou databázi v záložce Databáze (například
fivem, Povolený přístup z%). Údaje Název databáze, Uživatel, Server a Heslo si nechte otevřené. - Připravte license key (začíná
cfxk_). - Udělejte zálohu, pokud na serveru už něco máte (záložka Zálohy, návod) a databázi vyexportujte (návod). Nové nasazení se ukládá do nové složky, ale databázi by recept se zapnutou volbou Delete Database smazal.
- Zkontrolujte artefakty. Frameworky vyžadují aktuální verzi serveru. Starý server aktualizujte podle návodu Aktualizace artefaktů.
Qbox a verze databáze
Qbox oficiálně podporuje jen MariaDB od verze 10.9.0. Verzi databázového serveru zjistíte po prvním startu v konzoli z řádku […] Database server connection established! (v hranatých závorkách). Pokud by verze byla nižší nebo šlo o MySQL, napište nám.
Instalace přes recept txAdminu#
Postup je u všech tří frameworků stejný, liší se jen recept a pár nastavení po instalaci. Pokud jste v txAdminu už jiný server nasadili, nový průvodce spustíte v Settings › FXServer tlačítkem Reset vedle pole Server Data Folder. txAdmin se vrátí na stránku Setup a stávající soubory nesmaže.
- V txAdminu na stránce Setup zadejte Server Name a klikněte na Next.
- U Deployment Type zvolte Popular Recipes.
- Vyberte recept podle záložky níže.
- Ponechte navrženou složku pro data, klikněte na Save a pak na Go to Recipe Deployer.
- V kroku Step 1: Review Recipe klikněte na Next.
- V kroku Step 2: Input Parameters vyplňte Server Registration Key a po kliknutí na Show/Hide Database options (advanced) i databázi: Database Host (IP z pole Server), Database Port (port z pole Server), Database Username, Database Password, Database Name. Přepínač Delete Database je ve výchozím stavu zapnutý, zkontrolujte, že je na Off. Každé pole podrobně vysvětluje návod k txAdminu.
- Klikněte na Run Recipe a počkejte na dokončení. U velkých receptů to trvá několik minut.
- V kroku Step 4: Configure server.cfg zkontrolujte, že
endpoint_add_tcpaendpoint_add_udpmají port z řádku Adresa pro připojení v záložce Síť (recept může zapsat výchozí30120). Pak upravte nastavení podle záložky níže a klikněte na Save & Run Server.
ESX
Recept: v seznamu Popular Recipes zvolte ESX Legacy.
Co recept nainstaluje: jádro es_extended a další resources ve složce [core] (postavy, menu, identita, multicharacter), doplňky ve složce [esx_addons] (práce, banka, obchody, garáže …), oxmysql, ox_lib, hlasový chat pma-voice a mapy interiérů bob74_ipl.
Nastavení v server.cfg po nasazení:
| Řádek | Co dělá | Co nastavit |
|---|---|---|
sv_hostname a sets sv_projectName | Název serveru (v konzoli a v seznamu serverů). | Váš název. |
sets locale "root-AQ" | Jazyk serveru v seznamu. | sets locale "cs-CZ" |
#setr esx:locale "en" | Jazyk ESX. Když je zakomentovaný, ESX použije jazyk nastavený v txAdminu. | Odkomentujte a nastavte setr esx:locale "cs", nebo nechte jazyk podle txAdminu. |
#setr esx:identifier "license" | Podle jakého identifikátoru ESX pozná hráče. | Neměňte. Změna na hotovém serveru „ztratí“ všechny postavy. |
sv_enforceGameBuild | Game build (DLC). | Ponechte z receptu, pokud skripty nevyžadují vyšší. |
add_ace resource.es_extended command.add_principal allow a podobné | Dovolí ESX přidělovat skupiny. | Nemažte. |
Bezpečnostní nastavení z receptu
Recept ESX zapíná i ochranné volby sv_enableNetworkedSounds false, sv_, sv_ a sv_filterRequestControl 2. Brání častým trikům cheaterů, ponechte je. Vysvětlení najdete v návodu server.cfg.
QBCore
Recept: v seznamu Popular Recipes zvolte QBCore Framework.
Co recept nainstaluje: jádro qb-core, desítky skriptů qb-* ve složce [qb] (multicharacter, inventář, policie, záchranka, garáže, telefon, HUD, admin menu …), oxmysql, hlasový chat pma-voice a mapy.
Nastavení v server.cfg po nasazení:
| Řádek | Co dělá | Co nastavit |
|---|---|---|
sets locale "root-AQ" | Jazyk serveru v seznamu. | sets locale "cs-CZ" |
setr qb_locale "en" | Jazyk QBCore. | setr qb_locale "cs" (jádro češtinu má, některé skripty ne). |
setr UseTarget false | Jestli skripty používají interakce přes qb-target (oko), nebo klávesové nápovědy. | false pro začátek, true když chcete interakce přes cíl. |
sv_enforceGameBuild 3095 | Game build (DLC). | Ponechte z receptu. |
add_principal qbcore.god group.admin a další | Hierarchie admin skupin QBCore. | Nemažte. |
QBCore při prvním startu sestavuje některé resources (výpis yarn v konzoli). Nechte ho doběhnout, i když to trvá několik minut, a server mezitím nerestartujte.
Qbox
Recept: v seznamu Popular Recipes zvolte Qbox Framework.
Co recept nainstaluje: jádro qbx_core, skripty qbx_* (správa, policie, záchranka, garáže, nemovitosti, HUD, admin menu …), knihovny ox_lib, ox_target, ox_inventory, ox_doorlock, oxmysql a telefon npwd. Nastavení je rozdělené do souborů server.cfg, permissions.cfg, ox.cfg, voice.cfg a misc.cfg.
Nastavení po nasazení:
| Soubor a řádek | Co dělá | Co nastavit |
|---|---|---|
server.cfg: sets locale "root-AQ" | Jazyk serveru v seznamu. | sets locale "cs-CZ" |
ox.cfg: setr ox:locale "en" | Jazyk ox_lib a skriptů, které ho používají (včetně qbx_core). | setr ox:locale "cs" |
server.cfg: setr qb_locale "en" | Jazyk pro skripty QBCore běžící přes most. | setr qb_locale "cs" |
server.cfg: setr qbx:enableBridge "true" | Most pro skripty psané pro QBCore. | Nechte true, pokud používáte skripty pro QBCore. |
server.cfg: set qbx:discordLink "discord.gg/qbox" | Odkaz na Discord, který server ukazuje hráčům. | Odkaz na váš Discord. |
server.cfg: set qbx:max_jobs_per_player 1 | Kolik zaměstnání může mít postava. | Víc, pokud chcete multijob. |
ox.cfg: setr inventory:slots 50, setr inventory:weight 85000 | Počet slotů a nosnost inventáře (v gramech). | Podle pravidel serveru. |
server.cfg: setr loadscreen: | Načítací obrazovku zavírá multicharacter. | Změňte na false jen s vlastním multicharacterem, který obrazovku nezavírá. |
První kroky po instalaci: admin práva#
Admin v txAdminu a admin ve frameworku jsou dvě různé věci. txAdmin při nasazení přidá do server.cfg hlavního admina do skupiny group.admin (řádek add_principal identifier.). Frameworky na to navazují takto:
ESX
ESX má skupinu přímo u postavy v databázi (user, admin …). Hlavní admin z txAdminu je díky skupině group.admin rozpoznaný automaticky. Dalšímu hráči dáte admina ve hře nebo v konzoli serveru:
setgroup <ID_HRACE> adminsetgroup– příkaz ESX pro změnu skupiny (ve hře s lomítkem:/setgroup).<ID_HRACE>– serverové ID hráče (číslo, které vidíte v txAdminu v seznamu hráčů, nebo ve hře).admin– skupina. Zpět na běžného hráče nastavíte skupinuuser.
Skupina se uloží do databáze a platí i po restartu. Svou skupinu si hráč zjistí příkazem /group.
QBCore
QBCore používá skupiny ACE qbcore.god (vše), qbcore.admin a qbcore.mod. Trvale admina přidáte řádkem v server.cfg (u txAdminu v CFG Editoru):
add_principal identifier.license:<LICENSE_HRACE> qbcore.godidentifier.– licence hráče. Najdete ji v txAdminu: Players, klikněte na hráče, záložka IDs.license: <LICENSE_ HRACE> qbcore.god– nejvyšší skupina. Pro menší práva použijteqbcore.adminneboqbcore.mod.
Ve hře jde právo přidat i příkazem /addpermission <ID_HRACE> god nebo v admin menu (/admin › Player Management › hráč › Permissions). Takto přidané právo ale platí jen do odpojení hráče nebo restartu serveru, trvale jen přes server.cfg.
Qbox
Qbox používá skupiny ACE group.admin, group.mod a group.support (definované v permissions.cfg). Trvale admina přidáte řádkem v permissions.cfg nebo server.cfg:
add_principal identifier.license:<LICENSE_HRACE> group.adminidentifier.– licence hráče z txAdminu (Players › hráč › záložka IDs). Jde použít ilicense: <LICENSE_ HRACE> identifier..fivem: <FIVEM_ ID> group.admin– plná práva.group.moddostane menu a moderátorské akce,group.supportjen podporu.
Admin menu otevřete ve hře příkazem /admin. Příkaz /addpermission existuje, ale je zastaralý a platí jen do odpojení hráče.
Po úpravě server.cfg nebo permissions.cfg restartujte server.
U Qboxu vyžadují admin příkazy jádra (například /addpermission, /setjob, /car) nejdřív zadat /optin. Vypíná se to volbou requireOptIn = false v qbx_.
Co nastavit jako první#
Každý framework má hlavní konfigurační soubor s ekonomikou, spawnem a postavami. Upravujte ho u vypnutého serveru, nebo v txAdminu po úpravě restartujte server. Soubory najdete ve složce nasazení v resources.
ESX
Soubor resources/:
| Nastavení | Co dělá | Výchozí hodnota | Kdy změnit |
|---|---|---|---|
Config. | Peníze, se kterými začíná nová postava, podle účtu (bank, money = hotovost, black_money). | { bank = 50000 } | Podle ekonomiky serveru. Platí jen pro nové postavy. |
Config. | Předměty pro novou postavu (tabulka), nebo false. | false | Startovní balíček (telefon, voda, jídlo). |
Config.DefaultSpawns | Souřadnice, kde se objeví nová postava. Víc řádků = náhodný výběr. | jedna pozice ve městě | Vlastní spawn (letiště, nádraží). |
Config. | Které skupiny smějí který admin příkaz ESX (setjob, car, setgroup …). | owner a admin | Moderátorům dejte jen část příkazů. |
Soubor resources/:
| Nastavení | Co dělá | Výchozí hodnota |
|---|---|---|
Config.Slots | Kolik postav si může založit každý hráč. Jednotlivým hráčům přidáte sloty příkazem /setslots. | 3 |
Config.CanDelete | Jestli hráč může svou postavu smazat. | true |
QBCore
Soubor resources/:
| Nastavení | Co dělá | Výchozí hodnota | Kdy změnit |
|---|---|---|---|
QBCore. | Druhy peněz a startovní částky (cash, bank, crypto). | { cash = 500, bank = 5000, crypto = 0 } | Podle ekonomiky. Přidaný druh peněz už z databáze nezmizí, ani když ho smažete z konfigurace. |
QBCore. | Jak často (v minutách) dostávají hráči výplatu. | 10 | Delší interval = pomalejší ekonomika. |
QBCore. | Místo prvního spawnu (vector4(x, y, z, natočení)). | u letiště | Vlastní spawn. |
QBCore., ThirstRate | Jak rychle ubývá jídlo a pití. | 4.2, 3.8 | Nižší číslo = pomalejší. |
QBCore. | Uzavře server pro všechny bez oprávnění. | false | Údržba. |
QBCore.Config.Server.PVP | Jestli hráči mohou střílet po sobě. | true | Servery bez PvP. |
QBCore. | Seznam admin skupin (každá musí mít add_ace/add_principal v server.cfg). | { 'god', 'admin', 'mod' } | Vlastní skupiny (například leo). |
Qbox
Soubor resources/:
| Nastavení | Co dělá | Výchozí hodnota | Kdy změnit |
|---|---|---|---|
money.moneyTypes | Druhy peněz a startovní částky. | { cash = 500, bank = 5000, crypto = 0 } | Podle ekonomiky. Přidaný druh peněz z databáze nezmizí. |
money.paycheckTimeout | Interval výplat v minutách. | 10 | Podle ekonomiky. |
characters. | Kolik postav má každý hráč. | 3 | Víc postav pro všechny. |
characters. | Výjimky pro konkrétní hráče podle licence. | ukázkový řádek | Víc postav pro vybrané hráče (VIP). |
requireOptIn | Admin příkazy jádra vyžadují /optin. | true | false, pokud to adminy obtěžuje. |
Soubor resources/: characters. (vlastní multicharacter), characters. (mazání postav hráčem), characters. (výběr bytu po vytvoření postavy).
Peníze a předměty se ukládají do databáze. Změna startovních hodnot se týká jen nově vytvořených postav, stávajícím nic nezmění.
Kompatibilní skripty#
- Stahujte verzi pro svůj framework. Mnoho autorů nabízí jeden skript pro více frameworků a volbu v
config.lua(napříkladConfig.Framework = 'esx','qb'nebo'qbx'). - Knihovny ox (
ox_lib,ox_inventory,ox_target) fungují s ESX i Qboxem. Před instalací druhého inventáře si ujasněte, který používáte. Dva inventáře najednou nefungují. - Skripty pro QBCore na Qboxu běží přes most, pokud používají
qb-coredokumentovaným způsobem. Nefungují skripty, které sahají přímo do databázových tabulek QBCore. - Konflikty: dva skripty se stejnou funkcí (dva HUDy, dvě garáže, dva telefony) si obvykle překážejí. Původní vypněte (zakomentujte jeho
ensurenebo ho přesuňte z kategorie).
Instalaci jednotlivých skriptů popisuje návod FiveM resources.
Ruční instalace (pro pokročilé)#
Recept dělá automaticky to, co byste jinak dělali ručně:
- Stáhne jádro frameworku a jeho závislosti (
oxmysql,ox_lib…) v konkrétních verzích. - Naimportuje SQL soubor frameworku do databáze.
- Připraví
server.cfgse správným pořadímensure, právy ACE a connection stringem.
Ruční instalaci volte jen tehdy, když chcete mít každou verzi pod kontrolou. Postupujte podle oficiální dokumentace frameworku a dodržte pořadí: oxmysql › knihovny › jádro › skripty. Na serveru u nás je recept výrazně rychlejší, ruční nahrávání stovek souborů přes záložku Soubory je zdlouhavé (velké soubory přes SFTP zřídí podpora).
Aktualizace frameworku#
- Zálohujte soubory (záložka Zálohy) a vyexportujte databázi (HeidiSQL, návod).
- Přečtěte si poznámky k vydání (changelog) na GitHubu frameworku. Hledejte hlavně změny databáze (soubory
.sqls migracemi) a změny konfigurace. - Vypněte server.
- Nahraďte složky aktualizovaných resources novými. Svoje
config.luasi předem stáhněte a po aktualizaci porovnejte s novými (nové volby mohou chybět). - Spusťte migrační SQL, pokud ho vydání obsahuje.
- Spusťte server a sledujte konzoli. Pak zkontrolujte ve hře postavu, peníze a inventář.
Neaktualizujte jen jádro bez ostatních částí frameworku. Verze es_extended a skriptů [esx_addons] (nebo qb-core a qb-*) mají jít spolu.
Ověření#
- V konzoli (nebo Live Console v txAdminu) je
Database server connection established!a bez červených chyb se načte jádro frameworku. - Po připojení ve hře se objeví vytvoření nebo výběr postavy.
- Příkaz
/group(ESX) nebo otevření admin menu/admin(QBCore, Qbox) potvrdí, že máte admin práva.
Když něco nefunguje#
Hlášky, které tu nenajdete, hledejte v přehledu Časté chyby FiveM serveru.
Task Failed: Response code 403 (rate limit exceeded)#
Recept stahuje desítky repozitářů z GitHubu a GitHub dočasně omezil počet požadavků. Počkejte zhruba hodinu a nasazení spusťte znovu.
Nasazení skončí chybou databáze#
Údaje se neshodují se záložkou Databáze (host z pole Server, ne localhost; název databáze přesně podle seznamu). Typické hlášky a jejich řešení najdete v návodu Databáze pro FiveM.
ESX = nil (nebo attempt to index a nil value (global 'ESX'))#
Skript nemá přístup k ESX: buď startuje dřív než es_extended, nebo používá starý způsob načtení ESX. Dejte jeho ensure pod es_extended a aktualizujte es_extended i skript na aktuální verzi.
No such export GetCoreObject in resource qbx_core#
Skript pro QBCore volá jádro Qboxu napřímo. Na Qboxu má volat exports['qb-core']: (přes most). Zkontrolujte, že je most zapnutý (setr qbx:enableBridge "true"), a skript upravte nebo stáhněte verzi pro Qbox.
Native … is not supported#
Framework nebo skript používá funkci, kterou vaše verze serveru ještě nezná. Aktualizujte artefakty na nejnovější verzi (návod).
Hráč visí na načítací obrazovce#
- Nejčastěji chyba v multicharacteru nebo databázi. Podívejte se do konzole serveru a do klientské konzole F8.
- Qbox s vlastním multicharacterem: nastavte
setr loadscreen:.externalShutdown false - QBCore po prvním nasazení: počkejte, než doběhne sestavení resources (
yarn).
ESX Multicharacter couldn't connect to the database#
Nefunguje připojení k databázi. Zkontrolujte set mysql_connection_string v server.cfg a řádek Database server connection established! v konzoli.
Admin příkazy nefungují#
- QBCore a Qbox: chybí řádek
add_principal …se správným identifikátorem, nebo jste ho přidali a nerestartovali server. - ESX: hráč nemá skupinu
admin. Ověřte příkazem/groupa nastavte jisetgroup.
Shrnutí
- Framework vybírejte dopředu: ESX Legacy má nejvíc skriptů, Qbox nejmodernější základ a kompatibilitu se skripty pro QBCore, QBCore je klasika s vlastními
qb-*skripty. - Instalace: prázdná databáze, txAdmin › Popular Recipes › recept, databázové údaje z pole Server, Run Recipe, Save & Run Server.
- Po instalaci nastavte
sets locale "cs-CZ"a jazyk frameworku, admina přidejte trvale přesserver.cfg(QBCore, Qbox) nebosetgroup(ESX). - Skripty stahujte ve verzi pro svůj framework. Před aktualizací zálohujte soubory i databázi.