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

# Installation

Install Cuxial Gardener step by step: dependencies, convars and start order.

Cuxial Gardener needs no SQL import and no inventory items. It creates its tables on first start, and the tools are part of the truck.

{% stepper %}
{% step %}

## Check the dependencies

These resources must be installed and working before you add the job:

* `ox_lib`
* `oxmysql`
* `cuxial_bridge`, with one of the supported frameworks: QBox, QBCore or ESX
* `sleepless_interact`
* OneSync enabled on the server

Two more come inside the package and are installed in the next step: `cuxial_jobs` and `cuxial_gardener_assets`.

`cuxial_garages` is optional. When it is running, every crew member receives the keys of the job trucks and lawn mowers, and loses them when the job ends. Without it no keys are handed out.

{% hint style="info" %}
The ladder used to cut branches is a game model that exists from game build 2944. With an older build the job still works, with a shorter ladder. To get the tall one, set `sv_enforceGameBuild` to 2944 or higher.
{% endhint %}
{% endstep %}

{% step %}

## Copy the resources

Place the three folders of the package inside your `resources` directory. Keep the folder names as they are.

* `cuxial_gardener`
* `cuxial_gardener_assets`
* `cuxial_jobs`

{% hint style="warning" %}
If you already own another Cuxial job, you already have `cuxial_jobs`. Keep a single copy, the most recent one.
{% endhint %}
{% endstep %}

{% step %}

## Set the convars

All of them are optional.

{% code title="server.cfg" %}

```cfg
# Language of the job (en and es are included)
setr ox:locale "en"

# Discord webhook for the job logs
set cuxial_gardener_webhook "https://discord.com/api/webhooks/..."

# Debug traces in the console
setr cuxial_gardener_debug "0"
```

{% endcode %}

{% hint style="info" %}
The webhook goes in `server.cfg`, never in `shared/config.lua`. The name of the convar can be changed in `logs.convar`. It is read when the resource starts: set it above the `ensure` lines.
{% endhint %}
{% endstep %}

{% step %}

## Start the resources

Start the job after its dependencies and after your framework:

{% code title="server.cfg" %}

```cfg
ensure ox_lib
ensure oxmysql
# your framework here (qbx_core, qb-core or es_extended)
ensure cuxial_bridge
ensure sleepless_interact
# optional
ensure cuxial_garages
ensure cuxial_jobs
ensure cuxial_gardener_assets
ensure cuxial_gardener
```

{% endcode %}

No SQL to run. On first start the job creates `cuxial_jobs_players`, `cuxial_jobs_runs`, `cuxial_jobs_run_members` and `cuxial_jobs_audit`. These tables are shared by all Cuxial jobs; each row is tagged with its job.

{% hint style="warning" %}
`cuxial_gardener_assets` adds a vehicle and two props. Restart the server after installing it, not only the resource, so every client loads them.
{% endhint %}
{% endstep %}

{% step %}

## Check that it works

1. Join the server and open the map. The gardener blip marks the job NPC.
2. Go to the NPC and use the interaction option. The job panel opens.
3. Pick the first region and press the start button. A truck and a lawn mower appear next to the NPC.
4. Follow the route to the region. Weeds, bushes and branches are marked on the map.
5. Type `/gardreset` to cancel the test job. The vehicles disappear.
   {% endstep %}
   {% endstepper %}

Next: adjust the job to your server in [Configuration](/scripts/jobs/cuxial-gardener/configuration.md).


---

# 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://docs.cuxial.com/scripts/jobs/cuxial-gardener/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.
