Конфигурация

Где на сервере лежат настройки плагинов, переводы и каналы пакетов и как менять их так, чтобы правки переживали обновления.

Всё, что вы настраиваете, лежит в game/csgo/addons/plugify/. Самому Plugify на сервере файл конфигурации не нужен: папки задаёт загрузчик, а плагины приносят свои настройки.

Настройки плагинов

Файлы плагина загружаются из трёх мест в таком порядке:

ПорядокГдеЧто там лежит
1envs/<окружение>/<name>.<kind>.jsoncЗначения по умолчанию из пакета. Заменяются при каждом обновлении
2configs/<name>/<name>.<kind>.jsoncВаши правки. Сохраняются при обновлениях
3data/<name>/<name>.<kind>.jsoncПереводы и сохранённое состояние плагина

<name> это имя плагина, которое показывает plg plugins, а <kind> это settings, gamedata или translations. Более поздний файл перекрывает ключи более раннего.

Чтобы изменить настройку, не правьте файл в envs/. Создайте файл с тем же именем в configs/<name>/ и запишите в него только те ключи, которые меняете:

envs/plugins/s2sdk.settings.jsonc
configs/s2sdk/s2sdk.settings.jsonc
{
  // значения по умолчанию из пакета
  "ServerLanguage": "en",
  "FollowCS2ServerGuidelines": true
}

Файлы сливаются на один уровень: ключ верхнего уровня из вашего файла заменяет значение этого ключа целиком. Чтобы изменить одно поле внутри вложенной секции, скопируйте в свой файл всю секцию.

Изменения читаются при запуске плагина. Выполните plg reload или перезапустите сервер.

Переводы

Переводы используют те же три места с видом translations. Чтобы изменить или добавить фразы, правьте файл в data/<name>/. Полный архив билда уже кладёт туда переводы базовых плагинов, и обновления их не трогают:

data/s2sdk/s2sdk.translations.jsonc
{
  "S2SDK.Menu.Prev": {
    "en": "Back",
    "ru": "Назад"
  }
}

Временные файлы

Скачанные и сгенерированные файлы плагины хранят в pkgs/<name>/. Эту папку можно удалить в любой момент: плагин создаст её заново.

Permissions

Плагины прав хранят свои файлы в общей папке permissions:

ФайлНазначение
configs/permissions/permissions_storage.settings.yamlБаза данных для групп и прав
configs/permissions/permissions_connector_s2.settings.yamlУведомления и настройки команд
data/permissions/permissions_connector_s2.translations.yamlФразы, которые видят игроки
data/permissions/permissions.dbБаза SQLite, используется по умолчанию

Каналы пакетов

В addons/plugify/.condarc перечислены conda-каналы, из которых mamba ставит и обновляет пакеты. Первым идёт канал самого билда, за ним каналы его компонентов и всех языковых модулей. Добавьте сюда канал, чтобы ставить свои пакеты по имени. Архив загрузчика заменяет этот файл, поэтому сохраните копию своих правок:

.condarc
channel_priority: strict
channels:
  - https://untrustedmodders.github.io/plugify-builds/source2/
  - https://example.github.io/my-plugin/

Параметры загрузчика

S2-Launcher принимает в командной строке такие аргументы:

АргументЗначение
--verbosity=<уровень>Уровень логов Plugify
--profilerВключить профайлер, см. Профилирование

Отчёты о падениях S2-Launcher настраиваются в game/bin/<платформа>/sentry.jsonc, см. Обнаружение сбоев.