> For the complete documentation index, see [llms.txt](https://mango-5m.gitbook.io/mango5m-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mango-5m.gitbook.io/mango5m-docs/resources/mango-prison/configuration/config-files-overview.md).

# Config Files Overview

What lives in each of the nineteen config files.

| File                       | Contains                                                                                                                                                                                                                                                                                                                                                                           |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `config/main.lua`          | Framework / inventory / target / notify / dispatch selection, interaction style, prisoner & guard jobs, terminal grades, officer duty, sentence rules, property handling, lockdown & riot behaviour, restrictions, intake cinematic & manual intake, mugshots, cutscene letterbox, HUD, map blips, ambience, framework-jail compatibility, admin command, the development switches |
| `config/locations.lua`     | **Every coordinate**: release point, intake, bus route, terminals, cell blocks, solitary, medical beds, visitation booths, commissary, all job stations                                                                                                                                                                                                                            |
| `config/zones.lua`         | Area polygons: blocks, mess, kitchen, laundry, gym, yard, medical, visitation, solitary, workshop — and the outer **boundary** (escape line)                                                                                                                                                                                                                                       |
| `config/doors.lua`         | ox\_doorlock door **names** grouped per cell / block / yard / medical / visitation / solitary / prison                                                                                                                                                                                                                                                                             |
| `config/jobs.lua`          | Prison job definitions — task chains, minigames, rewards, cooldowns, zones, clock-on markers                                                                                                                                                                                                                                                                                       |
| `config/kitchen.lua`       | The cooking shift: stations, station minigames, the recipe book, meal items, the serving counter props                                                                                                                                                                                                                                                                             |
| `config/timetable.lua`     | Daily schedule slots, meal tags, enforcement ladder                                                                                                                                                                                                                                                                                                                                |
| `config/clothing.lua`      | Prison outfits per gender (component lists) + optional wristband                                                                                                                                                                                                                                                                                                                   |
| `config/items.lua`         | Contraband list, visitor whitelist, smuggling, scrip, commissary counters and stock, cell stashes                                                                                                                                                                                                                                                                                  |
| `config/announcements.lua` | PA presets, sounds, and automatic announcements                                                                                                                                                                                                                                                                                                                                    |
| `config/behaviour.lua`     | Behaviour scoring weights, reward multipliers, trusty tier                                                                                                                                                                                                                                                                                                                         |
| `config/escape.lua`        | Escape stages, items, alert chances, cooldowns, penalties                                                                                                                                                                                                                                                                                                                          |
| `config/search.lua`        | The five cell-search minigames — which are in the rotation, the time limit, cooldown, penalties, and per-game tuning                                                                                                                                                                                                                                                               |
| `config/medical.lua`       | Medical wing, bed positions, treatment time, death/respawn handling                                                                                                                                                                                                                                                                                                                |
| `config/visitation.lua`    | Lawyer jobs, visit duration, accept timeout, lockdown gate                                                                                                                                                                                                                                                                                                                         |
| `config/cctv.lua`          | The camera network: models, offline duration after destruction, viewer look, streaming, the placement command                                                                                                                                                                                                                                                                      |
| `config/armory.lua`        | The armoury ped, what it issues, per-item allowances and grades                                                                                                                                                                                                                                                                                                                    |
| `config/webhooks.lua`      | Discord logging — a webhook URL per channel, colours and action routing                                                                                                                                                                                                                                                                                                            |
| `config/ui.lua`            | Terminal CRT theme (green/amber), hostname, boot sequence, sounds                                                                                                                                                                                                                                                                                                                  |

## Key settings in main.lua

```lua
Config.Framework = 'auto'          -- 'auto' | 'esx' | 'qb' | 'qbox'
Config.Inventory = 'auto'          -- 'auto' | 'ox_inventory' | 'qs-inventory' | 'origen_inventory'
                                   -- | 'codem-inventory' | 'qb-inventory' | 'framework' | 'custom'
Config.Target    = 'auto'          -- 'auto' | 'ox_target' | 'qb-target'
Config.Notify    = 'mango_notify'  -- 'mango_notify' | 'ox_lib' | 'custom'
Config.Clothing  = 'auto'          -- 'auto' | 'illenium' | 'skinchanger' | 'native'
Config.Ambulance = 'auto'          -- 'auto' | 'esx_ambulancejob' | 'qb-ambulancejob' | 'custom' | 'none'
Config.Dispatch  = 'auto'          -- 'auto' | 'mango_mdt' | 'ps-dispatch' | 'custom' | 'none'
```

`'auto'` detects what is running at boot. Set a value explicitly to force it. Running something the list doesn't cover? Fill in the matching file under `bridge/` and select `'custom'` — see [Bridges](/mango5m-docs/resources/mango-prison/developer-guide/bridges.md).

## Notification style

`Config.NotifyStyle` styles **this resource's** notifications only — the rest of your server's toasts keep their own mango\_notify settings.

```lua
Config.NotifyStyle = {
    position = 'top-center',   -- any of mango_notify's 9 positions
    width    = 480,            -- px (number) or any CSS value ('30vw')
    progress = true,           -- depleting bar instead of the static accent line
}
```

{% hint style="info" %}
`progress = true` matters visually: mango\_notify ships with `Config.ProgressBar = false`, which draws a short **static** accent line (38% wide) that never moves — easy to mistake for a stuck progress bar. Persistent notifications (duration `0`, like the head-count countdown) never show a bar. Set any value to `nil` to inherit your mango\_notify config instead.
{% endhint %}

## Sentences: minutes in, months out

Sentences are passed to the API in **real minutes** but shown to players as **months**:

```lua
Config.Sentence = {
    runWhileOffline = true,   -- time keeps ticking while the player is offline
    displayScale    = 1,      -- months shown per real minute (5 min -> "5 months")
    maxMinutes      = 720,    -- cap on a single jail call
    stack           = true,   -- jailing an active inmate adds time
}
```

With `displayScale = 10`, a 1-minute sentence displays as "10 months" — tune the fiction to your server's economy.

{% hint style="info" %}
Time accounting is lazy: one 60-second server timer settles everyone's clocks and releases anyone whose sentence hit zero. Everything persists — sentence, cell, behaviour, property — across restarts and disconnects.
{% endhint %}

## Development terminal

`Config.DevTerminal` opens the corrections terminal to **any** player via `/terminal` and makes the server **skip every authorisation check** — job, grade and proximity. It's there so you can iterate on the terminal UI while jailed, without swapping jobs.

```lua
Config.DevTerminal = {
    enabled     = false,   -- keep FALSE on a live server
    command     = 'terminal',
    warnSeconds = 60,
}
```

{% hint style="danger" %}
**Turn this off before your server goes public.** While it is enabled, *any* player can start lockdowns, issue write-ups, send inmates to solitary, edit sentences and broadcast on the PA.

So it can't be left on by accident, enabling it prints a warning to **every player's F8 console once a minute**, prints a banner to the **server console at boot**, and shows a blinking red **`[DEV MODE]`** tag in the terminal header.
{% endhint %}

With it disabled nothing is registered — no command, no warning thread, no bypass — so the resource's 0.00 ms idle cost is unaffected.

It is one of **four** development switches, all of which must be off on a public server. [Developer Mode](/mango5m-docs/resources/mango-prison/developer-guide/developer-mode.md) covers them and everything they unlock.

## Third eye or button

`Config.Interact` decides how each interaction is offered. `'target'` is a third-eye option; `'button'` is a marker you walk up to and press `[E]` at.

```lua
Config.Interact = {
    computers  = 'target',   -- the corrections terminals
    jobs       = 'button',   -- clocking on: kitchen, laundry, woodwork, metalwork
    visitation = 'button',   -- the visitation reception desk (and duty clock-on)
    armoury    = 'button',   -- the quartermaster ped
    commissary = 'target',   -- the prison shop counters
}
```

`jobs` covers **starting** a job only. The kitchen's own task stations stay on the third eye either way, since they are per-station work.

`visitation` also carries the officer duty clock-on, since the two share a desk — see [Officer Duty & HUD](/mango5m-docs/resources/mango-prison/features/officer-duty-and-hud.md).

{% hint style="info" %}
If **no target resource is installed**, everything set to `'target'` falls back to `'button'` automatically at boot and says so in the console — you don't have to change anything. Without that, those interactions would simply not exist.
{% endhint %}

## Officer duty

`Config.AutoDuty.enabled` is **off** by default, which means duty is manual — officers clock on at the visitation reception desk. Turn it on and holding the corrections job is enough. Full detail: [Officer Duty & HUD](/mango5m-docs/resources/mango-prison/features/officer-duty-and-hud.md).

## Intake

`Config.Intake` holds the bus cinematic and, under `Config.Intake.manual`, the alternative: **no cutscene**, with corrections officers escorting prisoners to the booking desk themselves. `Config.Mugshot` is the booking photo taken at the end of either route. Both are covered in [Intake & Property](/mango5m-docs/resources/mango-prison/features/intake-and-property.md).

## Discord logging

`config/webhooks.lua` gives **every channel its own webhook URL** — fourteen of them — and routes each audit action to one. Everything the terminal's LOGS page shows is also sent to Discord: [Discord Logging](/mango5m-docs/resources/mango-prison/configuration/discord-logging.md).
