> 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/core/cuxial-safezones/troubleshooting.md).

# Troubleshooting

Common Cuxial Safezones problems, with their cause and fix.

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

<details>

<summary>The resource does not start, or there are no zones after a restart</summary>

**Cause.** A dependency is missing or starts later. Cuxial Safezones needs `ox_lib`, `oxmysql` and `cuxial_bridge`. It can also be that the table could not be created.

**Fix.** Start the dependencies first and check the server console for `oxmysql` errors. The database user needs permission to create tables.

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

```cfg
ensure ox_lib
ensure oxmysql
ensure cuxial_bridge
ensure cuxial_safezones
```

{% endcode %}

</details>

<details>

<summary>/crearzona does nothing or says access denied</summary>

**Cause.** The player is not allowed the ACE `command.crearzona`.

**Fix.** Grant it to your staff group and restart the server:

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

```cfg
add_ace group.admin command.crearzona allow
```

{% endcode %}

</details>

<details>

<summary>The panel opens but saving says "You are not allowed to manage safe zones"</summary>

**Cause.** The player can run the command but is not allowed the ACE in `command.ace` (`admin` by default). The server checks it on every change.

**Fix.**

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

```cfg
add_ace group.admin admin allow
```

{% endcode %}

</details>

<details>

<summary>The cursor appears but the panel does not</summary>

**Cause.** The interface is not loading. The folder `web/build` is missing or incomplete, usually after a partial upload.

**Fix.** Make sure `web/build/index.html` exists inside the resource. If it does not, copy the resource again from the original package and restart the server.

</details>

<details>

<summary>"Too many changes at once. Wait a moment."</summary>

**Cause.** The staff member saved more than `limits.writes` changes within `limits.window`.

**Fix.** Wait a few seconds, or raise those values in `shared/config.lua`.

</details>

<details>

<summary>Players can still use weapons inside a zone</summary>

**Cause.** One of these:

* `ox_inventory` is not running. The weapons rule works through it.
* "Allow weapons" is on in the zone.
* `features.weapons` is `false`.
* The player is covered by an exception that skips weapons.

**Fix.** Review those points. Without `ox_inventory`, block the attack, aim and shoot controls in the zone.

</details>

<details>

<summary>A group exception does not apply</summary>

**Cause.** The player does not hold that permission in your framework. Groups are checked as framework permissions (`admin`, `mod`…) through `cuxial_bridge`.

**Fix.** Give the player that permission in your framework, and write the group in the exception exactly as the framework names it, without the `group.` prefix.

</details>

<details>

<summary>A job exception does not apply</summary>

**Cause.** The player's grade is below the minimum of the exception, or the exception is set to "only on duty" and the player is off duty.

**Fix.** Edit the exception in the panel. Job changes apply at once, without leaving the zone.

</details>

<details>

<summary>The zone does not protect players on upper floors or below ground</summary>

**Cause.** The zone is a volume with a floor and a ceiling. The player is above or below it.

**Fix.** Delete the zone and draw it again, raising the ceiling with the mouse wheel or lowering the floor with the arrow keys before pressing <kbd>Enter</kbd>.

</details>

<details>

<summary>A zone is in the panel but does nothing</summary>

**Cause.** The zone is turned off.

**Fix.** Select it in the panel and turn it on.

</details>

<details>

<summary>The sign does not show</summary>

**Cause.** The sign is off in that zone, or `features.textUI` is `false`.

**Fix.** Edit the zone and enable the sign, and keep `features.textUI = true`.

</details>

<details>

<summary>Zones from an earlier version are missing</summary>

**Cause.** Zones are copied from the old table `cuxialsz` only on the first start, and only while the new table `cuxial_safezones` is empty. Zones with an unreadable outline are skipped, and the console says how many.

**Fix.** Check the server console at start. The old table is never deleted, so the original data is still there.

</details>

<details>

<summary>Notifications appear in the wrong language</summary>

**Cause.** They follow the `ox:locale` convar.

**Fix.** Set it in `server.cfg` and restart. `en` and `es` are included:

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

```cfg
setr ox:locale "en"
```

{% endcode %}

</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/core/cuxial-safezones/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.
