To install FiveM resources, unzip the script into its own folder inside resources/ (the folder must contain fxmanifest.lua), add ensure folder-name to server.cfg below anything it depends on, and restart the server. To load it without a restart, type refresh and then ensure folder-name in the console.
This guide covers what a resource is, where it goes, how to start it, load order, scripts that need a database, and the mistakes behind most “it does not load” messages.
What a FiveM resource is
The FiveM documentation defines a resource as a collection of files, such as client scripts, server scripts and streaming assets, that can be started, stopped and restarted at any time. Scripts, maps, cars, HUDs and whole frameworks are all resources. Each one is a folder, and each folder needs a manifest called fxmanifest.lua; older resources use __resource.lua, which the docs describe as the previous name.
The server loads resources from the resources/ folder in the server data directory. Folders in square brackets, such as [cars], are categories: they only group resources and can be nested. Any other folder is read as a resource.
server-data/
├── server.cfg
└── resources/
├── [standalone]/
│ └── my-hud/
│ ├── fxmanifest.lua
│ ├── client.lua
│ └── server.lua
└── [cars]/
└── my-car-pack/
├── fxmanifest.lua
└── stream/How to install FiveM resources step by step
- Download the resource from a source you trust, such as the author's GitHub releases or their Cfx.re forum post. Read its README: it lists dependencies and any SQL to import.
- Unzip it on your PC and open the folder. You should see
fxmanifest.luaright inside it. If you see another folder first, that inner folder is the real resource. - Make a backup. On TheGameHosting, open your server in the panel, go to Backups and create one.
- Upload the folder to
resources/, or to a category such asresources/[standalone]/. Use SFTP for big packs, or zip it, upload it in Files and unzip it there. - Open
server.cfgin Files and addensure folder-nameon its own line, below the resources it depends on. - If the resource uses a database, import its
.sqlfile first (see below). - Restart the server from Console, or load it live with
refreshandensure folder-name. Watch the console for errors in red. - Join and test the feature. If it does not show up, the console line for that resource tells you why.
set mysql_connection_string "mysql://user:password@host:3306/database"
ensure oxmysql
ensure my-framework
ensure my-hud
ensure [cars]The names in ensure are folder names, not the names on the download page. If the folder is called my-hud-main because it came from GitHub, either rename the folder or use that exact name.
Resource commands you will use
These come from the server commands page of the FiveM docs. You can type them in the server console, and the ones that take a name also accept a category, such as ensure [cars].
| Command | What it does |
|---|---|
refresh | Rescans the resources folder and loads all manifests, so new resources can be started |
ensure name | Restarts the resource if it was running, starts it if it was not |
start name | Starts a stopped resource |
stop name | Stops a running resource |
restart name | Restarts a running resource |
exec file.cfg | Runs the commands in a config file, relative to the server data directory |
refresh
ensure my-hudUse ensure in server.cfg rather than start: the docs describe it as starting the resource or restarting it if it already runs, which is what you want both at boot and while testing.
Load order and dependencies
Resources start in the order they appear in server.cfg. A script that needs a framework or a database library must come after it. A typical order:
- Database library, for example
oxmysql. - Your framework and its core resources. If you have not picked one, see QBCore vs ESX.
- Shared libraries other scripts list as dependencies.
- Jobs, HUDs, shops and other gameplay scripts.
- Maps, cars and clothing packs, often as whole categories.
A resource can also declare what it needs inside its manifest. The FiveM docs describe dependency and dependencies in fxmanifest.lua as requiring the named resources to load first. If a dependency is missing, the console says so when the resource starts.
Scripts that need a database
Most roleplay scripts store data in MySQL or MariaDB through a library such as oxmysql. Its documentation says to set the connection with set mysql_connection_string before any resource that uses it, in either a URL form or a semicolon form, and to start oxmysql at the top of your resource list. It also warns that some special characters in the password can break the string.
- In the panel, open Databases and create a database. Your plan includes two. Copy the host, port, user and password it shows.
- Put them in the
set mysql_connection_stringline ofserver.cfg. - Import each resource's
.sqlfile into that database with a MySQL client before you start the resource.
Why a resource does not load
- “Couldn't find resource”: the name in
ensuredoes not match the folder, or you forgotrefreshafter uploading. - No manifest: the folder you uploaded contains another folder. Move the inner one up a level.
- Dependency errors: a required resource is missing or starts later. Fix the order in
server.cfg. - SQL errors: tables were not imported, or the connection string is wrong.
- Wrong framework: a script made for ESX will not work on another framework without changes.
Avoid leaked or “nulled” paid scripts. Besides the legal problem, they are a known way to hide backdoors that give a stranger admin on your server. If you are still setting up, start with how to make a FiveM server.
A FiveM server ready for your scripts
A FiveM server from TheGameHosting gives you everything this guide uses: the Files editor for server.cfg, SFTP for big resource packs, two MySQL Databases included, Backups before every new script and Console for refresh and ensure. Add staff with Users and track changes in Activity. It runs 24/7 on AMD Ryzen 9950X / 7950X3D CPUs up to 5.7 GHz with DDR5 and NVMe, with DDoS protection included and no ports to open.
FiveM needs at least 8 GB of RAM on our plans, from $6.96 per month. See the plans and pricing and use the code FULL2026 for 15% off for life.
FAQ
Where do I put FiveM scripts?
In the resources/ folder of your server data directory, each in its own folder with fxmanifest.lua inside. Bracket folders like [cars] are optional categories.
What is the difference between ensure and start?
start only starts a stopped resource. ensure starts it if it is stopped and restarts it if it is running, so it is the better choice in server.cfg.
Do I need to restart the server after adding a resource?
Not always. Type refresh and then ensure name in the console. Big changes, such as a new framework, are safer with a full restart.
Why does the console say it couldn't find my resource?
The name after ensure must match the folder name exactly, and you need refresh after uploading a new folder.
Hosting for these games
Written by TheGameHosting Team, the people who run our servers in Dallas and Amsterdam and answer your tickets.
All posts
TheGameHosting Team
