Add mods to a FiveM server: cars, MLOs, clothes
To add mods to your FiveM server, such as an addon car, an MLO interior or clothing, put the mod’s files in a resource folder with a stream folder and an fxmanifest, then add ensure with that resource’s name to server. Players download the files when they join, and the steps are the same on ESX, QBCore, Qbox or a server with no framework.
Mods for your own game as a player are a different topic; nothing on this page changes a player’s game folder.
Before you start
- A server you can stop and start, with access to its
resourcesfolder andserver. If you have never added a resource, read how to install FiveM scripts first..cfg - A mod made for FiveM. One usually ships as a resource with an
fxmanifest. A single-player mod has none, so you build the resource from its files, as in “Lay out a stream resource”..lua - For a paid, escrowed pack: the Cfx.re account that bought it must also own the server’s license key.
Lay out a stream resource
-
In
resources, create a category folder such as[mods]. A folder name in square brackets is a category, andensure [mods]starts every resource inside it. -
Put each mod in its own folder inside
[mods]. The folder name is the resource name. -
In that folder, put model, texture and map files (
.yft,.ytd,.ydr,.ydd,.ymap,.ytyp) instream, and.metafiles indata. Files instreamneed no line in the manifest. -
Check that
fxmanifeststarts with these two lines..lua ceruleanis the current manifest version, andgta5means the resource runs on FiveM.fx_version 'cerulean' game 'gta5'Keep
lua54 'yes'in an escrowed pack: Cfx.re’s escrow FAQ still lists it as a requirement, although the manifest reference calls it deprecated. -
In
server, add.cfg ensure [mods]after your framework and its dependencies. To undo a mod that breaks the server, delete its folder or move it out of[mods], then restart.
Add an addon car
The free iak_wheelchair resource is a drivable wheelchair, and it has the standard addon vehicle layout:
[mods]/iak_wheelchair/
fxmanifest.lua
data/handling.meta
data/vehicles.meta
data/carvariations.meta
stream/iak_wheelchair.yft
stream/iak_wheelchair_hi.yft
stream/iak_wheelchair.ytd
-
In
fxmanifest, list every.lua .metafile infiles, so players download it, and give each adata_fileline, so the game knows what it is. This is the wheelchair’s own manifest:fx_version 'cerulean' game 'gta5' files { 'data/vehicles.meta', 'data/carvariations.meta', 'data/handling.meta' } data_file 'HANDLING_FILE' 'data/handling.meta' data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta' data_file 'VEHICLE_VARIATION_FILE' 'data/carvariations.meta' -
If the car ships more files, add their lines with these types:
carcolsis.meta CARCOLS_FILEandvehiclelayoutsis.meta VEHICLE_LAYOUTS_FILE. The type names come from Cfx.re’s data file list; a misspelt type loads nothing. -
Find the spawn name: it is the
<modelName>value invehicles, and it usually matches the.meta .yftname instream. For the wheelchair,<modelName>iak_wheelchair</.modelName> -
Check that
<handlingId>invehiclesequals.meta <handlingName>inhandling. In the wheelchair both are.meta iak_wheelchair.
Our Advanced Ambulance Job uses this exact resource. Config in its config sets the model to iak_wheelchair, and the README lists the wheelchair model as a requirement. Start iak_wheelchair in server with the job, and the wheelchair item places that model.
Add an MLO interior
An MLO is a map interior with its own doors, placed at one spot on the map. Free or paid, it installs the same way; what changes is escrow.
- Read the pack’s README for its location and any resource it needs, and start that resource as well.
- Copy the whole pack into
[mods]. Keep every file instream, including_manifest: Cfx.re’s map guide says this file “is necessary to load the models correctly”..ymf - Check that
fxmanifesthas.lua this_is_a_map 'yes'. It marks the resource as a map and reloads the map storage when the resource loads. - Check that no other map in
resourcescovers the same building, such as two versions of one police station. Keep one and delete the other’s folder. - For an escrowed pack, copy the folder with a tool that keeps hidden files. The
.fxapfile must be on the server, or the console printsFailed to verify protected resource.
Cfx.re Asset Escrow protects Lua, .yft, .ydd and .ydr files, and an escrowed pack starts only on a server whose license key belongs to the account that bought it. If the console prints You lack the required entitlement, follow the entitlement fix.
In our Housing System V3 & Shell Creator, the property creator has an MLO type: you draw the house over an MLO you installed and place its doors. To choose between MLOs and shells for homes, read shells or MLOs for housing.
Add addon clothing
Addon clothing adds items to the multiplayer peds, mp_m_freemode_01 and mp_f_freemode_01, without replacing the game’s own.
-
Prefer a pack that ships as a resource. To build one, the author of Cfx.re’s addon clothing tutorial suggests their grzyClothTool over the manual steps.
-
Put the
.ymt,.yddand.ytdfiles instream. Each clothing file name starts with the full YMT name and^, such asmp_in the tutorial.f_ freemode_ 01_ p_ tutorial_ clothes^p_ head_ 000 .ydd -
In
fxmanifest, list the pack’s.lua .metafile infilesand give it aSHOP_line. The tutorial’s manifest:PED_ APPAREL_ META_ FILE fx_version 'cerulean' game 'gta5' files { 'mp_f_freemode_01_tutorial_clothes.meta' } data_file 'SHOP_PED_APPAREL_META_FILE' 'mp_f_freemode_01_tutorial_clothes.meta' -
A pack for both peds has one
.metafile per ped. List each infileswith its owndata_fileline.
Use the mods in your scripts
In our Advanced Police Job, each station in Config (config) holds its points and garages. The station points default to the Gabz MRPD MLO; if you run another police station map, move them to it in the config.
An addon police car goes into a category’s vehicles list in a garage’s vehicleCategories, with its spawn name as model, like the rows the config ships:
{label = 'Cruiser', model = 'police', price = 0},
{label = 'Gauntlet', model = 'polgauntlet', price = 0, minGrade = 1}
By default, our Advanced Jail System V2 puts its prison at Gabz Bolingbroke and Advanced Ambulance Job puts its hospital at Gabz Pillbox. You can move either to any MLO in its config.
Check it works
- Restart the server and watch the console while
[mods]starts. NoAsset .or.. MiB of physical memory virtual memoryline should name your resources. - Join, and as an admin run
/carwith the spawn name, such as/car iak_wheelchair. ESX, QBCore and Qbox all register/carfor admins. The car appears. - Travel to the MLO’s location. The walls, floors and doors load, and you walk in.
- Open your clothing menu on the matching ped. The pack’s items are listed after the game’s own.
If it fails
Asset .: the server prints this when a file in.. uses . .. MiB of physical memory. streamtakes over 16 MiB of physical or virtual memory. Over 48 MiB it addsOversized assets can and WILL lead to streaming issues (such as models not loading/rendering)., and over 64 MiB the line is red. Resize the textures in that file, or ask the mod’s author for a lighter version./carspawns nothing: likely the spawn name differs from<modelName>, or the resource is not started. Runensurewith the resource name and read the console.- The car drives like another car: likely its
HANDLING_FILEline is missing, or<handlingId>and<handlingName>differ. Compare the manifest and both.metafiles. - The interior loads with parts missing: check that the pack’s
_manifestis in.ymf stream, or copy the pack again, whole. - Two buildings overlap: two maps cover one place. Keep one.
You lack the required entitlement: the pack was bought on another Cfx.re account than the server key’s. Follow the entitlement fix.- A clothing item is invisible: check the tutorial’s naming rules. The
.ymtname is all lowercase, and each drawable’s_uor_rending matches its textures.


