How to install an MLO on a FiveM server: stream, fxmanifest, ensure

Install an MLO or map on FiveM: the stream folder, fxmanifest.lua with this_is_a_map, the ytyp data_file line, ensure, game build and how to test it in game.

You downloaded a map pack with files such as .ymap, .ytyp, .ybn and .ydr, and you want it on your server. This guide shows the folder layout, the fxmanifest.lua, the server.cfg line and a quick way to test it in game.

What is inside a map pack

An MLO (a custom interior) or a map is a normal resource. The usual files are:

  • .ymap: where the objects and the interior sit in the world.
  • .ytyp: the definition of the interior and of its custom props (their "archetypes").
  • .ybn: the collisions. Without them you fall through the floor or walk through walls.
  • .ydr and .ydd: the 3D models of props and parts.
  • .ytd: the textures.

All of these go in a folder named stream. FiveM sends everything in stream to the players on its own, so you do not list those files in the manifest.

The folder structure

text
resources/[maps]/my_mlo/
  fxmanifest.lua
  stream/
    my_mlo.ymap
    my_mlo.ytyp
    my_mlo.ybn
    my_mlo_props.ydr
    my_mlo.ytd

Many packs come with another level, such as my_mlo-master/my_mlo/. Move the folder that holds fxmanifest.lua into resources, or the server cannot find the resource.

The fxmanifest.lua

If the pack comes without a manifest, create one:

lua
fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

this_is_a_map 'yes' tells FiveM the resource holds map data. If the pack has a .ytyp file, add the line that registers it:

lua
fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

data_file 'DLC_ITYP_REQUEST' 'stream/my_mlo.ytyp'

Use one data_file line per .ytyp file. The path is the real path in the folder, so check the name and the case of the letters.

Tip: if the pack already came with a manifest, keep it. The author wrote it for these exact files, and it often lists several .ytyp files or extra options you do not want to guess.

Add it to server.cfg

cfg
ensure my_mlo

The name after ensure must be the folder name. To start a whole group, put the maps in a bracket folder and use ensure [maps]. Maps do not depend on your framework, but start them after your other base resources so a map error cannot block the important ones. More on that in server.cfg resource order.

Restart the server, or type ensure my_mlo in the txAdmin live console. A new .ytyp is more reliable with a full restart.

Game build requirement

Some maps use props or models from a newer GTA V DLC. On the default game build, those props are missing: you see empty rooms, a white box or no interior at all. The pack's page usually says the build it needs. Set it in server.cfg and restart:

cfg
set sv_enforceGameBuild 3095

The number above is only an example: use the one the pack asks for. The full list and the side effects are in sv_enforceGameBuild and DLC.

Test it in game

  1. Read the txAdmin console on start. Errors such as a missing file in data_file show up there. If the resource does not start, see couldn't start resource.
  2. Join the server. Go to the coordinates in the pack's readme, with the txAdmin menu's teleport or a coordinate command from your admin script.
  3. Walk through the door. A custom interior often loads only when you are close, so arrive on foot and not from far away at high speed.
  4. Check the floor and the walls. If you fall or pass through, the .ybn files are missing or did not load. See falling through the map.

Common problems

  • The interior does not appear. The resource is not started, the coordinates are wrong, or a newer game build is needed. Also check that the files are inside stream and not one level deeper in a subfolder that the resource does not use.
  • Props are missing, but walls are there. The .ytyp is not registered. Add the DLC_ITYP_REQUEST line, with the right file name.
  • Part of the room flickers or walls are gone. Another map covers the same area. See map conflicts.
  • Textures look wrong or heavy. Large textures cost streaming memory. See oversized assets.
  • It worked, then broke after an update. Clear the client cache and try again: clear the FiveM cache.

Many maps on one server

Every map adds streamed files that each player downloads and keeps in memory. Install only the maps you use, put each one in its own resource and name it clearly. When something breaks, you can then stop one resource at a time and find the cause.

Checklist

Symptom Fix
Resource does not start Check that fxmanifest.lua is in the root of the resource and every data_file path exists
Nothing at the coordinates ensure the resource, check the coordinates and the game build
Missing props Add data_file 'DLC_ITYP_REQUEST' for each .ytyp
Fall through the floor The .ybn collision files are missing or in the wrong folder
Flicker or missing walls Another map covers the same area: find it and remove one
Map needs a DLC Raise sv_enforceGameBuild to the build the pack asks for

Quick answers

Do I need a data_file line for every MLO?

No. Most MLOs only need the stream folder and a manifest. The DLC_ITYP_REQUEST line is needed when the pack ships a .ytyp file that holds its custom props and interior definitions, and the pack's own manifest usually shows it.

Where do I put the MLO folder?

Anywhere inside resources, for example resources/[maps]/my_mlo. Then add ensure my_mlo, or ensure [maps] to start everything in the bracket folder.

The MLO is installed but I see nothing. What should I check?

Check that the resource started without errors, that you are at the right coordinates, and that no other map resource covers the same place. Then check the game build the pack asks for.

Scripts that skip this problem

Shop CreatorBuild a shop in under a minute — owners, employees, vaults and robberies included.View script →CCTV Security CamerasPlaceable cameras, a live multi-view tablet and printed evidence photos.View script →Arcade MachinesSeven playable arcade games in real cabinets, with leaderboards and bets.View script →

Keep reading