Everything a RedM server runs is a resource: the chat box, the spawn manager, a roleplay framework and every script on top of it. Installing one is always the same three steps.
Where resources live
resources/
A resource is a folder containing an fxmanifest.lua. Many servers group them into subfolders with names in square brackets, such as [core] and [scripts], which the server scans automatically.
Install a resource
- In the panel open Files and go to
resources/. - Upload the resource folder. Do not rename it, because the folder name is the resource name.
- Stop the server, edit
server.cfgand add:ensure resourcename - Start the server and read the console.
Load order matters
Resources start in the order their ensure lines appear. A framework, a database wrapper and any shared library must come before the scripts that use them. Getting this wrong produces errors that look like a broken script but are really a missing dependency.
A typical order is:
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager-rdr3
ensure oxmysql
ensure my-framework
ensure my-jobs-script
Database resources
Many roleplay resources need a MySQL database. Create one in the panel's Databases section, then put its host, name, user and password into the connection string the resource asks for, usually a set mysql_connection_string line in server.cfg. Import any SQL file the resource ships with before starting it.
Working without a full restart
From the panel Console:
refresh
start resourcename
restart resourcename
stop resourcename
refresh makes the server notice a newly uploaded resource. restart is what you use after editing a script.
When a resource fails
The console names the resource and the reason. Common causes:
- A missing
fxmanifest.lua, or one written for a different Cfx.re version. - A dependency not started, named in the error.
- A database connection that is not configured.
- A Lua syntax error, reported with a file and line number.
Client downloads
Files a resource marks as client side are downloaded by every player on join. A server with hundreds of megabytes of streamed assets has a very long first join, so remove unused models before opening the server to the public.





