How to Convert a dlc.rpf to a FiveM Resource (Automatic and Manual)

FiveM cannot load a dlc.rpf, so the archive has to be unpacked into stream files, meta files and a manifest. Here is the three-step automatic route, the full manual route with OpenIV, and how to check the result.

Published 7 min read7 sections

You downloaded an add-on car, opened the archive and found a folder with a single dlc.rpf in it. This guide ends with that car as a FiveM resource you can ensure. You need the mod's page link on gta5-mods.com for the automatic route, or a Windows PC with OpenIV for the manual one.

Why a dlc.rpf does nothing in a resource folder

A dlc.rpf is the single-player packaging for a DLC pack: one archive holding the models, the textures and the data files, registered through dlclist.xml. A FiveM server has no equivalent of that mechanism. It streams loose asset files from a resource's stream/ folder and loads data files that are declared in fxmanifest.lua. A dlc.rpf dropped into a resource, in stream/ or anywhere else, is not mounted, so the car never exists. The contents have to be extracted first. The wiki entry on dlc.rpf describes the archive itself; this page is about getting out of it.

The automatic route

Open the vehicle on gta5-mods.com and copy the address of the page, for example gta5-mods.com/vehicles/your-car. The converter works from that page link. It does not take an uploaded dlc.rpf or the direct download link.

Step 2: Paste it into the converter

Paste the link into the converter and start the conversion. The download is fetched and the dlc.rpf, including the archives nested inside it, is unpacked on the server side. You get a zip back.

Step 3: Unzip, install and add the display name

The zip contains one resource folder: fxmanifest.lua, a common/ folder with the meta files and a stream/ folder with every .yft and .ytd. Copy the folder into your server's resources/ directory, add ensure foldername to server.cfg and restart. The output does not include a display-name script, so the car's name reads NULL until you add the three lines described in the NULL name fix.

Note

The free tier is 3 conversions per IP, plus 2 if you leave an email. Unlimited conversions are a one-time $15; see pricing. Mods over 300 MB are not converted, and a custom engine sound pack inside the mod is not carried over.

The manual route with OpenIV

Use this when the mod is not on gta5-mods.com, or when you want to see exactly what goes where. Folder names inside a dlc.rpf vary between authors, so treat the paths below as the usual layout and not a guarantee. OpenIV runs on Windows only; if that rules it out, see converting cars to FiveM without OpenIV.

Open the archive

Start OpenIV and open the mod's dlc.rpf (it can open an archive stored anywhere on disk). At the top level you will normally see content.xml, setup2.xml, a common folder and an x64 folder.

Sort the contents into two piles

Inside dlc.rpfGoes toWhy
common/data/ meta files: vehicles.meta, handling.meta, carvariations.meta, carcols.meta, sometimes vehiclelayouts.metadata/Data files, declared in the manifest
The nested vehicles archive under x64/ (often x64/levels/gta5/vehicles/…vehicles.rpf): every .yft and .ytdstream/Streamed assets
The nested mods archive, when the car has tuning parts: every .yft and .ytdstream/Streamed assets
content.xml, setup2.xmlNowhereSingle-player registration only
Language archive (.gxt2 files) and dlctext.metaNowhereFiveM has no usable data file type for them

Double-click a nested .rpf to step into it, select all files, and extract them to a normal folder. Do not skip the _hi.yft files or the tuning part models. Keep content.xml open in a text editor for one reason: its fileType entries tell you which data files the mod expects to be loaded.

Build the resource folder

Only stream/ at the root of the resource (and its subfolders) is scanned for assets. The name of the meta folder is free; data is the convention, and the converter uses common.

text
mycar/
├── fxmanifest.lua
├── vehicle_names.lua
├── data/
│   ├── vehicles.meta
│   ├── handling.meta
│   ├── carvariations.meta
│   └── carcols.meta
└── stream/
    ├── mycar.yft
    ├── mycar_hi.yft
    ├── mycar.ytd
    └── (tuning part .yft files)

Write the manifest

Every meta file needs two things: an entry under files, so it is sent to clients, and a data_file line with the right type, so the game loads it. One without the other does nothing.

lua
fx_version 'cerulean'
game 'gta5'

files {
    'data/vehicles.meta',
    'data/handling.meta',
    'data/carvariations.meta',
    'data/carcols.meta',
}

data_file 'HANDLING_FILE' 'data/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta'
data_file 'CARCOLS_FILE' 'data/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/carvariations.meta'

client_script 'vehicle_names.lua'

Delete the lines for files the mod does not have. If it ships a vehiclelayouts.meta, add it to files and declare it with VEHICLE_LAYOUTS_FILE. Files in stream/ are not listed anywhere. The vehicle_names.lua file is the display-name script from the NULL name fix; the FXManifest Generator writes the rest of the manifest from a form.

Verify with the Resource Inspector

Zip the folder (or use the converter's zip as it is) and drop it into the Resource Inspector. It runs in your browser and checks the manifest, the stream files, the textures and the metas: a data_file line pointing at a file that is not there, an invalid type, a model without its texture dictionary, an oversized file. Fix what it reports, then start the resource and spawn the car with the <modelName> from vehicles.meta. The Inspector tutorial explains each check.

Common mistakes

  • Leaving the dlc.rpf, or a nested .rpf, in the resource. Nothing inside an archive is read. Extract down to loose files.
  • Models outside stream/. A .yft in data/ or in a folder named streams is ignored, and the car spawns invisible or not at all. See the invisible car guide.
  • CARVARIATIONS_FILE. That type does not exist. carvariations.meta is loaded with VEHICLE_VARIATION_FILE.
  • A meta under files with no data_file line, or the reverse.
  • Only extracting the first nested archive. Tuning parts live in a second one; without them the mod shop shows empty slots.
  • Missing fx_version or game 'gta5'. Both are required for the resource to load as a GTA V resource.
  • Spawning by the folder name. The spawn name is the <modelName>, which is often different.

FAQ

Can FiveM read a dlc.rpf directly?

No. The files have to be extracted into stream/ and declared in the manifest. There is no manifest entry that mounts a DLC archive from a resource.

Which folders inside the dlc.rpf go into stream?

The model and texture files from the nested vehicles archive and, if present, the nested mods archive. They can sit flat in stream/ or in subfolders of it.

What do I do with content.xml and setup2.xml?

Leave them out. Their job is done by fxmanifest.lua. content.xml is still a useful checklist of the data file types the mod uses.

The converted resource has a dlctext.meta line. Is that a problem?

No. The converter keeps dlctext.meta and writes a line for it, but FiveM has no usable type for that file, so the line has no effect. It is also the reason the name shows NULL until you add a text entry.

I have several dlc.rpf cars. One resource or many?

Either works. Convert each one, then merge them with the Car Pack Builder, which writes a single manifest and reports clashing spawn names, handling names and mod kit ids. Background is in how to create FiveM car packs.

Sources

Have a gta5-mods.com link ready?

Paste it into the converter and download a FiveM resource with the stream folder, meta files and fxmanifest.lua in place.

  • 3 conversions free, no account needed
  • 2 more free if you leave an email
  • After that: $15 once for unlimited conversions and the Pro tools, no subscription