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

# Configuration

> Naming a backend when detection guesses wrong, and where your logs go.

Two files. `config/core.lua` is who does what, `config/logs.lua` is where entries go. Both ship readable, so they are yours to edit.

## Everything is auto

Every backend setting defaults to `auto`, which means the bridge looks at what is running and picks it.

```lua config/core.lua theme={"dark"}
Config.Framework   = 'auto'   -- 'qbx' | 'qbcore' | 'esx' | 'standalone'
Config.Inventory   = 'auto'   -- 'ox_inventory' | 'qb-inventory' | ...
Config.Interaction = 'auto'   -- 'ox_target' | 'qb-target' | 'drawtext'
Config.Dispatch    = 'auto'   -- 'none' | any file in modules/dispatch/
Config.Keys        = 'auto'
Config.Fuel        = 'auto'
Config.Phone       = 'auto'
Config.Society     = 'auto'
Config.Xp          = 'auto'
```

Name one explicitly in two situations: your server runs two of something and you want to say which, or detection picked the wrong one.

```lua config/core.lua theme={"dark"}
Config.Dispatch = 'ps-dispatch'
```

<Note>
  Detection happens once, at load time. A resource that starts **after** the bridge cannot be seen by it, so the fix for "it did not detect my inventory" is nearly always the start order, not this file.
</Note>

## Seeing what it picked

```lua config/core.lua theme={"dark"}
Config.Announce = true   -- one line at boot naming what was picked for each job
Config.Debug = false     -- considerably more, for when that line is not enough
```

`Announce` is on by default and deliberately not behind `Debug`. It is the first thing anyone looks at when an Awoken script says nothing happened, and asking someone to turn on debugging before they can see it wastes a support round trip.

Anything reported as `none` usually means you do not run one, and occasionally it is the entire bug.

## Logging

```lua config/logs.lua theme={"dark"}
Config.Logs = {
    enabled = false,
    service = 'discord',   -- 'discord' | 'fivemerr' | 'fivemanage' | 'none'
}
```

For Discord this is the full webhook URL. For Fivemerr or Fivemanage it is the API key.

<Warning>
  Treat that value like a password. Anyone holding it can post to your channel. It lives in `config/logs.lua` rather than `core.lua` so it is easy to keep out of anything you share.
</Warning>

Channels are per resource, so each Awoken script can have its own feed without any of them needing to know the others exist. The list grows as you add resources, which is the reason it has a file to itself.

## A resource we do not support yet

Every file under `modules/` ships readable, one per resource the bridge talks to. If you run an in-house MDT, or a fork of a public one, you are not waiting on us.

See [Exports](/resources/awoken-bridge/exports) for the contract, and copy the nearest existing adapter as your starting point.
