Движки контента

Движок описывает, какие карты, моды и плагины бывают у игры, куда класть их файлы и какие настройки сервера менять при установке. Именно движок позволяет ставить аддоны в один клик (см. Карты и моды). Движки перечислены в разделе Движки контента.

Обычно здесь ничего менять не нужно. Встроенные движки покрывают популярные игры. Чтобы у игры появились карты и моды, достаточно выбрать ей движок: Игры → игра → блок Карты и моды → Движок и Каталог игры. Сюда стоит заходить, только если не хватает типа контента или вы подключаете игру, которой нет в списке.

Встроенные движки

  • GoldSrc — CS 1.6, Half-Life, TFC, DoD, Sven Co-op: карты с ресурсами, плагины и фреймворки AMX Mod X / Metamod. Counter-Strike 1.6 — то же плюс импорт карт с GameBanana.
  • Source — CS:S, TF2, L4D2, DoD:S, HL2DM: карты с ресурсами, плагины и фреймворки SourceMod / Metamod:Source. Counter-Strike: Source — плюс GameBanana.
  • Source 2 — CS2: Metamod:Source 2, CounterStrikeSharp и его плагины. Counter-Strike 2 — плюс карты Steam Workshop.
  • Minecraft Java — плагины, моды и датапаки, импорт с Modrinth и проверка версии игры и загрузчика.
  • Minecraft Bedrock — пакеты поведения и ресурсов, миры.
  • Rust (Oxide/uMod) — Oxide и плагины, импорт с uMod.
  • BepInEx, Valheim, V Rising, Risk of Rain 2 — загрузчик BepInEx и моды; у трёх последних — импорт с Thunderstore.
  • Terraria (tModLoader) и Terraria (TShock) — моды или плагины и миры.
  • Factorio — моды и сохранения, импорт с Factorio Mod Portal.
  • Arma 3, DayZ — моды Steam Workshop через установщик steamcmd (см. «Установщики» в статье Карты и моды).
  • Project Zomboid, Space Engineers, Unturned, Garry's Mod — моды Steam Workshop, которые скачивает сам сервер.
  • SA-MP — игровые режимы, фильтрскрипты и плагины.
  • Без пресета — пустой движок: типы контента задаются прямо в настройках игры.

Какой движок выбрать для конкретной игры и что указать в Каталоге игры — на странице Игры → Как подключить игру.

Список движков

Фильтры над списком: Все, Используются (выбраны хотя бы у одной игры), Свои и Изменённые (встроенные, которые вы правили). У каждого движка показаны игры, которые его используют, на каком движке он основан, папка игры и его типы контента — с описанием, куда что кладётся и что меняется в конфигах.

Добавить тип контента

Допустим, у CS 1.6 вам не хватает типа «Звуки» или «Свои модели». Встроенный движок лучше не править, а сделать свой на его основе:

  1. У подходящего движка нажмите Создать на основе. Новый движок возьмёт все типы контента исходного.
  2. Задайте Название, Код (латиница, цифры, _ и -, например rehlds; потом его не изменить) и Описание.
  3. В Свои типы контента добавьте тип. Удобно начать с шаблона: Файл в папку, Архив с картой или Steam Workshop. Тип с тем же кодом, что у базового движка, заменяет унаследованный.
  4. Сохраните и выберите новый движок в настройках игры.

Пример — звуки архивом в папку игры:

{
  "sound": {
    "label": "Звуки",
    "delivery": "archive",
    "files": [{ "from": "", "to": "" }],
    "allowed_ext": [".wav", ".mp3"],
    "on_conflict": "keep",
    "hot": true
  }
}

Если нужен тип только для одной игры, не обязательно создавать движок: в настройках игры есть Добавить свои типы, они дополняют или заменяют типы выбранного движка.

Поля типа

Подсказка по полям есть и в форме — Что означают поля.

  • label — название типа в панели («Карты»).
  • delivery — как ставится: file — один файл; archive — архив с папками; directory — папка целиком (мир); workshop — по ID из Steam Workshop, файлы скачивает сервер; installer — файлы производит установщик на ноде.
  • target_dir — для file и directory: куда положить, относительно папки игры.
  • files — для archive: правила [{from, to}], какая папка архива куда ложится ("" — корень).
  • allowed_ext — разрешённые расширения файлов.
  • primary — {dir, ext}, главный файл (например, .bsp в maps). По нему аддон получает имя.
  • register — правки конфигов при установке. При удалении аддона они откатываются.
  • hot — true, если аддон начинает работать без перезапуска сервера.
  • requires — коды аддонов, которые должны стоять раньше (["amxmodx"]).
  • selectable_by_variable — параметр сервера, в котором клиент выбирает установленный вариант (например, map).
  • preserve — файлы настроек, которые не трогаются при обновлении.
  • on_conflict — если файл уже есть на сервере: keep — оставить, overwrite — перезаписать.
  • provider — внешний каталог для импорта: modrinth, thunderstore, umod, gamebanana, factorio.
  • installer — для installer: код установщика из раздела Установщики.
  • lowercase — для archive и installer: привести имена файлов к нижнему регистру (моды Arma на Linux).

В значениях можно подставлять {{name}} (имя карты или плагина), {{file}} (имя файла), {{slug}} (код аддона) и {{workshop_id}}.

Правки конфигов (register)

  • ensure_line — добавить строку в файл, например имя карты в mapcycle.txt. С before строка вставляется над указанной строкой, а не в конец.
  • set_kv, list_kv — ключ или список в файлах вида ключ=значение (ini, properties).
  • json_set, json_upsert, json_list — значение, объект или элемент списка в JSON-файле.
  • xml_list — элемент в список XML-файла.
  • copy_glob — скопировать файлы аддона по шаблону в другую папку, например ключи *.bikey в keys у Arma.
  • set_var, list_var — не трогают файлы, а меняют параметр сервера (например, -mod=@a;@b у Arma). Сервер при этом перезапускается с новым значением.

Пример — плагин AMX Mod X, которому нужна строка в plugins.ini:

{ "action": "ensure_line", "file": "addons/amxmodx/configs/plugins.ini", "value": "{{file}}" }

Совместимость

Поле Совместимость нужно только играм с версиями и загрузчиками, как Minecraft. В нём указано, в каких параметрах сервера хранятся версия игры и загрузчик, например { "game_version_var": "version", "loader_var": "type" }. Тогда панель предупредит, если мод не подходит серверу.

Изменения и откат

Сохранение движка сразу действует на все игры, которые его используют. Новые правила применяются к новым установкам и обновлениям аддонов. Уже установленные аддоны удаляются по записям, сделанным при их установке.

Если движок собран с ошибкой, в его карточке появится Движок не собирается: с причиной.

  • Вернуть исходный — откатить ваши правки встроенного движка.
  • Удалить можно только свой движок, который не используют игры и на котором не основаны другие движки. Встроенные движки не удаляются.

Проверяйте новый тип на тестовом сервере: поставьте аддон, перезапустите сервер и убедитесь, что он загрузился.