Installing a FiveM script is one of the first skills every server owner needs, and once you've done it a few times it becomes second nature. Here's a clear, general step-by-step that works for most scripts on both QBCore and ESX. Always follow the script's own README too, since specifics vary.
Step 1: Get the resource into your resources folder
Your server has a resources folder (often organized into subfolders like [qb], [esx], [standalone]). To install a script:
- Download and unzip the resource.
- Make sure the folder name is correct โ some scripts require an exact name (check the README). Don't rename a resource unless told it's safe.
- Place the folder inside your
resourcesdirectory, ideally in a sensible subfolder like[custom]or[scripts].
If the resource came as a nested zip (a folder inside a folder), make sure you place the actual resource folder โ the one containing fxmanifest.lua โ not a wrapper folder.
Step 2: Add it to server.cfg
Your server only starts resources you tell it to. Open server.cfg and add an ensure line:
ensure resource-name-hereUse the exact folder name. Placement matters for dependencies โ a script that needs your framework must be ensured *after* the framework, and anything needing ox_lib must come after ox_lib.
Step 3: Run the SQL (if the script has a database)
Many scripts store data and include a .sql file. If so:
- Open your database tool (phpMyAdmin, HeidiSQL, or similar).
- Select your server's database.
- Import or run the provided
.sqlfile.
Skipping this step is one of the most common install mistakes โ the script loads but errors or does nothing because its database tables don't exist.
Step 4: Check dependencies
Confirm the script's dependencies are installed and started first. Common ones:
oxmysql(database access)ox_lib(shared library)ox_inventory/ox_target(if the script integrates with them)- Your framework (
qb-coreores_extended)
A missing dependency is the second most common reason a fresh install fails.
Step 5: Configure it
Open the script's config.lua (or config folder) and set it up for your server โ prices, locations, jobs, keybinds, language. Good scripts have a clear, commented config. Take a moment here; the defaults may not match your server.
Step 6: Start and test
Restart your server (or start the resource live with ensure resource-name / start resource-name in the console). Then:
- Watch the server console as it starts โ errors show here immediately.
- Join and test the feature.
- If something's wrong, read the console error first โ it usually names the problem.
Common install problems
- "Resource won't start" โ check the folder name matches the
ensureline andfxmanifest.luais present. - Script loads but does nothing โ you probably skipped the SQL, or a dependency isn't loaded.
- Errors mentioning another resource โ a dependency is missing or loading in the wrong order.
- Nested folder issue โ you placed a wrapper folder instead of the actual resource folder.
A repeatable routine
Once you've done a few, the rhythm is: drop in the folder โ ensure it โ run the SQL โ check dependencies โ configure โ restart โ watch the console โ test. Follow that every time and installs go smoothly.
At Viper Development, every script ships with clear installation documentation and a well-commented config, so setup is painless โ and if you get stuck, our Discord support is there. Browse our scripts โ