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

# Installation

Install Quackmobil and spawn your first duck.

{% stepper %}
{% step %}

### Add the resource

Put the `quackmobil` folder into your `resources` folder. See [Installation basics](/organized-chaos-docs/installation-basics.md) for the download and the licence key.
{% endstep %}

{% step %}

### Start it

Add it to your `server.cfg`. If you restrict flying to jobs or use the items, start it after your framework and inventory:

```cfg
ensure quackmobil
```

{% endstep %}

{% step %}

### Restart the server

Restart the whole server once after adding the resource.
{% endstep %}

{% step %}

### Spawn a duck

Use a spawn name wherever your server spawns vehicles, for example with the `/car` command of your framework:

```
/car quackmobil
```

{% endstep %}

{% step %}

### Add the items (optional)

To give out the ducks as inventory items, add them to your inventory's item list. ESX servers run `install/esx_items.sql` once; the lines for QBCore and ox\_inventory are on the [Items](/organized-chaos-docs/quackmobil/items.md) page.
{% endstep %}
{% endstepper %}

## Spawn names

| Spawn name          | Name in game           |
| ------------------- | ---------------------- |
| `quackmobil`        | Quackmobil             |
| `quackmobil_hen`    | Quackmobil Hen         |
| `quackmobil_rubber` | Quackmobil Rubber Duck |

Use the same names for an entry in your vehicle shop or garage script. The items carry the same names.

## Requirements

{% hint style="warning" %}
OneSync has to be enabled on the server. Without it, other players do not see the flight mode.
{% endhint %}

A framework is optional. Qbox (`qbx_core`), QBCore (`qb-core`) or ESX (`es_extended`) is needed to restrict flying to jobs with `Config.Flight.AllowedJobs`, and for the items; ox\_inventory on its own carries the items too. The "Pick up duck" option needs ox\_target.

## What you can edit

The code ships encrypted. These files are left open:

| File                                       | What it is for                                                                                               |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| `config.lua`                               | Every setting and every text. See [Configuration](/organized-chaos-docs/quackmobil/configuration.md)         |
| `config_server.lua`                        | The Discord logging, server only. See [Discord logging](/organized-chaos-docs/quackmobil/discord-logging.md) |
| `server_exports.lua`, `client_exports.lua` | The exports for your own scripts. See [Exports](/organized-chaos-docs/quackmobil/exports.md)                 |
| `install/esx_items.sql`                    | The three items for an ESX database. See [Items](/organized-chaos-docs/quackmobil/items.md)                  |
| `data/handling.meta`                       | How deep the duck floats and how much the water slows it down                                                |
| `html/quack.wav`                           | The quack. Replace it with your own sound and keep the file name                                             |

Restart the resource after changing `config.lua`. After changing a file in `data/`, players have to reconnect.
