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

# Installation

Requirements, database and items for ALT0 Boosting.

## Requirements

| Resource                                                     | Notes                                                                                                     |
| ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------- |
| [ox\_lib](https://github.com/overextended/ox_lib)            | Required                                                                                                  |
| [oxmysql](https://github.com/overextended/oxmysql)           | Required                                                                                                  |
| OneSync                                                      | Required (on by default on current FXServer)                                                              |
| Qbox (`qbx_core`), QBCore (`qb-core`) or ESX (`es_extended`) | Detected automatically, or set `Framework` in `configs/shared.lua`                                        |
| An inventory                                                 | ox\_inventory is recommended. qs-inventory, qb-inventory and the QBCore / ESX player inventory also work. |

Optional:

| Resource                                                              | What it adds                                                                           |
| --------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `alt-zero`                                                            | The hacking minigames (included). Without it, hacks fall back to ox\_lib skill checks. |
| `alt0-networks`                                                       | The Wi-Fi requirement for searching (included)                                         |
| `alt0-dispatch`, `alt0-mdt`, ps-dispatch, cd\_dispatch or qs-dispatch | Police alerts                                                                          |
| `qbx_vehicles`                                                        | Saving VIN-scratched cars on Qbox                                                      |

## 1. Add the resources

Start Boosting after its requirements, and alt-zero and Networks before it:

```cfg
ensure ox_lib
ensure oxmysql
ensure ox_inventory
ensure qbx_core        # or qb-core / es_extended
ensure alt-zero
ensure alt0-networks
ensure alt0-boosting
```

Then set up [alt-zero](/alt0-docs/alt-zero/alt-zero.md) and [ALT0 Networks](/alt0-docs/alt0-networks/installation.md).

## 2. Database

Run `database.sql` once (HeidiSQL, phpMyAdmin or `mysql < database.sql`). It only creates tables that don't exist yet. Later versions update the tables on their own.

## 3. Items

Add these to `ox_inventory/data/items.lua` and copy the images from `items/` to `ox_inventory/web/images/`:

```lua
['boosting_tablet'] = {
    label = 'Boosting Tablet', weight = 500, stack = false, close = true, consume = 0,
    description = 'Access to the underground boosting network',
    client = { event = 'alt0-boosting:client:openTablet' },
},
['hacking_device'] = {
    label = 'Hacking Device', weight = 200, stack = true, close = true,
    description = 'Bypasses vehicle door security and jams GPS trackers',
},
['gps_jammer'] = {
    label = 'GPS Jammer', weight = 300, stack = true, close = true,
    description = 'Jams a vehicle GPS tracker',
},
['signal_jacker'] = {
    label = 'SignalJacker V2', weight = 300, stack = true, close = true,
    description = 'Cracks secured Wi-Fi networks',
},
```

Which items open doors and jam trackers is set in `configs/shared.lua` → `Items`. Any item there works, for example `advancedlockpick` for doors.

On qb-inventory, add them to `qb-core/shared/items.lua` and copy the images from `items/` to `qb-inventory/html/images/` (no picture ships for the GPS jammer; add your own `gps_jammer.png`):

```lua
boosting_tablet = { name = 'boosting_tablet', label = 'Boosting Tablet', weight = 500, type = 'item', image = 'boosting_tablet.png', unique = true, useable = true, shouldClose = true, description = 'Access to the underground boosting network' },
hacking_device  = { name = 'hacking_device', label = 'Hacking Device', weight = 200, type = 'item', image = 'hacking_device.png', unique = false, useable = false, shouldClose = true, description = 'Bypasses vehicle door security and jams GPS trackers' },
gps_jammer      = { name = 'gps_jammer', label = 'GPS Jammer', weight = 300, type = 'item', image = 'gps_jammer.png', unique = false, useable = false, shouldClose = true, description = 'Jams a vehicle GPS tracker' },
signal_jacker   = { name = 'signal_jacker', label = 'SignalJacker V2', weight = 300, type = 'item', image = 'signal_jacker.png', unique = false, useable = false, shouldClose = true, description = 'Cracks secured Wi-Fi networks' },
```

On ESX without ox\_inventory, add them to the `items` table:

```sql
INSERT IGNORE INTO items (name, label, weight) VALUES
    ('boosting_tablet', 'Boosting Tablet', 1), ('hacking_device', 'Hacking Device', 1),
    ('gps_jammer', 'GPS Jammer', 1), ('signal_jacker', 'SignalJacker V2', 1);
```

**Black market:** the default store in `configs/server.lua` → `Store` also sells items from other scripts (C4, drills, keycards…). Remove any your server doesn't have. The store refuses to sell items your inventory doesn't know and prints a console warning, so players are never charged for them.

## 4. Admins

Admins are decided by `Functions.IsAdmin` in `configs/sv_functions.lua`: ACE permissions or your framework's admin permission. For example:

```cfg
add_ace group.admin alt0-boosting.admin allow
```

Admins get an Admin tab in the tablet. See [Commands and exports](/alt0-docs/alt0-boosting/commands.md).

## 5. Webhooks (optional)

Put Discord webhook URLs in `configs/server.lua` → `Webhooks` (`AdminLogs`, `ContractLogs`, `StoreLogs`). They stay on the server and are never sent to players.

## Next

* [Configuration](/alt0-docs/alt0-boosting/configuration.md)
* [Customization](/alt0-docs/alt0-boosting/customization.md) to connect your own key, dispatch or notification scripts
