> For the complete documentation index, see [llms.txt](https://duddzy-scripts.gitbook.io/duddzy-scripts-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://duddzy-scripts.gitbook.io/duddzy-scripts-docs/scripts/duddzy-jail-3/installation.md).

# Installation

This page explains how to install DZ Customs on your FiveM server.

***

### Step 1: Download the Resource

Place the `dz_customs` folder inside your resources directory.

Example:

```
resources/[duddzy]/dz_customs
```

***

### Step 2: Install Dependencies

DZ Customs requires:

```
es_extended
ox_lib
oxmysql
```

Make sure these resources are installed and started before `dz_customs`.

Recommended `server.cfg` order:

```cfg
ensure ox_lib
ensure es_extended
ensure oxmysql
ensure dz_customs
```

***

### Step 3: Configure the Resource

Open:

```
dz_customs/shared/config.lua
```

Review the main settings:

```lua
Config.Interaction
Config.PaymentMethods
Config.Persistence
Config.Shops
Config.Blips
Config.Markers
Config.Logging
```

***

### Step 4: Start the Resource

After configuring the resource, restart your server or run:

```cfg
restart dz_customs
```

***

### Optional: ox\_target Setup

If you want to use ox\_target interaction, set:

```lua
Config.Interaction = 'target'
```

Then make sure `ox_target` is started before `dz_customs`:

```cfg
ensure ox_target
ensure dz_customs
```

If you do not use ox\_target, use:

```lua
Config.Interaction = 'textui'
```

***

### Optional: Chameleon Paint Setup

Chameleon paints should be installed as a separate resource.

Recommended structure:

```
resources/[duddzy]/dz_chameleonpaints
```

Your `server.cfg` order should be:

```cfg
ensure dz_chameleonpaints
ensure dz_customs
```

In `dz_customs/shared/config.lua`, enable chameleon support:

```lua
Config.Paint = {
    enableChameleon = true,
    requireExternalPaintResource = true,
    paintResourceName = 'dz_chameleonpaints'
}
```

Avoid restarting `dz_chameleonpaints` while players are connected. If you change streamed paint files or meta files, a full server restart is recommended.

***

### Optional: Society Payment Setup

If you want society payments, enable society payments in the config:

```lua
Config.PaymentMethods = {
    cash = true,
    bank = true,
    society = true
}

Config.SocietyPayment = {
    enabled = true,
    accountPrefix = 'society_',
    allowedJobs = {
        mechanic = true
    },
    requireBoss = false
}
```

Your server must have a compatible society account system, such as `esx_society` / `esx_addonaccount`.

Example society account:

```
society_mechanic
```

***

### Final Check

After installation, check your server console for any validation warnings or errors.

If the resource starts correctly, you should see DZ Customs shop blips and markers at your configured locations.
