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

# Installation

Get Vision Boxing Creator running on your server in a few minutes.

## Requirements

| Resource                                               | Required | Notes                                                                      |
| ------------------------------------------------------ | -------- | -------------------------------------------------------------------------- |
| **OneSync**                                            | ✅ Yes    | Enabled in `server.cfg` or txAdmin (`set onesync on`).                     |
| [**ox\_lib**](https://github.com/overextended/ox_lib)  | ✅ Yes    | Commands, callbacks, keybinds.                                             |
| [**oxmysql**](https://github.com/overextended/oxmysql) | ✅ Yes    | Fight records and leaderboard.                                             |
| Framework                                              | Optional | Qbox, QBCore or ESX are detected automatically. Standalone works too.      |
| Inventory                                              | Optional | Only for the gloves item (ox\_inventory, qb-inventory, qs-inventory, ESX). |

## Install

{% stepper %}
{% step %}

### Add the resource

Download the asset from [portal.cfx.re](https://portal.cfx.re) and put the `Chapo_BoxingCreator` folder in your `resources` folder (for example `resources/[vision]/Chapo_BoxingCreator`).

{% hint style="warning" %}
Keep the folder name **exactly** `Chapo_BoxingCreator`. The gloves item and the exports use this name.
{% endhint %}
{% endstep %}

{% step %}

### Start it in server.cfg

Add it **after** ox\_lib, oxmysql and your framework:

```properties
ensure ox_lib
ensure oxmysql
ensure qbx_core        # or qb-core / es_extended
# ...
ensure Chapo_BoxingCreator
```

{% endstep %}

{% step %}

### Database

Nothing to do: the `chapo_boxing_stats` table is created on first start. If your database user can't create tables, run `sql/chapo_boxing.sql` yourself.
{% endstep %}

{% step %}

### Gloves item (optional)

Pick your inventory:

{% tabs %}
{% tab title="ox\_inventory" %}

1. Open `install/ox_inventory_item.lua` and paste the entry into `ox_inventory/data/items.lua`.
2. Copy `install/boxing_gloves.png` to `ox_inventory/web/images/`.
3. Restart the server.

```lua
['boxing_gloves'] = {
    label = 'Boxing Gloves',
    weight = 800,
    stack = false,
    close = true,
    consume = 0,
    description = 'Leather ring gloves. Use to lace them up or take them off.',
    client = { export = 'Chapo_BoxingCreator.useGloves', image = 'boxing_gloves.png' },
},
```

{% endtab %}

{% tab title="QBCore" %}

1. Paste the entry from `install/qb_items.lua` into `qb-core/shared/items.lua`.
2. Copy `install/boxing_gloves.png` to `qb-inventory/html/images/`.
3. Restart. The script registers the usable item by itself.

```lua
boxing_gloves = {
    name = 'boxing_gloves', label = 'Boxing Gloves', weight = 800, type = 'item',
    image = 'boxing_gloves.png', unique = true, useable = true, shouldClose = true,
    description = 'Leather ring gloves. Use to lace them up or take them off.',
},
```

{% endtab %}

{% tab title="ESX" %}

1. Run `install/esx_items.sql` on your database.
2. Restart. The script registers the usable item by itself.

```sql
INSERT IGNORE INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`)
VALUES ('boxing_gloves', 'Boxing Gloves', 1, 0, 1);
```

{% endtab %}

{% tab title="qs-inventory" %}
Add a `boxing_gloves` item to `qs-inventory/config/items.lua` in its own format, and copy the image. The script registers it as usable through qs-inventory.
{% endtab %}
{% endtabs %}

Don't want gloves as an item? Set `Config.Gloves.Item = false`. Gloves then only exist inside fights that use them.
{% endstep %}

{% step %}

### Set your framework and notifications

Open `config.lua`:

```lua
Config.Framework = 'auto'   -- 'auto' | 'qbx' | 'qb' | 'esx' | 'standalone'
Config.Notify = 'ox_lib'    -- see Configuration → Framework, notify & inventory
Config.Inventory = 'auto'
```

The server console prints the detected framework on start: `[Chapo_BoxingCreator] framework: qbx`.
{% endstep %}

{% step %}

### Give admins access

Admins are players with the ACE `command.boxingcreator`. With the default `group.admin`, this line (already in most server.cfg files) is enough:

```properties
add_ace group.admin command allow
```

Then in game: **`/boxingcreator`**. You're ready: follow the [Quick start](/visionstore-docs/scripts/boxing-creator/quick-start.md).
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Standalone servers** have no money system. Either turn off bets and purses (`Config.Betting.Enabled = false`, `Config.Purse.Enabled = false`) or connect your own economy in `bridge/sv_bridge.lua` (see [Custom framework](/visionstore-docs/scripts/boxing-creator/developers/custom-framework.md)).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://visionstore.gitbook.io/visionstore-docs/scripts/boxing-creator/installation.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
