BLANCO

Developer · blancodagoat.dev

← All parts

TOOLING, PLATFORMS & FAILURES

GTA V / RAGE file formats › Part 8

CodeWalker, OpenIV and the in-browser DLC builder and what each is for; how FiveM, RageMP and alt:V stream the same files differently; a symptom-to-cause table for crashes, invisible props and missing textures; and the archive paths you look up most.

How to read the evidence markers on this page: no marker — verified from source or a primary spec, trust it. 🟡 — community reverse-engineering, widely used but never confirmed by Rockstar. 🔴 — folklore: repeated in tutorials, plausible, untested — verify before relying on it. ✅ — confirmed in-game on a real working pack. Full legend and corrections log.

9. Tooling

Tool Use
CodeWalker The workhorse and the de facto spec. World editor, RPF explorer, ymap/ytyp/ybn/ynv editing, XML import/export, manifest gen, flag/extent auto-calc, Gen8→Gen9 conversion
OpenIV RPF browse/edit, mods folder, ASI manager, OIV packages. Legacy only
OpenRPF The OpenIV.asi replacement for Enhanced/Gen9. v0.3 supports builds 1013.17+
OIV Package Installer CodeWalker-core-based OIV installer; supports Legacy and Enhanced, validates version
Sollumz (Blender) Import/export ydr/ydd/yft/ybn/ymap/ytyp in Blender. Current best modelling pipeline
GIMS Evo (3ds Max) Legacy Max pipeline. Effectively unmaintained
Menyoo In-game object spawner; exports .xml maps convertible to ymap
Map Builder Prop library for Menyoo/ymap workflows
Meta Toolkit / meta2xml PSO ↔ XML for .ymt/.meta
YTYP Generator / YTYP-Creator Quick archetype stubs from ODR/OBN
Lenny's Mod Loader (LML) Non-destructive install layer, install.xml
CodeWalker.Core.dll Library for your own C# tooling. ✅ Build from master source (the dev48 gen9 binary throws "unsupported compression method" on OPEN archives). ⚠ GetFileData() returns headerless decompressed resource data. Repacking it via CreateFile makes a binary entry that crashes the game; export with ResourceBuilder.Compress + AddResourceHeader. See §15

Typical workflow for a new prop: 1. Model in Blender + Sollumz → export .ydr (+ .ybn if standalone collision) 2. Textures → .ytd 3. Sollumz auto-creates the .ytyp archetype, or build it in CodeWalker 4. Pack into dlc.rpf per §4 5. CodeWalker project → place in ymap → auto-calc flags/extents → generate manifest 6. Wire content.xml / setup2.xml / dlclist.xml 7. Test, then bump gameconfig pools if it crashes 8. On Enhanced: convert to Gen9 in CodeWalker and use OpenRPF, not OpenIV.asi


10. FiveM / RageMP / alt:V

This section is about content a server streams to everyone. For content you install on your own client that nobody else sees — the FiveM equivalent of RAGEMP's dlcpacks folder — see Part 9: FiveM client-side mods.

FiveM

Forget dlc.rpf. Use a resource with fxmanifest.lua:

fx_version 'cerulean'
game 'gta5'

files {
    'stream/my_props.ytyp',
}

data_file 'DLC_ITYP_REQUEST' 'stream/my_props.ytyp'

-- for a map
this_is_a_map 'yes'
  • Any file in a stream/ folder is auto-streamed by name hash. No content.xml.
  • .ymap files in stream/ load automatically if this_is_a_map 'yes' is set.
  • ytyps still need an explicit data_file 'DLC_ITYP_REQUEST'. The files{} entry is redundant for something already in stream/, but harmless and near-universal in the wild.
  • Meta overrides: data_file 'HANDLING_FILE' 'data/handling.meta', same fileType enum as §4.
  • Interiors: MLO ytyp + placement ymap, both in stream/.
  • Deleting base-game props: a ymap with <flags value="0"/> and CodeWalker's "delete entity" (writes a removal ymap), or RemoveIpl/interiorProxy scripting.
  • FiveM patches some malformed CMapData at load and traces warnings to console. Read your server console.
  • FiveM runs RPF7 (per VIRUXE/rpf-rs's version table, RPF7 is "GTA V / FiveM").

RageMP

  • Client-side client_packages + dlcpacks in the RAGEMP folder, or CEF for UI.
  • Custom map data: client_packages/game_resources/dlcpacks/<name>/dlc.rpf, same structure as SP.
  • Registration via RAGEMP's own dlclist handling; no need to touch update.rpf.

alt:V

  • resource.cfg with client-type and a stream folder; similar to FiveM in spirit.
  • alt:V's unofficial docs mirror Dekurwinator's ytyp flag research, though the mirror is less complete than the original.

11. Common failure modes

Symptom Likely cause
Props invisible / pop in and out streamingExtents too small
Props load but no collision wrong physicsDictionary in ytyp, or ybn not in physicsDictionaries list, or entity flag 4 (DONT_INSTANCE_COLLISION) set
Object untextured / white ytd not loaded, textureDictionary name mismatch
Object glows at night FLAG_USE_AMBIENT_SCALE (536870912) not set on the archetype
Door does nothing specialAttribute set but FLAG_DOOR_PHYSICS (67108864) missing
Two gates open together duplicate archetype name: both entities resolve to the same archetype
Crash on SP load ymap/ytyp in _metadata.rpf when it needs to be in the main rpf; or DLC_ITYP_REQUEST missing. Confirmed in RAGE: it is a real CDataFileMgr type with its own mounter, registered eDFMI_UnloadLast, and the loader only verifies the file exists — which is why a missing one takes the load down rather than degrading
Crash after adding Nth mod gameconfig pool exhaustion. Confirmed: RAGE ties per-subsystem limits to common:/data/gameconfig.xml and names the file when one is hit ("Streaming module %s exceeded its hard limit of %d elements - please update gameconfig.xml", and the same for ArchiveCount, instancing pools and ScaleformMgrArray). Every one of those is an Assertf, which compiles out of the shipped build — so the retail game overruns the limit and keeps going. That is why the symptom is an unexplained crash at the Nth mod instead of a message naming the pool
Crash on Enhanced with working Legacy mod Gen8 files on Gen9. Convert in CodeWalker
ERR_FIL_PACK_3 Not the 4 GB ceiling — nothing range-checks the offset, so an over-size archive mounts and reads wrong rather than raising a packfile error. Expect ERR_SYS_INVALIDRESOURCE_5 or ERR_GEN_ZLIB_2 for that. The RAGE packfile codes are ERR_STR_PACK_1/2, both missing-file. What ERR_FIL_PACK_3 itself means is undocumented and the code string is not in the binary
ERR_GEN_ZLIB_2 Decompression failure. Confirmed: RAGE raises it from zlibInflater::InflateBegin whenever inflate() returns a negative code. Generic to any stream the engine inflates, but on a modded install that is almost always an RPF entry. Retail builds blank the filename from the message, hence the bare code
Archetype not found ytyp not in a changeset's filesToEnable, or disabled without changeset
Interior invisible from outside portal to room 0 (limbo) missing, or exteriorVisibiltyDepth wrong
Interior geometry z-fighting through walls portal corners not planar / wrong winding
MLO doesn't load contentFlags missing bit 3 (value 8)
LOD chain broken after edit parentIndex values shifted; numChildren stale; or entity flag 8 doesn't match where the parent actually lives
Rotation is mirrored quaternion not conjugated on hand-edit
Pack mounts, CTD ERR_SYS_INVALIDRESOURCE_5 on approach ✅ a .y* stored as a binary entry: RSC7 header lost at import (e.g. CodeWalker GetFileData() output repacked as-is). CodeWalker still parses it; the game does not. Check entry types + RSC7 magic/version (ydr 165, ytyp/ymap 2)
Pack mounts, no CTD, props never appear ✅ models+ytyp inside the CONTENTS_DLC_MAP_DATA rpf (split them out); or props-pack loader (GROUP_STARTUP, no $level streaming changeset) used for a map DLC
CTD at startup after config edits DLC_ITYP_REQUEST device-root path with .ytyp extension; or the same rpf enabled in two changesets (STARTUP + mapChangeSetData)

12. Quick reference: paths

# SP registration
mods/update/update.rpf/common/data/dlclist.xml
mods/update/update.rpf/common/data/extratitleupdatedata.meta
mods/update/update.rpf/common/data/gameconfig.xml
mods/update/update.rpf/common/data/levels/gta5/vehicles.meta
mods/update/update.rpf/common/data/handling.meta
mods/update/update.rpf/common/data/materials/materials.dat
mods/update/update.rpf/x64/data/cdimages/scaleform_generic.rpf

# DLC mount
mods/update/x64/dlcpacks/<name>/dlc.rpf

# Base map data
x64a.rpf … x64w.rpf → levels/gta5/_citye/… (ymaps, ytyps, models)

# Enhanced (Gen9)
<GTA V Enhanced>/OpenRPF.asi
<GTA V Enhanced>/mods/update/...