Every docs URL answers with Markdown when you add .md. Site map: llms.txt
Mod Converter
Turn a GTA5-Mods car, weapon, ped or clothing pack into a FiveM resource: what it accepts, what it writes, how it tells the kinds apart, and what to do with an encrypted dlc.rpf.
Por enquanto, esta documentação está em inglês.
The Mod Converter takes a mod the way you downloaded it and gives back a FiveM resource: a stream/ folder with the model files named the way the game looks them up, the metas it needs, and an fxmanifest.lua that loads all of it. It handles cars, weapons, peds and freemode clothing. Everything runs in your browser. No file is uploaded anywhere.
What it is for
A GTA V mod and a FiveM resource are not the same thing. A mod expects you to drop a dlc.rpf into dlcpacks and edit dlclist.xml, which FiveM cannot do: it refuses to load extra DLC archives, so the pack has to be unpacked into loose stream files plus data_file lines in a manifest. Doing that by hand means reading five metas, matching model names to file names, guessing which data_file type each meta needs and hoping you did not miss one.
This tool does that part. It is for server owners installing something they bought or downloaded, and for anyone who keeps converting the same kind of pack over and over.
Quick start
- Open the tool and use Choose a folder (the folder you unzipped), Open a .zip or .rpf, or drag the folder, zip or
dlc.rpfonto the card. - Wait for it to read the files. A big pack with a
dlc.rpftakes a second or two. - Read the verdict at the top: what it found, how many things it had to fill in, and how many checks failed.
- Look through What it found. Every car, weapon, ped and clothing slot gets a card, with a note for anything that was renamed, copied or generated.
- Change the resource name or any of the switches if you want. The conversion runs again immediately.
- Press Download the resource, unzip it into your server’s
resourcesfolder and addensure <name>toserver.cfg.
No mod at hand? Try a sample loads a made up one, broken in the usual ways.
Note
The resource folder is named fivemad_<the mod's name> by default, so you can see at a glance where a folder in your resources list came from. It is an editable field. Change it to whatever you like before you download.
What it converts
| Kind | What goes in | What comes out |
|---|---|---|
| Car | .yft, _hi.yft, .ytd, tuning parts, the vehicle metas |
stream/ plus data/ with HANDLING_FILE, VEHICLE_METADATA_FILE and the rest |
| Weapon | the w_ models and the weapon metas |
stream/ plus data/ with WEAPONINFO_FILE and the rest |
| Ped | <model>.ydd + .ytd, or <model>.yft plus a folder of component files |
stream/ plus data/peds.meta and data_file 'PED_METADATA_FILE' |
| Freemode clothing | jbib_000_u.ydd, jbib_diff_000_a_uni.ytd, p_head_000.ydd and friends |
either a collection of its own, or a replacement of the drawables the mod names. See Clothing |
How it tells them apart
From the metas that parsed and from the file names, never from the mesh.
A car ships a model and its _hi twin. A weapon model is called w_…. A ped is named after itself. The one that needs care is a ped against clothing, because both are skinned drawables and look identical to a file reader.
The rule is the name. A file called jbib_000_u.ydd, uppr_diff_003_a_whi.ytd or p_head_000.ydd is a component of some ped, never a ped. Which ped it belongs to is the only question left:
- a
mp_m_freemode_01^ormp_f_freemode_01_<collection>^prefix: freemode clothing - a prefix or a folder named after anything else, with that name’s
.yftnext to it: that ped’s own component files - nothing says: freemode clothing, because that is what a loose
jbib_000_u.yddon gta5-mods is
What it accepts
Loose files
The common case. A folder with car.yft, car_hi.yft, car.ytd, or myped.ydd and myped.ytd, or a pile of jbib_*.ydd and jbib_diff_*.ytd. It does not matter how deep the files are nested, what the folders are called or whether the names are in capitals.
A readme with the metas pasted in
A lot of mods print the vehicles.meta, handling.meta, carcols.meta and carvariations.meta blocks inside a text file and tell you to paste them in yourself. Those blocks are read straight out of the text and turned back into real meta files. The report says which parts came from the readme, so you know which values were never in a file.
An existing FiveM resource
Drop one that already has stream/ and an fxmanifest.lua and it is read, corrected and written out again: a data_file type that does not exist gets the right one, a meta that was never listed in files { } gets listed, and a glob that matched nothing becomes a real path.
An add-on dlc.rpf
See About dlc.rpf below. In short: one a modder built opens here, one taken from the game does not.
Several cars in one download
You choose one resource for the whole pack, or one resource per car so you can start and stop them separately.
Warning
.rar and .7z cannot be opened in a browser. Unpack those with 7-Zip or WinRAR first and drop the folder. A .oiv installer is a zip with a different extension, so renaming it to .zip usually works.
About dlc.rpf
Whether a dlc.rpf opens here comes down to one number in its first 16 bytes.
- An archive a modder built in OpenIV or CodeWalker is written with its file table unencrypted. The models, textures and metas come straight out and the conversion is the same as for loose files. This is what most add-on packs on gta5-mods are.
- An archive taken out of the game, or one run through ArchiveFix so it works without OpenIV.asi, is encrypted with a key that only exists inside
GTA5.exe. This site does not carry game keys and will not, so it cannot be opened here.
When you drop the second kind the tool says so, names the archive and tells you what to do: open it in OpenIV or CodeWalker on your own machine, drag out the .yft, the .ytd and the data folder, and drop those here instead. It does not fail with a vague error and it does not pretend to have tried.
What it writes
| Path | What is in it |
|---|---|
stream/ |
The model and texture files, renamed the way the game looks them up |
data/ |
The metas, one file per kind (peds.meta for a ped) |
<ped>_<collection>.meta |
A clothing collection’s ShopPedApparel meta, at the resource root |
convert_in_codewalker/ |
A clothing collection’s .ymt XML, the one file a browser cannot compile |
fxmanifest.lua |
fx_version 'cerulean', game 'gta5', a files { } list and one data_file line per meta |
client.lua |
An AddTextEntry per car or weapon, so menus show a real name |
README.md |
The same report you see on the page, so it travels with the resource |
Stream names follow the game, not the download:
- a car’s model becomes
<modelName>.yftand its textures<txdName>.ytd - a ped’s files become
<model>.ydd/.ytd/.yft; a ped whose components sat in a folder inside the archive keeps that folder in the name with a caret,<model>^uppr_000_r.ydd, which is how FiveM flattens a streamed ped. Its props go in as<model>_p^p_head_000.yddand the entry names them with<PropsName> - clothing becomes
<ped>_<collection>^jbib_000_u.yddin a collection, or<ped>^jbib_000_u.yddas a replacement
A meta the mod shipped as one clean file is copied through as it is, values and all. It is only rebuilt when something had to change: two files of the same kind merged into one, entries recovered from a readme, or a mod kit wired up to the car that was supposed to use it. The Files tab says, per file, where it came from.
data_file types
The type is picked from what is inside the file, not from its name, so a meta saved as vehicles.meta.txt or handling.xml still gets the right line.
Vehicles:
data_file 'HANDLING_FILE' 'data/handling.meta'
data_file 'VEHICLE_LAYOUTS_FILE' 'data/vehiclelayouts.meta'
data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta'
data_file 'CARCOLS_FILE' 'data/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/carvariations.meta'
data_file 'CONTENT_UNLOCKING_META_FILE' 'data/contentunlocks.meta'
data_file 'VEHICLE_SHOP_DLC_FILE' 'data/shop_vehicle.meta'Weapons:
data_file 'WEAPONINFO_FILE' 'data/weapons.meta'
data_file 'WEAPON_METADATA_FILE' 'data/weaponarchetypes.meta'
data_file 'WEAPON_ANIMATIONS_FILE' 'data/weaponanimations.meta'
data_file 'WEAPONCOMPONENTSINFO_FILE' 'data/weaponcomponents.meta'
data_file 'PED_PERSONALITY_FILE' 'data/pedpersonality.meta'
data_file 'LOADOUTS_FILE' 'data/loadouts.meta'
data_file 'DLC_WEAPON_PICKUPS' 'data/pickups.meta'Peds and clothing:
data_file 'PED_METADATA_FILE' 'data/peds.meta'
data_file 'SHOP_PED_APPAREL_META_FILE' 'mp_m_freemode_01_mybrand.meta'
data_file 'ALTERNATE_VARIATIONS_FILE' 'data/pedalternatevariations.meta'
data_file 'PED_OVERLAY_FILE' 'data/overlays.xml'They are written in the order Rockstar’s own DLCs load them, which rules out a class of problem where a mod kit loads before the car that uses it.
Two types people write that do not exist get corrected on the way through. DLCTEXT_FILE is not a type FiveM has a loader for, so a line using it loads nothing: dlctext.meta is dropped and the names go into client.lua instead. And shop_vehicle.meta is VEHICLE_SHOP_DLC_FILE, not VEHICLE_SHOP_FILE.
When the mod is missing something
Nothing is invented quietly. Every one of these is a switch you can turn off, and every one is reported when it fires.
| Missing | What happens |
|---|---|
handling.meta |
An entry is written from one of the templates in the Vehicle Handling Editor, and the report says the numbers are not the author’s. Turn the switch off and it tells you to supply one instead. |
_hi.yft |
The normal model is copied to that name, so the car does not flicker or fall through the world up close. It will not look sharper up close until the author ships a real one. |
| carvariations entry | One is written with the default colour and 0_default_modkit, so tuning menus are not empty. |
vehicles.meta |
One is generated from the model files, with LAYOUT_STANDARD and class VC_SPORT. |
.ytd |
Nothing is generated. A texture dictionary cannot be made up, so the report says the car will render untextured and that the file has to come from the mod. |
peds.meta entry |
One is written from a real base game civilian entry. The ped then walks, talks and reacts like an ambient ped. Change the ped type, the walk and the voice in data/peds.meta if it should be something else. |
pedalternatevariations.meta |
Nothing is generated. Hair that has to shrink under a hat, or a shoe with a heel, needs one; a file the mod ships is carried over, one is never invented. |
Important
A car with generated handling drives on template numbers, not the ones the mod author tuned. Open it in the Vehicle Handling Editor before it goes on a live server.
Clothing: add it or replace something
These are two different resources, not two settings of one, and it is the thing people get wrong.
Add it as a collection (the default)
The pack gets a name of its own and the clothes get drawable numbers of its own, so nothing the base game ships is touched. Your players keep every outfit they had, and the new ones sit after them.
fivemad_mybrand/
fxmanifest.lua
mp_m_freemode_01_mybrand.meta <- ShopPedApparel
stream/
mp_m_freemode_01_mybrand.ymt <- you make this, see below
mp_m_freemode_01_mybrand^jbib_000_u.ydd
mp_m_freemode_01_mybrand^jbib_diff_000_a_uni.ytd
convert_in_codewalker/
mp_m_freemode_01_mybrand.ymt.xmlA .ymt is a binary RAGE meta container and a browser cannot compile one, so the XML ships instead. Open it in CodeWalker (RPF Explorer, Tools, Import XML), put the .ymt it writes into stream/, delete convert_in_codewalker/, and the collection is done. Until then the clothes are streamed but the game does not know they exist. The YMT Creator opens the same XML if you want to change a slot, a texture race or a heel height by hand.
Replace the drawables it names
The files keep the numbers the mod gave them and stream as mp_m_freemode_01^jbib_000_u.ydd, which overwrites that exact drawable for every player on the server. Nobody keeps the outfit that was there before.
fivemad_mybrand/
fxmanifest.lua
stream/
mp_m_freemode_01^jbib_000_u.ydd
mp_m_freemode_01^jbib_diff_000_a_uni.ytdNo meta and no data_file line. A streamed file whose name is the ped, a caret and the drawable is read instead of the game’s own copy, and that is the whole resource.
Which one you get
Left on Whatever the mod’s own file names say, a pack whose files already carry a freemode ped name and a caret is converted as a replacement, because that prefix is the author naming the drawable they meant to take. Everything else is added as a collection. Both choices are in the dropdown at all times.
Warning
Each add-on collection uses one of the freemode ped’s spare .ymt slots and current game builds only have about three per gender. If a collection’s clothes never show up and nothing is in the server log, that is the first thing to check.
Add-on or replace
A lot of car downloads ship both halves: an Add-On folder with the car under its own model name, and a Replace folder with the same car under a base game name.
Converting both would give you the same car twice, so the add-on is taken by default and the other half is left out, with a note saying so. You can switch to the replace version, but understand what it does: every car of that model on the server becomes this one, traffic included, and any other resource that touches the same model fights with it.
The checks tab
For a car or a weapon, the output is run through the Vehicle Pack Validator before you download anything, the same checks you would run on the finished resource. That is there so a conversion can never hand you something that tool would reject. A ped or a clothing resource gets no checks tab: that validator is a vehicle tool and would only report that the resource is not a car.
Anything still listed there is a fact about the mod’s own assets, not a wiring problem. The usual one is an oversized .ytd: FiveM warns about anything over 16 MiB of memory and says assets over 48 MiB will cause streaming problems. The YTD Optimizer shrinks those.
Limits
- It does not open the models. A broken mesh, a missing bone or a wrong embedded texture is not something it can see. Use the Drawable Studio for that.
- A clothing collection is not finished until the
.ymtXML is imported in CodeWalker. Nothing in a browser can write that file. - A ped’s
.ymtvariation file is carried over when the mod ships one and is never written from nothing. A ped that needs one and has none shows only its first component. - An encrypted
.rpfcannot be opened, and neither can a password protected zip. - Engine sound packs are carried over with their
data_filelines, but the sounds themselves are not checked. - A very large pack is read into memory, so a multi gigabyte archive is better unpacked first.
- The sample is made up: invented names, placeholder model files, no game or author data.
Credit
The models, textures and metas in a converted resource belong to whoever made the mod. This tool only repacks them. Check the mod’s own licence before you put it on a public server or redistribute it.
