> 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-boosting/configuration.md).

# Configuration

The files you edit in ALT0 Boosting and their main settings.

| File                                                   | What's in it                                                                                                                                                                                               |
| ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `configs/shared.lua`                                   | Framework, tablet, tool items, vehicle pool and upgrades, guards, contract search, dispatch, notifications, hacking, Wi-Fi, delivery and spawn points, classes, and the switches for crates and intercepts |
| `configs/server.lua`                                   | Rewards per class, police requirements, squad size and payouts, VIN scratching, black market, webhooks, admin permission                                                                                   |
| `configs/client.lua`                                   | Blips, NPC models, guard profiles, interaction distances, black market pickup spots                                                                                                                        |
| `configs/vehicles.lua`                                 | The cars in each class                                                                                                                                                                                     |
| `configs/cl_functions.lua`, `configs/sv_functions.lua` | Notifications, dispatch, vehicle keys, inventory, police check, admin check, webhooks. See [Customization](/alt0-docs/alt0-boosting/customization.md).                                                     |
| `bridge/framework/`                                    | One folder per framework (`qbx`, `qb`, `esx`) and a `custom` template. See [Customization](/alt0-docs/alt0-boosting/customization.md).                                                                     |

Keep `configs/` and `bridge/` when you update, then compare them with the new ones for added options.

## configs/shared.lua

### General

```lua
Debug = false,          -- detailed console logs
VersionCheck = true,    -- print update notices in the server console
Framework = 'auto',     -- 'auto', 'qbox', 'qb', 'esx' or 'custom'
```

`'auto'` detects Qbox, then QBCore, then ESX.

### Tablet

```lua
Tablet = {
    Item = 'boosting_tablet', -- needed to open the tablet, join squads and receive transfers
    Command = 'boosting',     -- chat command (false = no command)
    Keybind = false,          -- default key, e.g. 'F7'; players can rebind it in GTA settings
},
```

### Tool items

Any one item from a list is enough. The "Pro" lists give the easier tier in the alt-zero minigames.

```lua
Items = {
    DoorTools = { 'hacking_device', 'hacking_device_pro', 'pro_hacker', 'advancedlockpick' },
    DoorToolsRankD = { 'lockpick', 'slim_jim' }, -- extra tools accepted on D class only
    GpsTools = { 'gps_jammer', 'gps_hacker', 'hacking_device_pro', 'pro_hacker', 'hacking_device' },
    ProDoorTools = { 'hacking_device_pro', 'pro_hacker' },
    ProGpsTools = { 'gps_hacker', 'hacking_device_pro', 'pro_hacker' },
},
```

### Vehicles

```lua
VehiclePool = 'gabz', -- 'gabz' or 'native'
```

`ClassUpgradePercentages` sets how upgraded the contract cars are per class, from stock D-class cars to fully upgraded S and S+.

### Contracts

| Setting                                               | What it does                                                                                                              |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `ContractExpiry`                                      | Minutes a found contract stays available (default 60)                                                                     |
| `ContractSearch`                                      | Search time: a base time reduced by the network's bandwidth, between a minimum and a maximum                              |
| `TransferMaxDistance`, `TransferTimeout`              | How close a player must be to receive a contract, and how long an offer stays open                                        |
| `Classes`                                             | XP needed for each class: D 0, C 1,000, B 4,000, A 10,000, S 22,000                                                       |
| `DeliveryPoints`, `SpawnPoints`, `SheriffSpawnPoints` | Where cars are delivered and where they spawn. `EnableSheriffPositions` adds spawn points in Sandy Shores and Paleto Bay. |

### Guards

```lua
Guards = {
    enabled = true,
    detectionDistance = 25.0,  -- metres at which guards spot the player
    smartCover = true,         -- tactical cover and movement
    counts = { ['C'] = { min = 2, max = 3 }, ... }, -- guards per class
},
```

### Police alerts

```lua
Dispatch = {
    -- 'alt0-mdt', 'alt0-dispatch', 'ps-dispatch', 'cd_dispatch', 'qs-dispatch', 'custom' or 'none'
    System = 'alt0-dispatch',
    Code = '10-16',
    Title = 'Vehicle Theft',
    BlipDuration = 15000,      -- ms
    RankDispatch = { ['D'] = false, ['C'] = true, ['B'] = true, ['A'] = true, ['S'] = true },
},
```

`RankDispatch` decides which classes alert the police. D class doesn't by default. For another dispatch script, see [Customization](/alt0-docs/alt0-boosting/customization.md).

### Notifications

```lua
Notification = {
    System = 'alt0', -- 'alt0' (alt0-notify) or 'lib' (ox_lib)
},
```

`'alt0'` falls back to ox\_lib when alt0-notify isn't running. For any other notification script, see [Customization](/alt0-docs/alt0-boosting/customization.md).

### Hacking

```lua
Hacking = {
    System = 'alt-zero',   -- 'alt-zero', 'tablet', 'ox_lib' or 'custom'
    Fallback = 'ox_lib',   -- used when the main system isn't running
    RankConfig = { ... },  -- per class: alt-zero classes for doors and GPS, fallback difficulty, GPS hacks and cooldown
},
```

`WifiHacking` sets the minigames for breaking into secured networks from the tablet.

### Wi-Fi

```lua
Network = {
    Required = true,        -- a Wi-Fi connection is needed to search for contracts
    FallbackBandwidth = 5,  -- Mbps used when Required is false and there is no network
},
```

### Crates

`EnableCrates` turns the Darknet Crates hub on or off (on by default). What drops, and how likely, is in `configs/server.lua` under `Crates` and `CrateOptions`: see [Darknet Crates](/alt0-docs/alt0-boosting/crates.md).

### Intercepts

`EnableIntercept` turns the Intercept tab and PvP hijacking on or off (on by default). The tuning is in `configs/server.lua` under `Hijack`: see [PvP intercepts](/alt0-docs/alt0-boosting/hijacking.md).

## configs/server.lua

### Admins, police and security

| Setting                    | What it does                                                                             |
| -------------------------- | ---------------------------------------------------------------------------------------- |
| `AdminPrincipal`           | ACE principal counted as admin (default `group.admin`)                                   |
| `AllowedImageHosts`        | Image hosts allowed for profile pictures                                                 |
| `DisablePoliceRequirement` | `true` ignores every police requirement                                                  |
| `RequiredPolice`           | Police needed on duty for any contract, on top of each class's `cops`                    |
| `PoliceJobs`               | Jobs that count as police when on duty. Qbox and QBCore jobs of type `leo` always count. |

### Gameplay

| Setting                  | What it does                                                                                      |
| ------------------------ | ------------------------------------------------------------------------------------------------- |
| `VinScratchingEnabled`   | Allow keeping a car. A class can be kept when its `vinPrice` is above 0 (A, S and S+ by default). |
| `EngineDamagePenalty`    | Cash removed per 1% engine damage on delivery (0 = off)                                           |
| `MaxEngineDamagePenalty` | Most of the payout the damage penalty can take (0.5 = half)                                       |
| `MaxSquadSize`           | Players per squad, leader included (default 4)                                                    |
| `SquadScaling`           | Squad payouts. See [Squads](/alt0-docs/alt0-boosting/squads.md).                                  |

### Classes

`ClassConfig` sets each class's buy-in, rewards, police requirement and GPS hacks:

```lua
ClassConfig = {
    ['A'] = {
        buyPrice = {300, 500},       -- crypto to accept the contract
        reward = {24500, 35000},     -- cash on delivery
        crypto = {440, 715},         -- crypto on delivery
        vinPrice = 2500,             -- crypto to keep the car
        xp = 480,                    -- XP per contract
        cops = 10,                   -- police needed on duty
        hackDifficulty = {'easy', 'medium', 'hard', 'medium'},
        gpsHacks = 10,               -- hacks to disable the GPS tracker
        gpsCooldown = 28,            -- seconds between GPS hacks
    },
    -- D, C, B, S and S+ ...
},
```

The defaults for every class are on [Contracts](/alt0-docs/alt0-boosting/contracts.md).

### Black market and webhooks

`Store` lists the black market items. See [Black market](/alt0-docs/alt0-boosting/black-market.md). `Webhooks` takes Discord webhook URLs for `AdminLogs`, `ContractLogs` and `StoreLogs`.

## configs/client.lua

| Setting                            | What it does                                                                                  |
| ---------------------------------- | --------------------------------------------------------------------------------------------- |
| `NotificationPosition`             | Where ox\_lib notifications appear                                                            |
| `Blips`                            | Search area, delivery point and black market pickup blips                                     |
| `DealerPed`, `GuardProfiles`       | NPC models for the delivery dealer and guards                                                 |
| `HackDistance`, `DeliveryDistance` | Interaction distances                                                                         |
| `MarketPed`, `MarketLocations`     | The black market pickup NPC and the spots it can appear                                       |
| `ImpoundCommand`                   | Optional client command for your impound script (`false` = off; impounds are detected anyway) |

## configs/vehicles.lua

Each class has a list of model names, for Gabz add-on cars and for native GTA cars. `VehiclePool` in `configs/shared.lua` picks which list is used:

```lua
['D'] = {
    'blista', 'brioso', 'dilettante', 'issi2', 'panto', -- ...
},
```

To add a car, put its spawn name in the class list for the pool you use, then restart the resource.
