FiveMGuideDrop the resource folder into server-data/resources/ and restart. Haptic scans that folder on every start and starts each resource in dependency order, on…
Drop the resource folder into server-data/resources/ and restart. Haptic scans that folder on every start and starts each resource in dependency order, on every framework including Vanilla and Custom, so nothing needs an ensure line to load. Write ensure lines in server.cfg to set the order yourself.
Open the Files card and go to server-data/resources/. Large packs are easier over SFTP.
Upload the resource folder itself, for example ox_lib, with fxmanifest.lua directly inside it. A zip works too: select it, use Unzip, then delete the zip.
A .sql file in the download goes in server-data/sql/ and imports automatically.
Restart the server. The start list is built during boot, so an upload goes live on the next start.
fxmanifest.lua (or the older __resource.lua) must sit directly inside the folder you place in resources/.
Right: resources/ox_lib/fxmanifest.lua
Wrong: resources/ox_lib/ox_lib/fxmanifest.lua
That is what you get from uploading an extracted zip as-is: FiveM logs Couldn't find resource ox_lib or never starts it. If the first thing inside is another folder with the same name, move the inner one up a level and delete the wrapper.
Square-bracket category folders are fine, so resources/[myscripts]/ox_lib/fxmanifest.lua works. Folders without brackets are not scanned by FiveM at all.
Haptic starts your resources in dependency order. Before each start it reads every fxmanifest.lua and starts a resource after the ones it names, whether it declares them as a dependency or just pulls a file like '@qb-core/shared/locale.lua'. So qb-core, es_extended, PolyZone, ox_lib and oxmysql come up before the scripts that call into them, wherever they sit in your folders. Resources with no dependency between them keep their alphabetical order.
FiveM does only part of this itself: it hoists a resource named in a dependency line, but a '@qb-core/...' file reference means nothing to its ordering, and most scripts use only the reference. That is why a script errors instead of waiting.
Two cases the sort cannot resolve: a script that names its framework nowhere (no dependency line, no @resource/ reference), and two resources that reference each other. Both keep their alphabetical position, and both are fixed in server.cfg.
server.cfg in server-data/ is your file. Haptic never overwrites it, and any resource you start there is one Haptic stops starting automatically:
ensure qb-core
ensure PolyZone
ensure my_jobThose three start in that order, ahead of anything left to Haptic. start claims a resource like ensure does, a commented line (# or --) claims nothing, and ensure [Standalone] claims a whole bracket folder. After a restart, the console line beginning server.cfg starts names everything Haptic handed over, so a missing name is usually a spelling mismatch. To undo, delete your ensure lines and those resources go back to automatic order.
Your Cfx.re license key, endpoints and database connection stay with us, applied before server.cfg loads, so you never set them there.
The field in your server's Details tab is for something else: FiveM's example and developer resources (runcode, money, playernames, the fivem-map-* maps, and basic-gamemode, which stays on for Vanilla) are left off because they break RP frameworks. Name one per line to restore it.

Paid scripts are usually escrow-protected: part of the code is encrypted into a .fxap file and locked to the Cfx.re account that bought it. Upload the .fxap with everything else, and run the server on a license key from the account that bought the script. Any key from that account works, so after a host move generate a fresh one there. A script bought on someone else's account will not run under yours, and no host can unlock that.
The Needs attention panel on the Console card names the common failures: an error inside the script, a missing library (ox_lib, oxmysql, qb-core, es_extended), or a script wanting a different game build.
Adding an ensure line for a resource that is not found. An ensure line decides when a resource starts, not whether it exists.
Naming it in Extra Resources to Start to load it earlier. That field runs last, so it can only move a resource later.
Reinstalling the framework. If one script fails, the framework is fine.
Leaving it zipped. FiveM reads folders, not archives. Run Unzip on it in the Files card.
Waiting. The start list is built during boot, so a restart is part of every fix.
Reach us on Discord or at support@haptic.gg. Include the resource name, a screenshot of its folder, and the console output from the failed start.