Попробую более детально разобрать, что такое core.cfg, какие он имеет настройки и так далее.
И так,
И так,
- Файл располагается в %sm_basepath%/configs/core.cfg.
%sm_basepath% - значение одноимённой консольной переменной, которая содержит в себе путь к SourceMod. Обычно её изменяют, когда из одной папки с SRCDS необходимо запускать несколько разных серверов по набору плагинов и конфигов, но сейчас не об этом.
Полный путь к файлу, если необходимо, может быть переопределен. Для этого введена очередная консольная переменная, которая должна изменяться исключительно из параметров запуска, как и sm_basepath - sm_corecfgfile. - Файл ведётся в формате Valve KeyValues, и SourceMod допускает наличие только обычных записей в нём типа "ключ-значение".
Ни о каких секциях внутри него и речи идти не может, кроме корневой Core. - Файл загружается строго один раз - при запуске SourceMod, т.е. при запуске сервера.
- Во время первоначальной настройки, ясное дело, может понадобиться очень часто перезагружать файл. Такой возможности - нет, но SourceMod предоставляет возможность изменять на лету прочитанные параметры через консоль сервера/RCON. Для этого вводится подкоманда config с параметрами <key> [value].
Т.е., если Вам необходимо выключить логгирование после запуска - Вы можете просто выполнить sm config Logging off, и оно будет отключено сразу же. Но SourceMod кеширует значения некоторых своих собственных параметров, потому какие-то опции могут быть изменены не сразу, а только на следующей карте.
Если Вам нужно просто просмотреть значение параметра - новое значение опускаете.
Если значение не может быть применено (не ожидаемое или параметра вовсе нет в самом конфиге) - SourceMod прямо так и напишет.
Всё вышенаписанное применимо как к параметрам самого SourceMod, так и к параметрам сторонних расширений.
Наименование | Описание | Стандартное значение | Владелец |
---|---|---|---|
AutoUpdateURL | URL-адрес, на который апдейтер будет стучаться за свежей геймдатой. Полезно переопределять, если Вы модифицируете геймдату под себя. Конечная точка, куда будет обращаться сервер, должна поддерживать полностью протокол обновления геймдаты SourceMod. Чуть позже будет выложен примитив реализации такого веб-сервиса. | Апдейтер геймдаты (extensions/updater.ext) | |
ForceRestartAfterUpdate | Регулирует необходимость в "насильном" перезапуске сервера после обновления геймдаты. yes, если необходимо. Любое иное значение - не перезапускать. | no | Апдейтер геймдаты (extensions/updater.ext) |
DisableAutoUpdate | Позволяет выключить механизм обновления геймдаты. yes, если обновления не требуются. В этом случае не запускается даже само расширение автоматически. Любое иное значение - выполнять процесс обновления каждый запуск сервера. | no | Ядро SourceMod |
FollowCSGOServerGuidelines | Регулирует наличие "превентивной" защиты от нарушения правил для игровых серверов CS:GO. Защищает Ваштокен от возможного бана из-за нарушения правил. | yes | Единственный параметр, который принадлежит сразу двум составным компонентам:
|
ServerLang | Язык, выбираемый сервером по-умолчанию в любом случае, и использующийся в консоли SRCDS. Обратите внимание, что на выбранном языке должны быть доступны все фразы, которые только используются/есть, иначе возможно получение ошибок об полном отсутствии фразы. | en | Ядро SourceMod;модуль мультиязычности |
Logging | Регулирует необходимость ведения логов. Допускаются значения только on и off | on | Ядро SourceMod; модуль логов |
LogMode | Режим ведения логов. Допустимые режимы:
| daily | Ядро SourceMod; модуль логов |
PublicChatTrigger | Используемый префикс для запуска команд из чата. С этим префиксом, команды в чате будут отображаться введёнными у всех. | ! | Ядро SourceMod; модуль чат-триггеров |
SilentChatTrigger | Используемый префикс для запуска команд из чата. С этим префиксом, команды в чате НЕ будут отображаться введёнными у всех, если команда действительно существует и если настройка SilentFailSuppress не включена. | / | Ядро SourceMod; модуль чат-триггеров |
SilentFailSuppress | Регулирует скрытие неудачно введённых команд, если пользователь, запускавший команду, является администратором. | no | Ядро SourceMod; модуль чат-триггеров |
MenuItemSound | Звук, запускающийся при выборе элемента в меню. | buttons/button14.wav | Ядро SourceMod; модуль меню |
MenuExitBackSound | Звук, запускающийся при нажатии на кнопку "Назад" в меню. | buttons/combine_button7.wav | Ядро SourceMod; модуль меню |
MenuExitSound | Звук, запускающийся при нажатии на кнопку "Выход" в меню. | buttons/combine_button7.wav | Ядро SourceMod; модуль меню |
BasePath | Базовый путь к файлам SourceMod. Алиас sm_basepath. Не может быть изменён во время работы сервера, загружается и используется только при первом чтении конфига. | Отсутствует. Стандартное значение этого параметра вычисляется во время запуска сервера. | Ядро SourceMod |
SlowScriptTimeout | Максимальное время выполнения SourcePawn-кода за 1 вызов. Суть в том, чтобы "защитить" сервер от зависания в случае неправильно/криво написанного кода. Если код будет выполняться очень долго - его исполнение будет прервано, соответствующая проблемабудет зафиксирована в error-логах. | 8 | Ядро SourceMod; значение передаётся в SourcePawn VM |
DisableJIT | Отключает SourcePawn JIT. Не рекомендуется изменять. Возможно сильное проседание производительности (зависит от процессора и множества других факторов). | no | Ядро SourceMod; значение передаётся в SourcePawn VM |
PassInfoVar | Наименование сетевого выставляемого параметра (setinfo), в котором должен передаваться пароль от Администраторских прав, если он был задан. Стандартное значение _password намеренно игнорируется SM в целях безопасности. Рекомендуется придумать уникальное значение, которое нигде публично афишироваться не будет (только после выдачи прав), поскольку все сетевые выставляемые параметры всегда передаются на сервер, и при желании, любой злоумышленник может угнать через SourceMod API Ваш пароль. | _password | Ядро SourceMod; модуль взаимодействия с игроками |
AllowClLanguageVar | Разрешает использовать клиентскую консольную переменную cl_language приподключении игрока для выставления языка на сервере. То, что именно делает этот параметр, зависит целиком от игры. В TF2, CS:S, HL2DM и любых прочих старых играх - достаёт язык из сетевых параметров, которые передаются при подключении. В CS:GO (новые игры) клиент перестал пропихивать свой язык в сетевых параметрах, а потому заставляет сервер сходить на клиент за языком (причина, по которой первое время у игрока может использоваться стандартный серверный язык). | on | Ядро SourceMod; модуль взаимодействия с игроками |
SteamAuthstringValidation | Регулирует необходимость полной аутентификации клиента на сервере через Steam. | yes | Ядро SourceMod; модуль взаимодействия с игроками |
BlockBadPlugins | Включает встроенную защиту от "вредоносных" или "плохих" плагинов. Защита самая наибанальнейшая- хеш-код исполняемого кода плагина. | yes | Ядро SourceMod; модуль управления плагинами |