> 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-mdt/configuration/core-settings.md).

# Core Settings

config/core.lua — open command and keybind, theme, tablet prop, debug logging, and Fivemanage media hosting.

Everything in `config/core.lua` belongs to the foundation rather than any one module.

## Opening the MDT

```lua
Config.Command = 'mdt'
Config.OpenKey = 'F6' -- players can rebind in FiveM's keybind settings; '' disables
```

`/mdt` and the keybind both go through the same server-side authentication. `Config.StayLoggedIn = true` skips the cosmetic "signing in" animation and drops officers straight onto the dashboard (identity is always resolved server-side either way).

## Require a physical MDT item

Make the tablet a piece of equipment officers actually carry:

```lua
Config.RequireItem = {
    enabled = false,
    item = 'mdt_tablet',
}
```

With `enabled = true`, opening the MDT — the command, the keybind, **and** the `Open()` export alike — requires the player to be **carrying** the item. Officers without one get *"You are not carrying your MDT device."* instead of the login screen. The check runs server-side in the authenticate step, so it can't be bypassed from the client.

* The item just has to **exist** in your inventory system ([definitions here](/mango5m-docs/resources/mango-mdt/configuration/inventory-items.md)) — it's carried, not "used", so it needs no usable-item wiring (and for ox\_inventory, no `server.export` line).
* With no inventory bridge active, the requirement is skipped rather than locking everyone out — same rule as the bodycam's `RequireItem`.

## Theme

```lua
Config.Theme = {
    accent = '#3b82f6',
}
```

The server-wide default accent colour. Any department can override it via the `color` column on its `mdt_departments` row — the UI derives hover/gradient shades from whichever accent is active automatically. See [Departments](/mango5m-docs/resources/mango-mdt/configuration/departments.md).

## The tablet prop

While the MDT is open, the officer physically holds a tablet and plays a holding animation — attached on open, removed on **every** close path.

```lua
Config.Tablet = {
    enabled = true,
    prop = 'prop_cs_tablet',
    bone = 28422,                 -- right-hand attach point
    offset = { 0.0, 0.0, 0.03 },
    rotation = { 0.0, 0.0, 0.0 },
    dict = 'amb@code_human_in_bus_passenger_idles@female@tablet@base',
    anim = 'base',
}
```

Set `enabled = false` to run with no prop or animation at all. The bone/offset/rotation and animation are config so you can retune how the tablet sits without editing the resource.

## Debug logging

```lua
Config.Debug = false
```

Verbose console logging. Leave off in production.

## Fivemanage media hosting

```lua
Config.Fivemanage = {
    apiKey = 'YOUR_FIVEMANAGE_API_KEY',
}
```

One shared API key for **all** MDT media — warrant photos and the composited warrant document, bodycam thumbnails and stills, CCTV snapshots. Get a key from your [Fivemanage](https://fivemanage.com) project dashboard.

* **Server-side only** — the key is never sent to any client or the UI.
* **Leave blank to disable** media uploads entirely — records still work, just without images.

{% hint style="danger" %}
Treat the API key like a password. Don't commit it to a public repo or paste it in Discord — anyone holding it can upload to your Fivemanage account.
{% endhint %}

## Framework resource names

```lua
Config.ESXResource = 'es_extended'
Config.QBCoreResource = 'qb-core'
Config.QBoxResource = 'qbx_core'
```

Only used for detection and exports — adjust if your framework resource is renamed.
