SourceMod Более детальная настройка core.cfg

Попробую более детально разобрать, что такое core.cfg, какие он имеет настройки и так далее.
И так,
  1. Файл располагается в %sm_basepath%/configs/core.cfg.
    %sm_basepath% - значение одноимённой консольной переменной, которая содержит в себе путь к SourceMod. Обычно её изменяют, когда из одной папки с SRCDS необходимо запускать несколько разных серверов по набору плагинов и конфигов, но сейчас не об этом.
    Полный путь к файлу, если необходимо, может быть переопределен. Для этого введена очередная консольная переменная, которая должна изменяться исключительно из параметров запуска, как и sm_basepath - sm_corecfgfile.
  2. Файл ведётся в формате Valve KeyValues, и SourceMod допускает наличие только обычных записей в нём типа "ключ-значение".
    Ни о каких секциях внутри него и речи идти не может, кроме корневой Core.
  3. Файл загружается строго один раз - при запуске SourceMod, т.е. при запуске сервера.
    1592198640886.png
    Во время первоначальной настройки, ясное дело, может понадобиться очень часто перезагружать файл. Такой возможности - нет, но SourceMod предоставляет возможность изменять на лету прочитанные параметры через консоль сервера/RCON. Для этого вводится подкоманда config с параметрами <key> [value].
    Т.е., если Вам необходимо выключить логгирование после запуска - Вы можете просто выполнить sm config Logging off, и оно будет отключено сразу же. Но SourceMod кеширует значения некоторых своих собственных параметров, потому какие-то опции могут быть изменены не сразу, а только на следующей карте.
    Если Вам нужно просто просмотреть значение параметра - новое значение опускаете.
    Если значение не может быть применено (не ожидаемое или параметра вовсе нет в самом конфиге) - SourceMod прямо так и напишет.
    Всё вышенаписанное применимо как к параметрам самого SourceMod, так и к параметрам сторонних расширений.

НаименованиеОписаниеСтандартное значениеВладелец
AutoUpdateURLURL-адрес, на который апдейтер будет стучаться за свежей геймдатой. Полезно переопределять, если Вы модифицируете геймдату под себя.

Конечная точка, куда будет обращаться сервер, должна поддерживать полностью протокол обновления геймдаты SourceMod. Чуть позже будет выложен примитив реализации такого веб-сервиса.
http://www.sourcemod.net/update/Апдейтер геймдаты (extensions/updater.ext)
ForceRestartAfterUpdateРегулирует необходимость в "насильном" перезапуске сервера после обновления геймдаты.

yes, если необходимо. Любое иное значение - не перезапускать.
noАпдейтер геймдаты (extensions/updater.ext)
DisableAutoUpdateПозволяет выключить механизм обновления геймдаты.

yes, если обновления не требуются. В этом случае не запускается даже само расширение автоматически.
Любое иное значение - выполнять процесс обновления каждый запуск сервера.
noЯдро SourceMod
FollowCSGOServerGuidelinesРегулирует наличие "превентивной" защиты от нарушения правил для игровых серверов CS:GO. Защищает Ваштокен от возможного бана из-за нарушения правил.yesЕдинственный параметр, который принадлежит сразу двум составным компонентам:
  • Ядро SourceMod
  • Расширение SDKTools; доступно только в CS:GO (extensions/sdktools.ext.2.csgo)
ServerLangЯзык, выбираемый сервером по-умолчанию в любом случае, и использующийся в консоли SRCDS.

Обратите внимание, что на выбранном языке должны быть доступны все фразы, которые только используются/есть, иначе возможно получение ошибок об полном отсутствии фразы.
enЯдро SourceMod;модуль мультиязычности
LoggingРегулирует необходимость ведения логов. Допускаются значения только on и offonЯдро SourceMod; модуль логов
LogModeРежим ведения логов. Допустимые режимы:
  • daily. Лог ведётся за весь день. Если сервер перезапускается - он открывает тот же лог, что и в прошлый раз.
  • map. Лог ведётся за одну итерацию карты. Помимо даты, в имени лога используется порядковый номер карты с момента запуска сервера. Если сервер перезапускается - он снова откроет самый первый лог.
  • game. SourceMod пишет все записи в логи самого движка/игры. Не забудьте убедиться, что стандартная система логгирования включена (log on).
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; модуль управления плагинами
Об авторе
Kruzya
Гений, разработчик (преимущественно веб), системный и сетевой администратор.
Эникейщик, короче. 🌚

Разрабатываю много всего, и ничего одновременно.

Комментарии

Спасибо за статью.
Интересно какое значение стоит у остальных?
* If set to yes, SourceMod will validate steamid auth strings with the Steam backend before giving out admin access.
* This can prevent malicious users from impersonating admins with stolen Steam apptickets.
* If Steam is down, admins will not be authenticated until Steam comes back up.
* This option increases the security of your server, but is still experimental.
 

Информация о статье

Автор
CrazyHackGUT aka Kruzya
Просмотры
1,826
Комментарии
2
Последнее обновление

Ещё в Игровые сервера

Больше от CrazyHackGUT aka Kruzya

Поделиться этой статьёй

Сверху Снизу