Installing MLO interiors on a FiveM server
MLOs are custom interiors — a police station you can walk into, a nightclub, a mechanic’s workshop — and they are what make a city feel lived in. Installing one is usually as simple as dropping a folder in and adding one line, but when two maps claim the same space or a file is missing, the symptoms (invisible walls, floating props, falling through the floor) are confusing. This guide covers both.
Short answer: An MLO is a resource whose stream folder holds the interior’s models (.ydr), textures (.ytd), collisions (.ybn), placement (.ymap) and archetype definitions (.ytyp). Its manifest usually needs only fx_version, game and this_is_a_map 'yes'. Add ensure for it, make sure no other map occupies the same place, and start map dependencies (such as bob74_ipl) in the order the MLO expects.

#What is inside an MLO
| File type | What it is |
|---|---|
.ydr / .ydd | Models (drawables and drawable dictionaries) |
.ytd | Textures |
.ybn | Collisions — what you can walk on and bump into |
.ymap | Placement — where the interior and its props sit in the world |
.ytyp | Archetypes — the interior’s definition, rooms and portals |
“MLO” (Milo) is the game’s term for an interior with rooms and portals, which lets the engine hide what is outside when you are inside. That is why a proper MLO performs better than a building made of loose props.
#Installing
- Unzip the MLO into
resources/[maps]/and check the folder containsfxmanifest.luadirectly (not a folder inside a folder). - Open the manifest: it should look like the example below.
- Add
ensure the_mlo_nameto server.cfg, after any dependency the author lists. - Restart the server and walk to the location.
fx_version 'cerulean'
game 'gta5'
this_is_a_map 'yes'
-- files in stream/ are streamed automaticallySome MLOs also register their .ytyp explicitly with data_file 'DLC_ITYP_REQUEST' 'stream/name.ytyp'. Keep whatever the author shipped; do not add it if it is not there.
#Escrow (FXAP) MLOs
Most paid MLOs are protected with Cfx asset escrow. The files are encrypted and only decrypt on a server whose license key belongs to the Cfx account that bought the asset. If an escrowed MLO shows nothing, check that the server uses the right license key and that the asset is assigned to that account in the Cfx portal. Escrowed files cannot be opened or edited, so a broken escrowed MLO has to be fixed by its author.
#Conflicts: the source of most MLO problems
| Symptom | Likely cause |
|---|---|
| Invisible walls or walking into air | Collision from another map at the same spot |
| Interior flickers or props pop in and out | Two maps overlap and both draw there |
| Interior is empty or missing | The ytyp did not load, the MLO did not start, or an IPL loader removed it |
| Falling through the floor | Collision (.ybn) missing or not streamed yet |
| Original building still visible inside | The MLO expects a vanilla object to be removed; a required dependency is missing |
Many MLOs replace or build on vanilla interiors that bob74_ipl also manages. If both edit the same interior, start the MLO after bob74_ipl, or disable that interior in bob74_ipl’s config. Interiors and IPLs explains how IPL loading works.
#Performance and memory
Every MLO adds textures and models that clients stream when near it. A detailed MLO can easily carry textures above the size FiveM warns about; the server prints an “Asset … uses X MiB” line for anything over 16 MiB. Dozens of heavy MLOs downtown are a common cause of textures loading slowly or not at all — see the oversized assets warning.
Questions
How do I install an MLO in FiveM?
resources, make sure its fxmanifest.lua includes this_is_a_map 'yes', add ensure foldername to server.cfg and restart the server.Why is my MLO invisible?
What does this_is_a_map do?
Why do I fall through the floor of an MLO?
.ybn files are present and look for conflicting maps.Can MLOs conflict with bob74_ipl?
Ready to pick a map?
Twelve themes on three base map styles, $8 each, instant download.