> ## 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.

# Настройка

> Каждая опция RCO Creator, простым языком.

У Creator два config-файла, оба в `rco-creator/config/`:

| Файл         | Что внутри                                                                      | Кто читает        |
| ------------ | ------------------------------------------------------------------------------- | ----------------- |
| `config.lua` | Геймплей: слоты, возраст, сцена выбора, спавн                                   | Общий с клиентами |
| `server.lua` | Чувствительное: слоты по игрокам, токен Discord, права админов, стартовый набор | Только сервер     |

Ничего вне этих двух файлов трогать не нужно. После правок перезапустите ресурс (`restart rco-creator`).

## Общее

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

* **Framework** – оставьте `auto`. Явно задавайте только если консоль сказала, что определение не сработало или найдены оба core.
* **Debug** – дополнительная диагностика в консоли. На живом сервере держите выключенным.
* **Locale** – язык UI на экране. Тексты в `rco-creator/locales/`; свой язык — скопируйте `en.json`.

## Персонажи и слоты

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

* **MaxCharacters** – жёсткий потолок. Больше этого никто не получит, какие бы overrides ни были.
* **DefaultCharacterSlots** – сколько слотов у каждого по умолчанию.
* **AllowCharacterDelete** – могут ли игроки удалять своих персонажей на экране выбора.
* **AllowLogoutCommand / LogoutCommand** – `/logout` обратно к выбору без переподключения.

Больше слотов для отдельных игроков или ролей Discord? См. [Слоты персонажей](/ru/rco-creator/character-slots).

## Правила личности

```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
```

Возраст считается от **IdentityReferenceDate** — «сегодня» вашего RP-мира. С дефолтами персонаж должен родиться между 1799 и 1881.

Если сервер в более поздний период — сдвиньте дату и при желании ограничьте год рождения:

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

Оставьте `BirthYearMin` / `BirthYearMax` как `nil`, чтобы Creator посчитал их из диапазона возраста.

**Nationalities** — простой список строк в форме создания. Добавляйте, убирайте, переводите:

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

Все правила на сервере. Модифицированный клиент их не обойдёт.

## Сцена выбора

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

* **period** – время суток на сцене. Погода переопределяется только если работает RSG `weathersync`.
* **hideLockedSlotGhosts** – по умолчанию недоступные слоты — бледные силуэты. `true` — скрыть полностью.
* **snapPedsToGround** – педы на полу сцены.
* **idleAnimation / focusCamera** – поза и камера. Дефолты хороши; меняйте только при кастомизации сцены.

## Спавн

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

### Когда игроки видят селектор спавна

| `selectorMode`                | Поведение                                                          |
| ----------------------------- | ------------------------------------------------------------------ |
| `'always'`                    | Каждый раз при выборе персонажа.                                   |
| `'first_login_after_restart'` | Раз на персонажа за рестарт сервера. Потом — где вышли.            |
| `'new_character_only'`        | Только после создания. Существующие — всегда на последней позиции. |

**useLastLocation** добавляет «Last location» в селектор. **fallback** — куда идёт персонаж, если больше ничего не подходит, например самый первый спавн без последней позиции.

### Локации

Список `locations` — **начальный** набор точек. При первом старте копируется в базу, дальше игра читает базу. Добавлять и двигать после — через редактор в игре, не этот файл. Всё в [Точках спавна](/ru/rco-creator/spawn-locations).

## Только сервер (`server.lua`)

### Стартовый набор

Новые персонажи могут получить небольшой kit при первом спавне:

```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',
    },
}
```

Имена предметов должны быть в инвентаре фреймворка. Стартовая лошадь только на RSG; на VORP блок игнорируется.

Набор выдаётся **один раз на персонажа** и пишется в базу — нельзя получить дважды через relog или обрыв связи при спавне.

### Принудительная последняя позиция

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

Верните `true`, чтобы пропустить селектор и вернуть персонажа туда же — по умолчанию для заключённых. Расширяйте под свои состояния.

### Overrides слотов и Discord

`PlayerSlots`, `Discord` и `ResolveCustomSlots` — в [Слотах персонажей](/ru/rco-creator/character-slots).

### Права редактора спавна

`CanManageSpawns` решает, кто может `/rcospawns`. См. [Точки спавна](/ru/rco-creator/spawn-locations).
