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

# Configuration

The three files you edit in ALT0 MDT and what each setting does.

ALT0 MDT has three files for you to edit:

| File                | What's in it                                                                                                                                                        |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `config.lua`        | Agencies, ranks and permissions, duty and mugshot stations, radar, evidence, profile tags, processing, warrant approval, the financial audit, the citizen phone app |
| `config_server.lua` | Server-only secrets: the FiveManage key. Never sent to players.                                                                                                     |
| `integrations.lua`  | Billing, prison and inmate hooks. See [Integrations](/alt0-docs/alt0-mdt/integrations.md).                                                                          |

Keep these three files when you update.

## Agencies

```lua
Config.Jobs = {
    police  = { 'police', 'sahp', 'state', 'ranger' },
    sheriff = { 'sheriff', 'bcso' },
    ems     = { 'ambulance', 'medic', 'ems', 'doctor' },
}

-- Command rank = the job's boss flag, or this grade level and up
Config.CommandGrade = 4
```

Add your job names to the right side. A job's members see that agency's terminal and records. Who may do what inside it is set in [Permissions](/alt0-docs/alt0-mdt/permissions.md).

## Stations

| Setting                                                        | What it does                                                                                    |
| -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `Config.DutyStations`                                          | Duty terminals for police and EMS across the map. Lockers and evidence bags work near them.     |
| `Config.MugshotStations`                                       | Booking spots where officers take mugshots                                                      |
| `Config.MugshotSettings`                                       | Mugshot camera distance, height, field of view, flash, shutter sound and the booking board prop |
| `Config.VehiclePhotoStation`, `Config.VehiclePhotoSettings`    | Where vehicle inspection photos are taken and how the camera is placed                          |
| `Config.DrawMarker`, `Config.MarkerType`, `Config.MarkerColor` | Markers drawn at stations                                                                       |
| `Config.InteractDistance`, `Config.DrawDistance`               | How close players must be to use a station, and when markers appear                             |

## Photos

| Setting                    | What it does                                                                      |
| -------------------------- | --------------------------------------------------------------------------------- |
| `Config.ImageStorage`      | `'fivemanage'`                                                                    |
| `Config.AllowedImageHosts` | Image links officers may save on profiles and vehicles. Anything else is refused. |

## Radar and plate reader

```lua
Config.Radar = {
    speedUnit = 'kmh',      -- 'kmh' or 'mph'
    fastLimit = { ... },    -- auto-lock thresholds per unit
    autoFastLock = true,    -- lock on fast speeders automatically
    scanDistance = 45.0,    -- metres
    allowedJobs = { ... },  -- jobs that may use the radar and plate reader
}
```

## Evidence

`Config.Evidence` sets the camera items and how much their photos are trusted, the SD card, print and polaroid item names, the evidence bag items, how close to a duty station counts as "at the station" (`stationRadius`, plus `extraStations`), how many bags an officer takes at once (`bagsPerGrab`), and the shell casings left by serial-numbered guns (`casings`).

## Profiles and processing

| Setting                            | What it does                                                                                                      |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `Config.ProfileTags`               | Warning tags shown on profiles and in search (armed, violent, gang, flight risk and so on). Add or rename freely. |
| `Config.OfficerStatuses`           | Unit statuses officers can set from the MDT                                                                       |
| `Config.Processing.guiltyDiscount` | Share taken off the fine and the months for a guilty plea (`0.2` = 20%)                                           |
| `Config.Processing.maxMonths`      | Longest sentence one processing can give                                                                          |
| `Config.Processing.maxCount`       | Most times one charge can be counted                                                                              |
| `Config.WarrantApproval`           | Warrants from officers without `warrants.approve` become requests a supervisor approves or denies                 |

Charges, fines and months come from the penal code, which command staff edit inside the MDT.

## Financial audit

`Config.FinancialAudit` holds the thresholds for the financial audit. It needs ALT0 Bank. See [Financial audit](/alt0-docs/alt0-mdt/financial-audit.md).

## Citizen Services app

With `sd-phone` running, citizens get a phone app with their licences, record, fines and court dates, and can report a stolen vehicle:

```lua
Config.CitizenApp = {
    enabled = true,
    showWarrants = false,   -- tell people they have an open warrant
    -- name, description, icon settings ...
}
```

## Other

| Setting                     | What it does                               |
| --------------------------- | ------------------------------------------ |
| `Config.VersionCheck`       | Print update notices in the server console |
| `Config.PlayBiometricSound` | Play the biometric scan sound at stations  |
