> 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-cmservices/commands.md).

# Comandos y permisos

Comandos y teclas de Cuxial Servicios Comunitarios, y el permiso de staff que necesita cada uno.

El staff sanciona con cuatro comandos y lo revisa todo desde un panel. Los jugadores no tienen comandos: solo usan la tecla de interacción.

## Comandos

| Comando                             | Quién               | Qué hace                                                                                         |
| ----------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------ |
| `/sanciones`                        | Staff (`group.mod`) | Abre o cierra el panel de sanciones.                                                             |
| `/comserv <id> <cantidad> <motivo>` | Staff (`group.mod`) | Da tareas comunitarias al jugador con ese id de servidor. El motivo puede tener varias palabras. |
| `/endcomserv <id>`                  | Staff (`group.mod`) | Quita las comunitarias de ese jugador y lo lleva al punto de salida.                             |
| `/jaila <id> <minutos> <motivo>`    | Staff (`group.mod`) | Envía al jugador a la cárcel administrativa durante esos minutos. El motivo es una palabra.      |
| `/endjail <id>`                     | Staff (`group.mod`) | Quita el tiempo de cárcel de ese jugador y lo lleva al punto de salida de la cárcel.             |
| `/taskcoords`                       | Todos               | Activa o desactiva la herramienta para mapear tareas.                                            |

{% hint style="info" %}
Todos los argumentos son obligatorios. `<id>` es el id de servidor de un jugador conectado. `<cantidad>` y `<minutos>` deben ser mayores que cero; los decimales se redondean hacia abajo.
{% endhint %}

### Reglas

* Un personaje tiene una sola sanción a la vez. `/comserv` y `/jaila` se rechazan mientras el jugador tenga comunitarias o cárcel activas.
* `/endcomserv` y `/endjail` solo actúan sobre un jugador que tiene esa sanción.
* El miembro del staff y el jugador reciben una notificación por cada sanción aplicada o quitada.
* Las sanciones aplicadas y las cumplidas se anuncian a todo el servidor en el chat.

## Panel de sanciones

`/sanciones` abre un panel con una pestaña por tipo de sanción. Cada pestaña lista todos los personajes con una sanción activa de ese tipo, conectados o no, con los datos de la sanción.

Desde el panel, el staff puede quitar una sanción a cualquier personaje de la lista. Un jugador conectado queda libre al momento; uno desconectado ya no la tendrá en su próxima entrada.

## Teclas

| Tecla        | Dónde                                                 | Qué hace                                                                                           |
| ------------ | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| <kbd>E</kbd> | En el punto de interacción de una tarea               | Empieza la tarea.                                                                                  |
| <kbd>E</kbd> | Herramienta para mapear tareas                        | Copia el objeto apuntado (modelo y posición), o la posición del suelo si no se apunta a un objeto. |
| <kbd>G</kbd> | Herramienta para mapear tareas, apuntando a un objeto | Copia una tarea completa para `config/shared.lua`.                                                 |
| <kbd>X</kbd> | Herramienta para mapear tareas                        | Cierra la herramienta.                                                                             |

## Herramienta para mapear tareas

`/taskcoords` te ayuda a escribir tareas nuevas sin teclear coordenadas a mano. Mientras está activa, una línea va de tu personaje al punto al que apuntas, hasta 50 metros. Los objetos se resaltan, y su modelo y posición se muestran en pantalla.

| Pulsas                       | Se copia al portapapeles                                                                                                  |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| <kbd>E</kbd> sobre un objeto | `object = { model = ..., coords = vec3(...) },`                                                                           |
| <kbd>E</kbd> sobre el suelo  | `coords = vec3(...),`                                                                                                     |
| <kbd>G</kbd> sobre un objeto | Una tarea completa con `coords`, `name`, `object` y `progress`, lista para pegar en una categoría de `COMSERV.taskZones`. |

Después de pegar una tarea completa, cambia su `name` y ajusta `progress` a la tarea. Los campos están explicados en [Configuración](/scripts/es/nucleo/cuxial-cmservices/configuration.md).

## Permisos

Los comandos de staff y el panel pasan dos comprobaciones:

| Comprobación          | Requisito                                                                       |
| --------------------- | ------------------------------------------------------------------------------- |
| Acceso al comando     | El jugador pertenece al grupo ACE `group.mod`, de forma directa o por herencia. |
| Permiso del framework | El jugador tiene el permiso `mod` del framework.                                |

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

```cfg
# Los moderadores tienen el permiso "mod"
add_ace group.mod mod allow

# Los administradores heredan lo que pueden hacer los moderadores
add_principal group.admin group.mod

# Una línea por miembro del staff
add_principal identifier.license:xxxxxxxxxxxxxxxx group.mod
```

{% endcode %}

El panel vuelve a comprobar el permiso `mod` en el servidor en cada petición, así que un jugador sin él no puede leer ni cambiar sus datos.


---

# 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-cmservices/commands.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.
