WardenCoredocs
Продвинутое (Self-hosted)

warden_config.json

Полный справочник основного конфигурационного файла

Это руководство для продвинутых пользователей с собственным хостингом. Большинство этих настроек можно конфигурировать через интерфейс панели в Settings. Ручное редактирование требуется только для начальной настройки или когда панель недоступна.

Основной конфигурационный файл расположен по пути:

SCUMSERVER\SCUM\Binaries\Win64\Mods\WardenCore\configs\warden_config.json

Ниже приведён полный справочник по каждому полю, организованный по разделам.


Network

Управление сетевым доступом, CORS и ограничением частоты запросов.

ПолеТипПо умолчаниюОписание
enableIPWhitelistbooleanfalseПри включении только IP-адреса из ipWhitelist могут получить доступ к панели.
ipWhiteliststring[][]Список разрешённых IP-адресов. Поддерживает шаблоны с *.
ipBlackliststring[][]Список заблокированных IP-адресов. Всегда активен независимо от белого списка.
enableCORSbooleantrueВключить заголовки Cross-Origin Resource Sharing.
allowedOriginsstring[][]Разрешённые источники CORS. Пустой массив разрешает все источники при включённом CORS.
enableRateLimitbooleantrueВключить ограничение частоты запросов по IP.
requestsPerMinutenumber60Максимум API-запросов в минуту на клиента (1–10000).

Пример:

{
  "network": {
    "enableIPWhitelist": false,
    "ipWhitelist": [],
    "ipBlacklist": [],
    "enableCORS": true,
    "allowedOrigins": [],
    "enableRateLimit": true,
    "requestsPerMinute": 60
  }
}

Security

Управление сессиями и ограничениями команд.

ПолеТипПо умолчаниюОписание
sessionTimeoutMinutesnumber30Минуты бездействия до истечения сессии (1–10080). Каждый запрос сбрасывает таймер.
maxConcurrentSessionsnumber10Максимальное количество одновременных активных сессий для всех администраторов (1–1000).
maxCommandLengthnumber1024Максимально допустимая длина одной RCON-команды в символах (64–65536).

Пример:

{
  "security": {
    "sessionTimeoutMinutes": 30,
    "maxConcurrentSessions": 10,
    "maxCommandLength": 1024
  }
}

Log Parsing

Управление обработкой файлов логов игры.

ПолеТипПо умолчаниюОписание
backfillExistingLogsbooleantrueПри значении true WardenCore обрабатывает существующие файлы логов при запуске, заполняя базу данных историческими данными.

Пример:

{
  "logParsing": {
    "backfillExistingLogs": true
  }
}

Заполнение исторических данных может занять несколько минут на серверах с большими архивами логов. Во время этого процесса пересылка логов в Discord приостанавливается, чтобы не засорять каналы старыми событиями.


Steam

Настройки интеграции со Steam для получения профилей игроков.

ПолеТипПо умолчаниюОписание
apiKeystring""Steam Web API key для получения данных профиля игрока (аватар, баны, время в игре). Получите на steamcommunity.com/dev/apikey.
excludedSteamIdsstring[][]Steam ID, действия которых скрыты из логов и пересылки в Discord. Полезно для ботов или тестовых аккаунтов.
ipWhiteliststring[][]Белый список IP, специфичный для интеграции со Steam.

Пример:

{
  "steam": {
    "apiKey": "",
    "excludedSteamIds": [],
    "ipWhitelist": []
  }
}

API Keys

Массив объектов API-ключей для аутентификации внешних инструментов. Ключи управляются через интерфейс панели в Settings > API Keys.

ПолеТипОписание
keystringСтрока API-ключа (генерируется автоматически).
namestringОписательная метка (например, "Discord Bot").
createdAtstringВременная метка ISO 8601, когда ключ был создан.
enabledbooleanАктивен ли ключ.
permissionsstring[]Уровни прав: "read", "write", "admin".

Рекомендуется генерировать API-ключи через интерфейс панели, а не редактировать этот раздел вручную.


Полный пример

Полный warden_config.json с настройками по умолчанию:

{
  "network": {
    "enableIPWhitelist": false,
    "ipWhitelist": [],
    "ipBlacklist": [],
    "enableCORS": true,
    "allowedOrigins": [],
    "enableRateLimit": true,
    "requestsPerMinute": 60
  },
  "security": {
    "sessionTimeoutMinutes": 30,
    "maxConcurrentSessions": 10,
    "maxCommandLength": 1024
  },
  "logParsing": {
    "backfillExistingLogs": true
  },
  "steam": {
    "apiKey": "",
    "excludedSteamIds": [],
    "ipWhitelist": []
  },
  "apiKeys": []
}

Содержание