FiveM Resource Not Starting: Common Causes and Fixes
When a script does nothing, the answer is almost always in the server console. Open the Console tab, restart the server and read the lines printed when the resource loads. This guide covers the most common causes.
1. The resource is not ensured
A resource only starts if server.cfg tells the server to load it. Add one line per resource using the exact folder name.
- ensure resourcename
- start resourcename also works, but ensure is the usual choice because it restarts a stopped resource.
Folder names are case sensitive on Linux. If the folder is called MyScript, then ensure myscript will not find it.
2. Missing or broken manifest
Every resource needs a manifest file named fxmanifest.lua in its top folder. A common upload mistake is extracting a zip so that the files end up one folder too deep, such as resources/myscript/myscript/fxmanifest.lua. Move the inner folder up so the manifest is directly inside the resource folder.
3. Missing dependencies
Many scripts depend on others, for example a framework, a database resource or a UI library. If the console says a dependency could not be found, install it and make sure it is ensured earlier in server.cfg than the script that needs it.
4. Load order
Order in server.cfg matters. A sensible order is:
- Database resource
- Framework (ESX or QBCore)
- Libraries and core resources
- Your other scripts
5. Script errors
If the resource starts but fails, the console shows the file name and line number. Typical causes are a missing config value, a missing item in the database or an outdated framework export. Read the first error, not the last, because later errors are usually side effects.
Quick checklist
- Is the folder inside resources and named exactly as ensured?
- Does fxmanifest.lua sit directly inside it?
- Are all dependencies installed and started before it?
- Did you restart the resource or server after editing?
- Did the script author list a required framework version?
You can restart a single resource from the console by typing restart followed by its name, which saves a full server restart while testing. If you are still stuck, copy the first error line from the console and share it with us in Discord.