Všetko, čo na FiveM serveri „niečo robí“ (framework, práce, autá, mapy, HUD), je resource. Ukážeme, ako skript správne nahrať, zapnúť v správnom poradí a čo robiť, keď sa nespustí.
Čo budete potrebovať
- FiveM server u StormHostu (alebo vlastný FiveM server)
- Skript (resource) stiahnutý z dôveryhodného zdroja
- Program na rozbalenie archívov v počítači (Windows ho má vstavaný, alebo 7-Zip)
- Približne 20 minút
Čo je resource#
Resource je priečinok so skriptmi a súbormi, ktorý server vie spustiť, zastaviť a reštartovať. Aby ho server rozpoznal, musí v ňom byť súbor fxmanifest.lua (pri veľmi starých skriptoch __resource.lua).
- Názov priečinka je názov resource. Priečinok
ox_lib= resourceox_lib. Tento názov píšete doensure. - Vnútri bývajú skripty pre server (
server/), pre hráča (client/), zdieľané (shared/), konfigurácia (config.lua), webové rozhranie (html/,web/) a modely (stream/). - Standalone skript funguje sám. Ostatné potrebujú framework (ESX, QBCore, Qbox) alebo knižnicu (
ox_lib,oxmysql). Čo skript potrebuje, píše autor v návode (README).
Priečinok resources a kategórie#
Server hľadá resources v priečinku resources vedľa server.cfg. Priečinky v hranatých zátvorkách sú kategórie: nie sú to resources, iba poriadok.
server.cfg
resources/
├── [standalone]/
│ ├── oxmysql/
│ │ └── fxmanifest.lua
│ └── ox_lib/
│ └── fxmanifest.lua
├── [esx]/
│ └── es_extended/
│ └── fxmanifest.lua
└── muj_skript/
└── fxmanifest.luaTu existujú resources oxmysql, ox_lib, es_extended a muj_skript. Celú kategóriu spustíte jedným riadkom ensure [standalone]. Kategórie sa dajú aj vnárať.
Pri serveri s txAdminom je priečinok resources v priečinku nasadenia (txAdmin ho navrhuje ako txData/).
Kde skripty brať#
- Oficiálne zdroje: sekcia Releases na fóre Cfx.re (otvorí sa v novom okne), Cfx Marketplace, GitHub autora (sekcia Releases).
- Platené skripty kupujte iba cez Cfx Marketplace alebo Tebex. Inde hrozí podvod.
- Nepoužívajte „leaky“ (kradnuté platené skripty). Často obsahujú škodlivý kód, ktorý „nakazí“ ďalšie resources alebo pošle cudzím ľuďom prístup k serveru. FiveM taký kód hlási ako prohibited logic.
Inštalácia skriptu krok za krokom#
Príprava v počítači#
Stiahnite skript. Ak má na GitHube sekciu Releases, stiahnite archív odtiaľ, nie cez Code › Download ZIP. Release obsahuje zostavené webové rozhranie, zdrojový kód často nie.
Archív rozbaľte.
Nájdite priečinok, v ktorom je priamo
fxmanifest.lua. To je resource.Priečinok premenujte na názov, ktorý uvádza autor. Typicky odstráňte príponu z GitHubu:
ox_lib-mainpremenujte naox_lib.Prečo: iné skripty sa na resource odkazujú menom.
ox_lib-mainby pre ne neexistoval.Prečítajte si README: aké má skript závislosti (dependencies), či má súbor
.sqla čo nastaviť vconfig.lua.
Pozor na zdvojený priečinok
Po rozbalení často vznikne muj_. Na server patrí až vnútorný priečinok. Inak server hlási, že resource nemá manifest, alebo ho nenájde.
Nahranie na server#
- V zákazníckom účte otvorte Moje služby, kliknite na server a prejdite na záložku Súbory.
- Otvorte priečinok
resources(prípadne kategóriu, napríklad[standalone]). - Kliknite na Nový priečinok a vytvorte priečinok s názvom resource, napríklad
muj_skript. - Otvorte ho a tlačidlom Nahrať nahrajte súbory. Podpriečinky (
client,server,html…) vytvorte znova tlačidlom Nový priečinok a nahrajte do nich ich súbory.
Záložka Súbory nahráva jednotlivé súbory do 100 MB a archívy nerozbaľuje. Veľké resources (autá, oblečenie, mapy, celý framework) nahrajte cez SFTP. Prístup vám zriadi podpora (kontakty), postup je v návode Správa súborov.
Databáza a konfigurácia#
Ak skript obsahuje súbor
.sql, naimportujte ho do databázy servera. Postup s programom HeidiSQL je v návode Databáza pre FiveM.Otvorte
config.lua(aleboconfig/*.lua) v editore záložky Súbory a prejdite nastavenia. Typické voľby:Voľba (príklad) Čo zvyčajne robí Config.Framework = 'esx'Pre aký framework sa skript nastaví ( esx,qb,qbx). Musí zodpovedať vášmu serveru.Config.Locale = 'sk'Jazyk textov, ak skript slovenčinu má (často iba enalebocs).Config.Debug = falseLadiace výpisy. Na ostrom serveri nechajte false.Názvy volieb sa líšia skript od skriptu. Čo presne robia, píše autor v komentároch súboru.
Zapnutie skriptu#
Do
server.cfg(pri txAdmine v CFG Editore) pridajte riadok:server.cfgcfg ensure muj_skriptensure– spustí resource (a keď už beží, reštartuje ho).muj_skript– názov priečinka resource.
Riadok dajte pod všetky závislosti skriptu (framework,
oxmysql,ox_lib). Ak je skript v kategórii, ktorú už spúšťate (ensure [standalone]), riadok pridávať nemusíte.Reštartujte server. Alebo skript spustite bez reštartu, príkazmi v konzole (zákaznícky účet, alebo Live Console v txAdmine):
text refresh ensure muj_skriptrefresh– server znova prejde priečinokresourcesa nájde nové resources. Bez neho nový skript nepozná.ensure muj_skript– spustí ho.
Skripty, ktoré menia dáta hráčov alebo pridávajú veci do inventára, radšej spúšťajte reštartom celého servera, nie za behu.
fxmanifest.lua: čo v ňom je#
fx_version 'cerulean'
game 'gta5'
author 'Jan'
description 'Ukážkový skript'
version '1.0.0'
shared_script 'config.lua'
client_scripts {
'client/*.lua'
}
server_scripts {
'@oxmysql/lib/MySQL.lua',
'server/*.lua'
}
ui_page 'html/index.html'
files {
'html/index.html',
'html/app.js'
}
dependencies {
'oxmysql',
'ox_lib'
}| Položka | Čo robí |
|---|---|
fx_version 'cerulean' | Verzia formátu manifestu. cerulean je aktuálna. Bez fx_version server vypíše varovanie. |
game 'gta5' | Pre akú hru resource je (gta5 = FiveM, rdr3 = RedM). |
author, description, version | Informácie o skripte, na funkciu nemajú vplyv. |
shared_script | Súbor, ktorý sa načíta na serveri aj u hráča (typicky config.lua). |
client_scripts | Skripty, ktoré bežia u hráča. Hráč si ich stiahne. *.lua = všetky súbory .lua v priečinku. |
server_scripts | Skripty, ktoré bežia iba na serveri. Hráč ich nikdy nevidí. @oxmysql/lib/MySQL.lua načíta knižnicu z iného resource. |
ui_page, files | Webové rozhranie skriptu (NUI) a súbory, ktoré si hráč stiahne. |
dependencies | Resources, ktoré musia bežať skôr. Server ich skúsi spustiť sám, a keď chýbajú, skript nespustí. |
Staršia položka lua54 'yes' už nie je potrebná: od júna 2025 bežia všetky skripty v Lua 5.4.
Závislosti a poradie načítania#
- Resources sa spúšťajú v poradí riadkov
ensurevserver.cfg. - Obvyklé poradie: štandardné resources FiveM ›
oxmysql›ox_lib› jadro frameworku › skripty frameworku › vaše skripty. - Riadok
dependenciesv manifeste môže vyžadovať aj podmienky servera, napríklad'/onesync'(zapnutý OneSync),'/server:4500'(minimálny build servera) alebo'/gameBuild:h4'(minimálny game build). Keď podmienka neplatí, skript sa nespustí.
Platené skripty a Asset Escrow#
Platené skripty z Cfx Marketplace alebo Tebexu bývajú chránené systémom Asset Escrow: kód je zašifrovaný a beží iba na serveroch kupujúceho.
- Skript pobeží iba na serveri, ktorého license key patrí rovnakému účtu Cfx.re, na ktorom ste skript kúpili. Stiahnete ho z Cfx.re Portalu (otvorí sa v novom okne) alebo z odkazu v e-maile od Tebexu.
- Zašifrované súbory upraviť nejde. Autor zvyčajne necháva otvorené konfiguračné súbory (
config.lua), tie upravovať môžete. - V resource je súbor
.fxap. Musí sa na server nahrať spolu s ostatnými, inak skript nepôjde overiť.
Autá, oblečenie a mapy (streamované súbory)#
Modely a textúry sa hráčom „streamujú“: pri pripojení si ich stiahnu zo servera. Taký resource má zvyčajne priečinok stream a v manifeste odkazy na herné dátové súbory.
fx_version 'cerulean'
game 'gta5'
files {
'data/vehicles.meta',
'data/carvariations.meta',
'data/handling.meta'
}
data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/carvariations.meta'
data_file 'HANDLING_FILE' 'data/handling.meta'| Položka | Čo robí |
|---|---|
priečinok stream/ | Modely a textúry (.yft, .ytd, .ydr …). Všetko v ňom sa hráčom automaticky stiahne, v manifeste sa nevypisuje. |
files { … } | Dátové súbory, ktoré si hráč stiahne. |
data_file 'VEHICLE_METADATA_FILE' | Definícia vozidla (vehicles.meta): názov modelu na spawn, zvuk, trieda. |
data_file 'VEHICLE_VARIATION_FILE' | Farby a varianty vozidla (carvariations.meta). |
data_file 'HANDLING_FILE' | Jazdné vlastnosti (handling.meta). |
this_is_a_map 'yes' | Resource je mapa alebo interiér (MLO). Hra po jeho spustení znova načíta mapové dáta. |
Praktické rady:
- Každé auto alebo mapa zväčšuje sťahovanie pri prvom pripojení. Desiatky áut s vysokým rozlíšením textúr znamenajú dlhé načítanie.
- Interiéry (MLO) často vyžadujú určitý game build (
sv_enforceGameBuild) alebo iný resource so základnými dátami. Čítajte README. - Veľké balíčky áut a máp nahrávajte cez SFTP, súbory bývajú väčšie než 100 MB.
Kontrola skriptu pred inštaláciou#
Skript beží na serveri s plným prístupom k jeho dátam, databáze a hráčom. Než ho spustíte, prejdite aspoň:
- Zdroj: oficiálny GitHub autora, fórum Cfx.re, Cfx Marketplace alebo Tebex. Nie náhodné odkazy z Discordu.
- Nečitateľný kód v inak otvorenom skripte (dlhé reťazce nezmyselných znakov,
load(so stiahnutým textom). Platené skripty sú šifrované cez Asset Escrow, ale zadarmo dostupný skript by taký kód mať nemal. - Odosielanie dát inam: volania
PerformHttpRequestna adresy, ktoré so skriptom nesúvisia. - Nové admin príkazy, o ktorých README nehovorí.
Keď FiveM pri resource ohlási prohibited logic, resource pravdepodobne obsahuje škodlivý kód, ktorý mohol nakaziť aj iné resources. Odstráňte ho a skontrolujte ostatné skripty.
Výkon resources#
- Server hlási v konzole
server thread hitch warning: timer interval of … milliseconds, keď jedno kolo servera trvalo dlhšie než 150 ms. Občasné hlásenie pri štarte neprekáža. Časté hlásenia za behu znamenajú, že niektorý skript zaťažuje server. - Vinníka nájdete vstavaným profilerom: v konzole servera zadajte
profiler record 500(nahrá 500 snímok), počkajte, potomprofiler saveJSON profil.json. Súbor sa uloží do priečinka, z ktorého sa server spúšťa. Stiahnite si ho v záložke Súbory a otvorte v prehliadači Chrome v nástrojoch pre vývojárov (záložka Performance › načítať profil). - Na strane hráča ukazuje záťaž jednotlivých resources príkaz
resmonv konzole F8. Funguje iba vo vývojárskom režime klienta (inak hlásiAccess denied for command resmon).
Príkazy na prácu s resources#
| Príkaz | Čo robí |
|---|---|
refresh | Znova načíta zoznam resources z priečinka. Nutné po nahraní nového skriptu. |
ensure <NAZEV> | Spustí resource, alebo ho reštartuje, ak beží. |
start <NAZEV> | Spustí resource, ktorý nebeží. |
stop <NAZEV> | Zastaví resource. |
restart <NAZEV> | Reštartuje bežiaci resource. Zastavený nespustí (Can't restart a stopped resource.). |
Príkazy píšete do konzoly servera bez lomky. V txAdmine nájdete to isté graficky na stránke Resources.
Overenie#
- Po reštarte alebo
ensureje v konzole riadokStarted resource muj_skript. - V txAdmine na stránke Resources je resource v stave spustený.
- V hre skript funguje a v klientskej konzole (F8) nie sú červené chyby.
Keď niečo nefunguje#
Hlásenia, ktoré tu nenájdete, hľadajte v prehľade Časté chyby FiveM servera.
Couldn't find resource muj_skript.#
Server resource s týmto názvom nepozná.
- Názov v
ensurenesedí s názvom priečinka (veľké a malé písmená sa rozlišujú, pozor na-main). fxmanifest.luanie je priamo v priečinku (zdvojený priečinok po rozbalení).- Skript ste nahrali za behu a nezadali
refresh. - Priečinok je mimo
resources, alebo v inomresources, než ktorý server používa (pri txAdmine je to priečinok nasadenia).
Could not find dependency ox_lib for resource muj_skript.#
Chýba závislosť. Nainštalujte resource uvedený v hlásení (tu ox_lib) a dajte jeho ensure nad skript. Hlásenie Could not start dependency … znamená, že závislosť existuje, ale sama sa nespustila. Hľadajte v konzole jej chybu.
Couldn't start resource muj_skript.#
Resource existuje, ale nespustil sa. Nad týmto hlásením v konzole býva skutočný dôvod: chýbajúca závislosť, chyba v manifeste, nesplnená podmienka (OneSync, game build) alebo chyba licencie.
Varovanie, že resource nemá manifest#
V priečinku chýba fxmanifest.lua (alebo má iný názov, napríklad fxmanifest.lua.txt z Windows). Skontrolujte názov súboru a zdvojený priečinok.
SCRIPT ERROR: @muj_skript/server/main.lua:25: … #
Chyba priamo v kóde skriptu. Za dvojbodkou je súbor, číslo riadka a opis. Najčastejšie príčiny: nesprávne nastavenie frameworku v config.lua, chýbajúca tabuľka v databáze (neimportovali ste .sql), nekompatibilná verzia frameworku. Chyby u hráča uvidíte v konzole F8.
You lack the required entitlement to use muj_skript#
Platený skript je kúpený na inom účte Cfx.re, než ku ktorému patrí license key servera. Použite license key z rovnakého účtu, alebo skript preveďte na Portali na správny účet. Skúste tiež server reštartovať.
Failed to verify protected resource muj_skript#
Súbory zašifrovaného skriptu sa poškodili alebo niektorý chýba, typicky .fxap. Nahrajte resource znova celý, vrátane súboru .fxap. Niektoré SFTP programy skryté súbory (začínajúce bodkou) neprenášajú, zapnite v nich zobrazenie skrytých súborov.
Error parsing script alebo Failed to load script#
Skript používa funkcie novšej verzie servera. Aktualizujte artefakty (návod).
Rozhranie skriptu (menu, telefón, HUD) sa nezobrazí#
Chýba zostavené webové rozhranie. Stiahnite skript zo sekcie Releases namiesto zdrojového kódu, alebo podľa README rozhranie zostavte (npm install a npm run build v počítači) a nahrajte výsledný priečinok.
Zhrnutie
- Resource je priečinok s
fxmanifest.lua, názov priečinka je názov resource. Priečinky[v zátvorkách]sú iba kategórie. - Stiahnite release, rozbaľte, odstráňte
-main, nahrajte doresources, naimportujte SQL a nastavteconfig.lua. - Do
server.cfgpridajteensure nazevpod všetky závislosti. Bez reštartu:refreshaensure nazevv konzole. - Platené skripty (Asset Escrow) bežia iba s license key z rovnakého účtu Cfx.re a potrebujú súbor
.fxap.