How to add a mapping to your FiveM server: the complete guide
Customizing the map of your FiveM server is what makes all the difference between a generic server and a truly immersive universe. Mappings allow you to add buildings, interiors, decorations, and entire areas that do not exist in the base GTA V.
In this guide, we will see what exactly a mapping is, how it is structured, how to install it correctly on your server, and how to avoid common mistakes. Whether you are adding a custom police station, a hospital, or a complete MLO interior, you will have all the keys in hand.
What exactly is a mapping?
A mapping (or map) is a modification of the GTA V environment that allows you to add elements to the game world. Specifically, it can be:
- Exterior buildings and structures
- Accessible interiors (MLO)
- Furniture and decorative objects
- Terrain modifications
- Entirely new areas
Mappings work like any other FiveM resource: you place them in your resources folder, declare them in the server.cfg, and the server loads them at startup.
Structure of a mapping
A well-organized mapping always follows the same folder structure. Here’s what it looks like:
mapping-name/
├── fxmanifest.lua
├── stream/
│ ├── file1.ymap
│ ├── file2.ytyp
│ └── file3.ybn
└── data/ (optional)
└── file.meta
The main files
fxmanifest.lua — The mandatory configuration file that tells FiveM how to load the resource.
stream/ folder — Contains the files of the mapping itself:
.ymap: positions and placements of objects.ytyp: definitions of object types.ybn: collisions (so players do not pass through).ytd: textures (if the mapping uses custom ones)
data/ folder (optional) — Contains .meta files for additional configurations.
Create a fxmanifest.lua if the mapping does not have one
Some downloaded mappings do not have a manifest file. Without it, FiveM cannot load the resource. Here’s how to create one.
Basic manifest (simple mapping)
If your mapping only contains a stream/ folder with .ymap, .ytyp, and .ybn files, use this manifest:
fx_version 'cerulean'
game 'gta5'
author 'YourName'
description 'Mapping description'
version '1.0.0'
this_is_a_map 'yes'
The line this_is_a_map 'yes' is essential: it tells FiveM that this resource is a mapping and that it should automatically load the files from the stream/ folder.
Manifest with data files
If your mapping also contains a data/ folder with .meta or .ytyp files, add the corresponding declarations:
fx_version 'cerulean'
game 'gta5'
author 'YourName'
description 'Mapping description'
version '1.0.0'
this_is_a_map 'yes'
files {
'data/*.meta'
}
data_file 'DLC_ITYP_REQUEST' 'data/*.ytyp'
Manifest for an MLO (interior)
MLOs are more complex interior mappings. Their structure looks like this:
mlo-interior/
├── fxmanifest.lua
└── stream/
├── interior.ymap
├── interior.ytyp
├── interior_shell.ybn
└── textures.ytd
And the corresponding manifest:
fx_version 'cerulean'
game 'gta5'
this_is_a_map 'yes'
files {
'stream/*.ytyp'
}
data_file 'DLC_ITYP_REQUEST' 'stream/*.ytyp'
Note: Some MLOs require additional scripts to define entry and exit points. Check the documentation of the mapping you are installing.
Installing the mapping on your server
Once your mapping is ready with its fxmanifest.lua, the installation is simple.
Step 1: Upload the folder
Log in to your server's file manager OuiHeberg / OuiPanel and navigate to the resources folder. Create a subfolder to organize your mappings if you have multiple, for example [mappings].
Upload the complete folder of your mapping into resources/[mappings]/.
[IMAGE: Screenshot of the file manager showing the resources tree with a mappings folder containing several maps]
Step 2: Declare in server.cfg
Open your server.cfg file and add a line ensure to load the mapping:
ensure mapping-name
If you have multiple mappings, add one line per mapping:
# Mappings
ensure mapping-police-station
ensure mapping-hospital
ensure mapping-garage
Important: For mappings, always use
ensureinstead ofstart. Theensurecommand is more reliable for this type of resource.
Step 3: Respect the loading order
The order of resources in server.cfg can be important. Generally, load your mappings after the framework but before the job scripts that use them:
# Framework
ensure es_extended
ensure esx_skin
# Mappings
ensure mapping-police-station
ensure mapping-hospital
# Job scripts
ensure esx_policejob
ensure esx_ambulancejob
Step 4: Restart the server
Restart your server for the mappings to be loaded. Check the logs at startup: if everything is fine, you should not see any errors related to your mappings.
Check that the mapping works
Once the server is restarted, log in to the game and go to the coordinates of the mapping. Most creators indicate the coordinates in the description or in a readme file.
If you do not know the coordinates, you can look them up in the .ymap files of the mapping or use a teleport command if you have an admin menu.
Troubleshooting common issues
The mapping does not display
- Check that the
fxmanifest.luaexists and containsthis_is_a_map 'yes' - Check that the
ensureline is present inserver.cfg - Check the server logs for loading errors
- Make sure you are at the correct coordinates in-game
Collisions do not work (you pass through)
- The
.ybnfile is probably missing or incorrectly named - Check that the collision file corresponds to the mapping
Error on server startup
- Carefully read the error message in the logs
- Check the syntax of the
fxmanifest.lua - Make sure all referenced files exist
The mapping causes lags
Some very detailed mappings can impact performance. Here are a few tips:
- Reduce the rendering distance in the mapping settings if it is configurable
- Avoid stacking too many mappings in the same area
- Prefer optimized mappings tested by the community
Best practices
Organize your mappings
Create a [mappings] folder in your resources to group all your mappings. This makes management and maintenance easier:
resources/
├── [mappings]/
│ ├── mapping-police-station/
│ ├── mapping-hospital/
│ └── mapping-garage/
├── [esx]/
└── ...
Test before deploying
Always test a new mapping on a test server before adding it to your main server. This avoids unpleasant surprises in production.
Backup regularly
Before adding or modifying mappings, make a backup of your server. At OuiHeberg, you can create backups directly from the panel.
In summary
Adding mappings to your FiveM server is quite simple once you understand the logic: a folder with the mapping files, a well-configured fxmanifest.lua, and an ensure line in the server.cfg. MLOs (interiors) sometimes require a bit more configuration, but the principle remains the same.
Want to customize your FiveM server with custom mappings? OuiHeberg offers FiveM hosting plans with easy access to your files to install and manage your resources easily.

