> 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/es/nucleo/cuxial-admin/installation.md).

# Instalación

Instala Cuxial Admin paso a paso: dependencias, SQL, primer superadmin, convars y orden de arranque.

Cuxial Admin necesita importar un SQL y una fila de staff antes de que alguien pueda abrir el panel. No añade ítems al inventario.

{% stepper %}
{% step %}

## Comprueba las dependencias

Estos recursos deben estar instalados y funcionando antes de añadir el panel:

* `ox_lib`
* `oxmysql`
* `qbx_core`
* `cuxial_bridge`
* OneSync activado en el servidor

{% hint style="warning" %}
QBox es el único framework soportado. El manifest depende de `qbx_core`, así que el recurso se niega a arrancar sin él.
{% endhint %}

Las integraciones opcionales están en la [Introducción](/scripts/es/nucleo/cuxial-admin.md#requisitos). Ninguna hace falta para arrancar.
{% endstep %}

{% step %}

## Copia el recurso

Coloca la carpeta `cuxial_admin` dentro de tu directorio `resources`. No le cambies el nombre.
{% endstep %}

{% step %}

## Importa el SQL

Ejecuta `install/cuxial_admin.sql` en tu base de datos. Crea cinco tablas: `cuxial_admin_ranks`, `cuxial_admin_staff`, `cuxial_admin_sanctions`, `cuxial_admin_report_transcripts` y `cuxial_admin_audit`.

El recurso no crea sus tablas por sí solo. Sin esta importación fallan todas las consultas.
{% endstep %}

{% step %}

## Añade el primer superadmin

Añade tu cuenta de Discord como primer superadmin. El archivo SQL termina con una plantilla comentada para esta fila: sustituye `TU_ID_DE_DISCORD` por tu identificador de Discord y ejecútala.

```sql
INSERT INTO `cuxial_admin_staff` (`scope`, `identifier`, `label`, `rank`, `added_by`)
VALUES ('discord', 'TU_ID_DE_DISCORD', 'Tu nombre', 'superadmin', 'instalación');
```

* `scope = 'discord'` da el rango a esa cuenta de Discord, en todos sus personajes. El jugador debe tener Discord vinculado a FiveM.
* Para dárselo a un solo personaje, usa `scope = 'character'` y el citizenid del personaje como `identifier`.

El rango `superadmin` se crea la primera vez que arranca el recurso. Si añades la fila con el servidor en marcha, escribe `staffreload` en la consola del servidor para aplicarla.

A partir de aquí, concede y retira rangos desde el panel. Quien esté en `cuxial_admin_staff` como `superadmin` tiene el control total.
{% endstep %}

{% step %}

## Define las convars

Todas son opcionales. Sin ellas el panel funciona, con la función de ver pantalla y el panel web remoto apagados. El panel web remoto necesita además `remote.enabled = true` en `shared/config.lua`.

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

```cfg
# Idioma de las notificaciones y de los nombres de tecla (incluye en y es)
setr ox:locale "es"

# Staff que puede ver la pantalla de un jugador: identificadores de Discord separados por comas
set cuxial_admin_screen_owners "ID_DE_DISCORD_1,ID_DE_DISCORD_2"

# Relay de media opcional para ver pantalla
set sd_phone_relay_url "wss://TU_HOST_DE_RELAY/RUTA"
set sd_phone_relay_key "TU_CLAVE_HEX_DE_64_CARACTERES"
set sd_phone_relay_ttl "45"

# Panel web remoto opcional
set cuxial_admin_remote_url "http://TU_SERVICIO_DE_PANEL"
set cuxial_admin_remote_secret "TU_SECRETO_COMPARTIDO"

# Traza de SQL en la consola del servidor
set cuxial_admin_debug "0"
```

{% endcode %}

{% hint style="danger" %}
Escribe la clave del relay y el secreto remoto con `set`, nunca con `setr`. `setr` envía el valor a todos los jugadores.
{% endhint %}

Qué hace cada una se explica en [Configuración](/scripts/es/nucleo/cuxial-admin/configuration.md#convars).
{% endstep %}

{% step %}

## Arranca el recurso

Arranca el panel después de sus dependencias:

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

```cfg
ensure ox_lib
ensure oxmysql
ensure qbx_core
ensure cuxial_bridge
ensure cuxial_admin
```

{% endcode %}

Las integraciones opcionales se detectan con el servidor en marcha, así que su posición en la lista no importa.
{% endstep %}

{% step %}

## Comprueba que funciona

1. Entra al servidor con la cuenta que has añadido y carga un personaje.
2. Pulsa <kbd>U</kbd> o escribe `/admin`. Se abre el panel.
3. Abre el apartado de staff y comprueba que aparece tu rango.
4. Con otra cuenta, escribe `/report` y envía un mensaje. Aparece en la pestaña de reportes del panel.
   {% endstep %}
   {% endstepper %}

Siguiente: ajusta el panel a tu servidor en [Configuración](/scripts/es/nucleo/cuxial-admin/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/es/nucleo/cuxial-admin/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.
