> ## Documentation Index
> Fetch the complete documentation index at: https://rust-co.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuración

> Cada opción de RCO Creator, explicada.

Creator tiene dos archivos de config, ambos dentro de `rco-creator/config/` — eso es todo lo que necesitas tocar:

| Archivo      | Qué contiene                                                                                               | Quién puede leerlo      |
| ------------ | ---------------------------------------------------------------------------------------------------------- | ----------------------- |
| `config.lua` | Opciones de gameplay: slots, reglas de edad, escenario de selección, comportamiento de spawn               | Compartido con clientes |
| `server.lua` | Todo lo sensible: overrides de slots por jugador, token del bot Discord, permiso de admin, paquete inicial | Solo servidor           |

No hace falta tocar nada fuera de estos dos archivos. Tras editar, reinicia el resource (`restart rco-creator`) para aplicar cambios.

## General

```lua theme={"dark"}
Config.Framework = 'auto'  -- auto | rsg | vorp
Config.Debug = false
Config.Locale = 'en'       -- en | pt-BR
```

* **Framework** – déjalo en `auto`. Ponlo explícito solo si la consola dice que la detección falló o encontró ambos cores.
* **Debug** – imprime diagnósticos extra en consola. Déjalo apagado en un servidor en vivo.
* **Locale** – idioma de la UI en pantalla. Los textos están en `rco-creator/locales/`; puedes añadir el tuyo copiando `en.json`.

## Personajes y slots

```lua theme={"dark"}
Config.MaxCharacters = 5
Config.DefaultCharacterSlots = 4
Config.AllowCharacterDelete = true
Config.AllowLogoutCommand = true
Config.LogoutCommand = 'logout'
```

* **MaxCharacters** – el techo duro. Nadie puede tener más, sin importar overrides.
* **DefaultCharacterSlots** – cuántos slots recibe cada jugador por defecto.
* **AllowCharacterDelete** – si los jugadores pueden borrar sus personajes desde la selección.
* **AllowLogoutCommand / LogoutCommand** – permite `/logout` para volver a selección sin reconectar.

¿Quieres dar más slots a ciertos jugadores o roles de Discord? Ver [Slots de personaje](/es/rco-creator/character-slots).

## Reglas de identidad

```lua theme={"dark"}
Config.CharacterNameMaxLength = 24
Config.NationalityMaxLength = 32
Config.IdentityReferenceDate = '1899-01-01'
Config.MinimumAge = 18
Config.MaximumAge = 100
Config.BirthYearMin = nil
Config.BirthYearMax = nil
```

La edad se calcula contra **IdentityReferenceDate**, el "hoy" de tu mundo roleplay. Con los valores por defecto, un personaje debió nacer entre 1799 y 1881.

Si tu servidor se sitúa en un periodo posterior, mueve la fecha de referencia y, opcionalmente, limita el año de nacimiento:

```lua theme={"dark"}
Config.IdentityReferenceDate = '1940-01-01'
Config.BirthYearMax = 1920
```

Deja `BirthYearMin` / `BirthYearMax` en `nil` para que Creator los calcule desde el rango de edad.

**Nationalities** es una lista simple de strings en el formulario de creación. Añade, quita o traduce entradas libremente:

```lua theme={"dark"}
Config.Nationalities = {
    'American',
    'Mexican',
    -- ...
}
```

Todas estas reglas se aplican en el servidor. Un cliente modificado no puede saltárselas.

## Escenario de selección

```lua theme={"dark"}
Config.Selection = {
    period = 'night',              -- night | day
    hideLockedSlotGhosts = false,
    snapPedsToGround = true,
    idleAnimation = { ... },
    focusCamera = { ... },
}
```

* **period** – hora del día en el escenario de selección. El override de clima solo aplica si el resource RSG `weathersync` está activo.
* **hideLockedSlotGhosts** – por defecto, los slots aún no desbloqueados aparecen como siluetas desvanecidas. Pon `true` para ocultarlos del todo.
* **snapPedsToGround** – mantiene los peds plantados en el suelo del escenario.
* **idleAnimation / focusCamera** – la pose y el encuadre de cámara del personaje seleccionado. Los valores por defecto van bien; cámbialos solo si personalizas el escenario.

## Spawn

```lua theme={"dark"}
Config.Spawn = {
    selectorMode = 'always',
    useLastLocation = true,
    fallback = vec4(-301.48, 783.20, 118.75, 14.43),
    preview = { ... },
    locations = { ... },
}
```

### Cuándo ven el selector de spawn

| `selectorMode`                | En lenguaje claro                                                                               |
| ----------------------------- | ----------------------------------------------------------------------------------------------- |
| `'always'`                    | Cada vez que seleccionan un personaje.                                                          |
| `'first_login_after_restart'` | Una vez por personaje por reinicio del servidor. Después spawnan donde cerraron sesión.         |
| `'new_character_only'`        | Solo justo después de crear un personaje. Los existentes siempre spawnan en su última posición. |

**useLastLocation** añade "Última ubicación" al selector para seguir donde lo dejaron. **fallback** es adónde va un personaje si nada más aplica — p. ej. el primer spawn sin última posición.

### Ubicaciones

La lista `locations` es el conjunto **inicial** de puntos de spawn. En el primer arranque se copia a la base de datos; a partir de ahí manda la base de datos. Para añadir o mover spawns después, usa el editor en el juego, no este archivo. Todo en [Ubicaciones de spawn](/es/rco-creator/spawn-locations).

## Opciones solo del servidor (`server.lua`)

### Paquete inicial

Los personajes nuevos pueden recibir un kit pequeño en su primer spawn:

```lua theme={"dark"}
CreatorServerConfig.Starter = {
    enabled = true,
    items = {
        { name = 'bread', amount = 5 },
        { name = 'water', amount = 5 },
    },
    rsgHorse = {
        enabled = true,
        model = 'a_c_horse_mp_mangy_backup',
        stable = 'valentine',
        name = 'Starter Horse',
    },
}
```

Los nombres de ítems deben existir en el inventario de tu framework. El caballo inicial solo está en RSG; en VORP ese bloque se ignora.

El paquete se concede **una vez por personaje** y queda registrado en la base de datos — no se puede obtener dos veces relogueando o por conexión perdida durante el spawn.

### Última posición forzada

```lua theme={"dark"}
CreatorServerConfig.ForceLastPosition = function(source, character)
    return character.isJailed == true
end
```

Devuelve `true` para saltar el selector y poner al personaje exactamente donde estaba — el valor por defecto mantiene encarcelados en la cárcel. Extiéndelo para tus propios estados.

### Overrides de slots y Discord

`PlayerSlots`, `Discord` y `ResolveCustomSlots` están en [Slots de personaje](/es/rco-creator/character-slots).

### Permiso del editor de spawn

`CanManageSpawns` decide quién puede usar `/rcospawns`. Ver [Ubicaciones de spawn](/es/rco-creator/spawn-locations).
