> 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/vehicles/cuxial-fuel/troubleshooting.md).

# Troubleshooting

Common Cuxial Fuel problems, with their cause and fix.

The most frequent problems after installing Cuxial Fuel, with the cause and the fix for each one.

<details>

<summary>The resource does not start</summary>

**Cause.** A dependency is missing or starts later than Cuxial Fuel. It needs OneSync, `ox_lib`, `oxmysql`, `cuxial_bridge`, `sleepless_interact`, `ox_inventory` and `cuxial_gas_assets`.

**Fix.** Enable OneSync and start the dependencies first:

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

```cfg
ensure ox_lib
ensure oxmysql
ensure cuxial_bridge
ensure ox_inventory
ensure sleepless_interact
ensure cuxial_gas_assets
ensure cuxial_fuel
```

{% endcode %}

</details>

<details>

<summary>The fuel level jumps, or two fuel systems react to the pumps</summary>

**Cause.** Another fuel resource is still running. Both write the level of the same vehicles.

**Fix.** Remove every other fuel script from `server.cfg` and restart the server. Cuxial Fuel answers the fuel exports that other resources ask for.

</details>

<details>

<summary>A pump shows no Refuel option</summary>

**Cause.** One of these:

* The model of that pump is not in `pumps.props`, or its entry has `enabled = false`.
* The player already holds a nozzle or has a jerry can equipped.
* `sleepless_interact` is not running.

**Fix.** Add the model to `pumps.props` in `shared/config.lua`, or remove `enabled = false`. For chargers, check `chargers.enabled` and `chargers.props`.

</details>

<details>

<summary>The pump opens a panel in the middle of the screen instead of its own screen</summary>

**Cause.** The pump screen is not available for that pump:

* Its model has no entry in `screen.models`.
* `screen.enabled` is `false`.
* The screen did not load. The F8 console of the player says so, and the usual reason is an incomplete `web/dist` folder after a partial upload.

**Fix.** For a model of your own, place the screen with `/fuel_screen` and paste the printed line into `screen.models`. If the screen did not load, make sure `web/dist/index.html` and the rest of `web/dist` exist inside the resource; if they do not, copy the resource again from the original package.

</details>

<details>

<summary>The screen is drawn in the wrong place on the pump</summary>

**Cause.** A position saved with `/fuel_screen` on your own game, or a wrong entry in `screen.models`.

**Fix.** Stand next to the pump, run `/fuel_screen` and press <kbd>Backspace</kbd>: the position saved on your game is removed and the one in the config is used again. Then adjust it and paste the new line into `screen.models`. Do not adjust the models with `mesh = true`.

</details>

<details>

<summary>Chargers, pump screens or totems are missing, or there is no sound</summary>

**Cause.** `cuxial_gas_assets` is not running or was not copied whole. It carries the charger model, the pump models with a screen, the totem screens and the sounds.

**Fix.** Copy `cuxial_gas_assets` again from the package and start it before `cuxial_fuel`. For sounds, also check `audio.enabled`. For totems, check `screen.totems.enabled`; only the nearest `maxDuis` totems are lit at once.

</details>

<details>

<summary>"This pump doesn't work with this vehicle"</summary>

**Cause.** An electric vehicle at a fuel pump, a fuel vehicle at a charger, or a vehicle that cannot refuel (listed in `data/blacklist.lua`, or with a tank of `0`).

**Fix.** If a custom electric model is treated as a fuel vehicle, add it to `chargers.vehicles`. On game builds older than 3258 that list is the only way electric vehicles are recognised.

</details>

<details>

<summary>The engine breaks a few seconds after refuelling</summary>

**Cause.** Wrong fuel. Diesel went into a vehicle that is not in `data/diesel.lua`, or another fuel went into one that is.

**Fix.** Repair the vehicle and refuel with the right fuel; buying a different fuel empties the tank first. If the model should run on diesel, add it to `data/diesel.lua`. The delay is `wrongFuelDelay`.

</details>

<details>

<summary>No money comes back when the nozzle is returned</summary>

**Cause.** One of these:

* `refundOnReturn` is `false`.
* Less than 1 L was left unused.
* The litres were spilled and `spill.customerPays` is `true`.
* With `cuxial_gasstations`, the till of the station pays the refund, up to what it holds.

**Fix.** Set `refundOnReturn = true`, and `spill.customerPays = false` if spilled litres should be refunded too.

</details>

<details>

<summary>The job discount is not applied</summary>

**Cause.** The player is off duty, or `jobDiscounts` uses the label of the job instead of its name. On ESX, the discount requires a version that reports duty status.

**Fix.** Use the internal job name as the key and go on duty. The jerry can never has a discount.

</details>

<details>

<summary>The jerry can cannot be bought</summary>

**Cause.** One of these:

* `jerryCan.enabled` is `false`.
* The item in `jerryCan.item` does not exist in `ox_inventory`, or the player cannot carry it.
* No fuel of the station has `jerryCan.requiredStock` litres in stock.
* The player is at a charger: cans are only sold at fuel pumps.

**Fix.** Check the item name and the stock. The money is given back whenever the can cannot be delivered.

</details>

<details>

<summary>"This gas station doesn't have enough stock" at a pump without an owner</summary>

**Cause.** That fuel has `false` in `defaults.stock`, or the purchase is over 1000 L, the limit of a pump that belongs to no station.

**Fix.** Set the fuel to `true` in `defaults.stock`. For chargers, check `stock` in `chargers.types`.

</details>

<details>

<summary>A vehicle forgets its fuel type after a restart</summary>

**Cause.** `saveAllFuelTypes` is `false` and the vehicle is not owned by a player, so its type is only kept in memory. It can also be a database error: the server console prints the failed query.

**Fix.** Set `saveAllFuelTypes = true` to save every vehicle, and check that `oxmysql` starts before `cuxial_fuel`.

</details>

<details>

<summary>There are no gas station blips on the map</summary>

**Cause.** `blips.enabled` is `false` by default, because `cuxial_gasstations` adds its own blips.

**Fix.** Without `cuxial_gasstations`, set `blips.enabled = true` and review the positions in `blips.coords`.

</details>

<details>

<summary>A resource sets the fuel but other players do not see the change</summary>

**Cause.** The client export `SetFuel` was called from a client that does not own the vehicle on the network.

**Fix.** Call it from the driver's client, or use the server export. See [Exports & events](/scripts/vehicles/cuxial-fuel/developers.md).

</details>


---

# 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/vehicles/cuxial-fuel/troubleshooting.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.
