FiveM

How to Install Scripts and Resources on a FiveM Server

Put each script in the right folder, start it with ensure in the right order, and connect the ones that need a database.

TheGameHosting Team 5 min read
Install Scripts on FiveM
Background: FiveM © Rockstar Games

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 files
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

  1. 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.
  2. Unzip it on your PC and open the folder. You should see fxmanifest.lua right inside it. If you see another folder first, that inner folder is the real resource.
  3. Make a backup. On TheGameHosting, open your server in the panel, go to Backups and create one.
  4. Upload the folder to resources/, or to a category such as resources/[standalone]/. Use SFTP for big packs, or zip it, upload it in Files and unzip it there.
  5. Open server.cfg in Files and add ensure folder-name on its own line, below the resources it depends on.
  6. If the resource uses a database, import its .sql file first (see below).
  7. Restart the server from Console, or load it live with refresh and ensure folder-name. Watch the console for errors in red.
  8. Join and test the feature. If it does not show up, the console line for that resource tells you why.
server.cfg
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].

CommandWhat it does
refreshRescans the resources folder and loads all manifests, so new resources can be started
ensure nameRestarts the resource if it was running, starts it if it was not
start nameStarts a stopped resource
stop nameStops a running resource
restart nameRestarts a running resource
exec file.cfgRuns the commands in a config file, relative to the server data directory
Server console
refresh
ensure my-hud

Use 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:

  1. Database library, for example oxmysql.
  2. Your framework and its core resources. If you have not picked one, see QBCore vs ESX.
  3. Shared libraries other scripts list as dependencies.
  4. Jobs, HUDs, shops and other gameplay scripts.
  5. 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.

  1. In the panel, open Databases and create a database. Your plan includes two. Copy the host, port, user and password it shows.
  2. Put them in the set mysql_connection_string line of server.cfg.
  3. Import each resource's .sql file 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 ensure does not match the folder, or you forgot refresh after 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