Skip to content
RPScripts

How to Install a FiveM Script (Resource) Step by Step

To install a FiveM script, copy its resource folder (the one holding fxmanifest.lua) into your server's resources directory, start its dependencies first, configure it, add an ensure line after them in server.cfg, and read the console. Back up first.

Reviewed against the linked Cfx.re and framework documentation on 2026-10-13. This is a documentation review, not a hands-on test: RPScripts has not run these steps in an isolated test environment. The steps assume GTA V Legacy; Enhanced is only flagged in step 1. Anything written in monospace such as resource_name is a placeholder for your own value.

Step 1: Check the edition, framework and dependencies

Read the product page or readme and write down: the framework (ESX, QBCore, Qbox or standalone), the required libraries, the inventory and target resources, and the GTA V edition it supports. A framework badge does not tell you the edition.

The Cfx.re Legacy/Enhanced page describes an Enhanced server with differently named server files, a stream_enhanced folder for assets that differ from stream, and lists Asset Escrow as “Not implemented yet” for Enhanced. Ask the creator about the exact release if you run Enhanced. Background: FiveM Standard vs Enhanced: Which Version Should You Use?.

Success check: you can list framework, edition and dependencies from the creator's own text. If you cannot: stop and ask the seller before installing.

Step 2: Back up so you can roll back

Copy server.cfg, the resource folders you will change and any shared item or job files, and export the database. Try the install on a test server and test database first. See How to Back Up and Restore a FiveM Server.

Success check: you know where the copies are and which file you would restore first.

Step 3: Unpack and find the resource folder

Extract the archive. A resource is a folder with fxmanifest.lua directly inside it; the Cfx.re resources introduction says “Every resource is required to contain a resource manifest by the name of fxmanifest.lua”. One download can hold several resources, and a zip can add an extra wrapper folder.

Success check: every folder you will copy has fxmanifest.lua at its top level, not one folder deeper. Evidence if wrong: a folder listing showing where the manifest sits.

Download the intended build. Two documented examples say to use a release, not the repository's source archive: the QBCore docs say to use oxmysql's release build, and the ox_inventory docs say the UI must be bundled and recommend the pre-bundled release (ox_inventory.zip).

Step 4: Put it in resources and keep the folder name

Move each resource folder into resources, or into a bracket folder such as resources/[scripts]. The Cfx.re server commands accept bracket names as categories, for example start [cars].

In the Cfx.re example tree the resource is named after its folder, so the folder name is the name you pass to ensure; scripts that depend on it typically refer to it by that name. The Cfx.re page says you are free to name folders as you wish, but renaming a purchased script is a risk RPScripts advises against unless the creator says to.

Success check: the path reads resources/[optional_group]/resource_name/fxmanifest.lua. On Linux, letter case matters.

Step 5: Read the manifest

Open fxmanifest.lua without changing it. The manifest reference lists fx_version and game (gta5 runs on FiveM, rdr3 on RedM), and says dependency “Requires the specified resource to load before the current resource.” Every file named in client_script, server_script, shared_script or files should exist in the folder. To write one yourself see How to Write and Check a FiveM fxmanifest.lua and the fxmanifest generator.

Success check: you can name each dependency and each listed file exists.

Step 6: Install and start the dependencies

DependencyWhy it mattersSource
oxmysqlDatabase access. Set mysql_connection_string with set before any resource starts, and start oxmysql at the top of the list.oxmysql docs
ox_libUsed through shared_scripts { '@ox_lib/init.lua' } in a resource's manifest, so the library must be installed.ox_lib docs
Frameworkes_extended, qb-core or qbx_core must be running before scripts that use them.See the framework table in step 12
Inventory and targetMust match the options in the script's config (for example ox_inventory versus qb-inventory).The script's readme

Listing every dependency in server.cfg yourself, in order, is RPScripts' precaution, not a documented requirement.

Success check: each dependency is installed and already runs on its own.

Step 7: Import the SQL carefully

Only some scripts ship a .sql file. Read it before running it: DROP TABLE, TRUNCATE, DELETE, REPLACE and ALTER TABLE can remove or change existing data, and CREATE TABLE IF NOT EXISTS does not check that an existing table has the right columns. A fresh-install file is not an update. Import into the database named in your connection string, on the test database first. Details and common errors: SQL files and database errors.

Qbox's installation page requires MariaDB 10.9.0 or newer, not MySQL. Check your own database engine against the framework's requirement before importing.

Success check: the import reports no errors and the expected tables exist. Evidence if it fails: the failing statement and the exact error, with passwords removed.

Step 8: Configure it

Edit config.lua (or the config folder) so framework, inventory, target and notification options point at resources you actually run. Register any items the script needs in your framework's item system. Per-framework notes are in the table in step 12.

Success check: every resource name in the config exists in your resources folder.

Step 9: Add the ensure line in the right order

# server.cfg (placeholders: use your own framework and resources)
set mysql_connection_string "..."   # your own value, keep it private
ensure oxmysql
ensure ox_lib
ensure your_framework
ensure your_inventory_and_target

ensure resource_name

The oxmysql docs say to add start oxmysql “to the top of your resource list” and the ox_inventory Qbox page says to start it “immediately after qbx_core”, so order matters. Your script goes after everything it depends on. Per-framework start order: QBCore, ESX, Qbox; general reference: Configure FiveM server.cfg and Verify Your Changes and the server.cfg generator. Comments in server.cfg begin with #, as in the QBCore template.

Success check: your line sits below each dependency's line.

Step 10: Start it and check the result

The Cfx.re server commands page documents refresh, which rescans resources and loads manifests so new resources can be started, and ensure, which starts a resource or restarts it if it is running. In the server console run refresh, then ensure resource_name; restarting the server also loads it. After adding items, jobs or SQL, RPScripts suggests a full restart as a precaution (editorial advice, not a Cfx.re statement).

  1. No error lines mention resource_name in the server console.
  2. Join with a test account and press F8: no error lines for the resource.
  3. Use the feature (open its menu, use the item, enter the map).
  4. Reconnect and restart once to confirm saved data survives.

Evidence to collect if any check fails: the first error line after startup (not the last), the resource name, your framework and its version, the FXServer artifact number, the edition, and the ensure block above and below your line. If it does not start, continue with FiveM Resource Won't Start: Fix Errors by Console Message.

Step 11: Roll back cleanly

Run stop resource_name, put # before its ensure line, then restore the config files and database from your step 2 backup. Keep the database export from step 2, because a partly imported SQL file is not undone by stopping the resource.

Step 12: Framework differences

FrameworkCore resourceItems and dataSource
ESXes_extendedItems and jobs live in database tables unless you use ox_inventory (see RPScripts' ESX notes). ESX's troubleshooting page lists “Error ESX = nil” with the fix “update your es_extended to the latest version”.ESX docs
QBCoreqb-coreTemplate starts ensure qb-core, then ensure [qb] and [standalone].QBCore docs
Qboxqbx_coreUses ox_inventory: add setr inventory:framework "qbx" before resources start and start ox_inventory right after qbx_core.ox_inventory Qbox setup
StandalonenoneNeeds only what its readme names.Creator

A script made for one framework does not install on another by copying it; see Convert FiveM Scripts Between ESX, QBCore and Qbox. RPScripts sells scripts, so this category link is commercial: QBCore Scripts. The steps here apply to a resource from any source.

Escrow-protected resources

Resources protected by Cfx.re Asset Escrow usually contain a .fxap file; see What Is a .fxap File in a FiveM Resource?. Do not edit, merge or delete the protected files. Per the Cfx.re Asset Escrow docs, a server without the right entitlement cannot start the resource and prints “You lack the required entitlement” in the console; fixes are in How to Fix the FiveM Required Entitlement Error. The docs describe an escrow_ignore directive that lets a creator leave chosen files, such as a config, unprotected; edit only files the creator names. Seller docs report that corrupted file transfers break escrowed resources. JG Scripts says to upload the .zip as-is and extract it after transfer rather than transferring files one by one, and that FileZilla can corrupt files (try WinSCP); Lation says FileZilla frequently corrupts escrowed files and recommends WinSCP. That is vendor guidance, not a Cfx.re statement.

FAQ

Do I need to restart the server after adding a script?

Not always. refresh then ensure resource_name loads a new resource, per the Cfx.re docs. After adding items, jobs or SQL changes, a full restart is RPScripts' precaution.

Can I install a QBCore script on ESX or Qbox?

Not by copying alone. Check the product page for your framework; a script that calls another framework's inventory or core functions needs conversion or a bridge the creator documents.

Can't find the exact script? Generate it.

Describe a custom script. 3 free credits per day, up to 15 per calendar month; no card needed.

Try the FiveM AI Script Generator

Premium picks for your server

Browse the shop