> ## Documentation Index
> Fetch the complete documentation index at: https://help.freakhosting.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Install Custom Maps (YMAPs) in FiveM

> Transform your world with custom architecture. Learn how to stream .ymap files to add custom buildings, props, and modified terrain to your FiveM server.

## Re-Architecting Los Santos

Custom maps within the FiveM ecosystem are primarily managed through `.ymap` files, which contain coordinate data for object placement and environmental modifications. Whether you are implementing a high-detail police station interior or simply adding decorative vegetation to public spaces, these files must be "streamed" from the server to the client using a standardized resource structure. This guide ensure your custom terrain is correctly initialized and optimized for a smooth player experience.

<CardGroup cols={2}>
  <Card title="Difficulty" icon="gauge-low">
    Beginner
  </Card>

  <Card title="Time" icon="clock">
    5 Minutes
  </Card>
</CardGroup>

***

## Step 1: Architecting the Map Resource

To maintain engine compatibility and organizational clarity, raw `.ymap` files must be encapsulated within a dedicated resource container.

<Steps>
  <Step title="Initialize Directory">
    Create a new folder named `custom_map_pack` (or a similar descriptive identifier) within your server's `/resources/` directory.
  </Step>

  <Step title="Create the Stream Path">
    Inside your new folder, create a subfolder precisely named **`stream`**. This is the directory that the CitizenFX engine monitors for binary map assets.
  </Step>

  <Step title="Establish the Manifest">
    Create a file named `fxmanifest.lua` in the root of your `custom_map_pack` folder to define the resource metadata.
  </Step>
</Steps>

***

## Step 2: Technical Configuration

Your `fxmanifest.lua` must explicitly instruct the server to treat the directory as a mapping resource. Use the following baseline configuration:

```lua theme={null}
fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'
```

Place your `.ymap` files directly into the **`stream/`** folder. You can include dozens of unique placement files within a single resource to minimize your `server.cfg` entry count and improve loading efficiency.

***

## Common Technical Challenges

<AccordionGroup>
  <Accordion title="Resolving Z-Fighting & Flickering">
    If you observe textures "flickering" or fighting for visual priority, you likely have overlapping map data in the same coordinates. This frequently occurs when installing a custom modification for a high-traffic area (e.g., Legion Square) without disabling the corresponding vanilla map files using `IPL` commands or removing conflicting community resources.
  </Accordion>

  <Accordion title="Handling Missing Textures">
    If your custom buildings appear as invisible geometry or generic gray boxes, ensure that any associated `.ytd` (texture dictionary) files were also placed in the `stream/` directory along with the `.ymap` files.
  </Accordion>
</AccordionGroup>

<Tip>
  ### Activation

  Once your files are positioned, add **`ensure custom_map_pack`** to your `server.cfg`. The new geometry will be visible to all players upon their next connection to the server.
</Tip>

***

<Note>
  ### Need Extra Help?

  If you encounter any issues, our support team is ready to assist:

  * **Live Chat:** Quick assistance via our website.
  * **Support Ticket:** [Open a Ticket](https://freakhosting.com/clientarea/submitticket.php)
  * **Discord:** [Join our Community](https://discord.gg/freakhosting)
  * **Email:** [support@freakhosting.com](mailto:support@freakhosting.com)
</Note>

<Tip>
  ### Save on Your Hosting

  Ready to get a new server? Use code **KB20** at checkout for **20% off** your first month!
</Tip>

***

<div align="center">
  **Last Updated:** January 2026 | **FiveM:** Terrain modified.
</div>
