SteamDB

» » Установка и настройка Sourcemod

Установка и настройка Sourcemod

Общие сведения

Что такое SourceMod?
Правильно сказать, что SourceMod - это плагин для MetaMod:Source, который в свою очередь является прослойкой между движком Source и плагинами. Другими словами, он даёт нам возможность модифицировать игру по нашему желанию с помощью простейших действий - как использования функций самого SourceMod, так и устанавливая плагины.

Так для чего нужен SourceMod?
А предназначен он, во-первых, дабы облегчить жизнь нам, админам, а во-вторых, повторюсь, для запуска дополнительных плагинов, преносящих как изменения игры, так и дополнительные возможности, опять же, нам, админам. . SourceMod даёт огромное количество вкусностей: это и кик/бан игроков парой нажатий, всевозможные голосовалки, смена конфигов, наказания тимкиллеров вроде поджога или ходячей бомбы, смена карты, установка параметров сервера прямо из строки чата или консоли и куча других фан-команд. Итак, приступим.

Установка

Качаем последние версии

MetaMod: Source
SourceMod
Что конкретно качать и устанавливать - решать вам. Я же рекомендую сначала всегда пробовать стабильную версию. Если будут проблемы, что часто бывает после выхода обновления сервера, то надо пробовать последнюю нестабильную сборку.

Подготовим наши моды к установке на сервер.
Сначала создадим у себя на диске директорию и назовем её, например, myServer. И разархивируем в неё содержимое скачанных файлов. В итоге должны получить в корне две директории - addons и cfg.

Идём по ссылке[www.metamodsource.net] и кладём сгенерированный metamod.vdf в папку addons.

Теперь сделаем тестовый прогон - закачаем содержимое нашей папки myServer на сервер, просто скопируем в директорию сервера.
Для разных серверов это различные директории:
  • Left 4 Dead 2 - left4dead2/
  • Counter-Strike: Source - cstrike/
  • Counter-Strike: Global Offensive - csgo/
  • Team Fortress 2 - tf/
  • Day of Defeat: Source - dod/
    ...и далее по аналогии...
Теперь запустим сервер и проверим, запустился ли MetaMod и подгрузил ли он свои плагины:
meta listДолжны получить в ответ что-то вроде:
Listing 5 plugins:
[01] SourceMod (1.4.0-dev) by AlliedModders LLC
[02] SDK Tools (1.4.0-dev) by AlliedModders LLC
[03] SDK Hooks (1.3.0) by Tsunami Если же в ответ вы получили:
Unknown command "meta" То проверьте наличие файла metamod.vdf в папке addons, либо читайте логи, которые появятся в директории logs - там будут выводится ошибки.

Теперь проверим SourceMod:
sm plugins listВ ответ что то вроде:
01 "Admin File Reader" (1.4.0) by AlliedModders LLC
02 "Admin Help" (1.4.0) by AlliedModders LLC
03 "Admin Menu" (1.4.0) by AlliedModders LLC
04 "Anti-Flood" (1.4.0) by AlliedModders LLCИтак, мы убедились в работоспособности SourceMod, приступим к настройке.

Настройка

Настройка SourceMod заключается в редактировании конфигурационных (.cfg) файлов. Их довольно много, но нас интересуют всего несколько. Я разобью настройку на несколько этапов, где укажу, какие конфиги нужно править.
  • Создание администраторов
Информация об администраторах может храниться в двух файлах:
addons/sourcemod/configs/admins_simple.ini
addons/sourcemod/configs/admins.cfgВ первом файле проще, во втором нагляднее. Какой именно использовать, решать вам. Можно и в обоих.
Формат admins_simple.ini до безобразия прост:
"steam id" "иммунитет:флаг"или
"steam id" "иммунитет:@группа"Т.е. каждая строка файла содержит Steam ID администратора, его иммунитет и его права - флаги или группа (обязательно впереди поставить '@').

Иммунитет олицетворяет иерархию администраторов сервера - игроки с высшим иммунитетом могут применять действия, которые описываются флагом, к другим игрокам с более низким иммунитетом или вовсе без него.

Флаг же как раз указывает те действия, которые и может применять администратор и может принимать значения:
ИмяФлагОписаниеreservationaДоступ к зарезервированным слотамgenericbАдминистратор. Должен быть указан у всех администраторов, если не указано 'z'kickcКикать других игроковbandБанить других игроковunbaneУдалять баныslayfУбивать/наносить вредchangemapgСмена картыcvarhМенять большинство параметром cvarconfig iЗапуск конфигурационных файловchatjОсобые привилегии в чатеvotekЗапуск или создание голосованийpasswordlУстановка пароля на серверrconmИспользование RCONcheatsnСмена параметра sv_cheats или читовrootzВключает все флагиПример файла admins_simple.ini:
"STEAM_0:1:111222" "50:bcdg" // Права администратора, кикать, банить игроков и смена карты, авторизация по Steam ID, иммунитет 50

"!10.8.9.10" "60:z" // Авторизация по IP, полный доступ, иммунитет 60

"Bulkin" "abcdeghm" "12345" //Авторизация по нику Bulkin, пароль"12345", иммунитета нет, резервация слота, права администратора, кик, бан, снятие бана, смена карты, смена cvarВ файле admins.cfg информация хранится в более расширенном и наглядном виде:
Admins
{
"Имя администратора"
{
"auth" "[steam|name|ip]"
"identity" "unique id"
"group" "значение"
"flags" "флаги"
"immunity" "значение"
/* .... */
}
}Дабы закрепить материал, запишем наших администраторов из admins_simple.ini в admins.cfg:
Admins
{
"Skilled Player"
{
"auth" "steam"
"identity" "STEAM_0:1:111222"
"immunity" "50"
"flags" "bcdg"
}

"Cool admin"
{
"auth" "ip"
"identity" "10.8.9.10"
"immunity" "60"
"flags" "z"
}

"Comrade Bulkin"
{
"auth" "name"
"identity" "Bulkin"
"flags" "abcdeghm"
"password" "12345"
}

}

Создание групп администраторов

Группы позволят нам применять одинаковый набор иммунитета и флагов сразу нескольким администраторам. При этом не нужно в описании каждого администратора указывать отдельно иммунитет или флаги. Для описания групп используется файл
addons/sourcemod/configs/admin_groups.cfgЯ не буду приводить тут полное описание конфига, лишь базовые принципы, которые нам очень пригодятся. Если же вам интересно, то можете получить более развернутую информацию на страницах техподдержки самого SourceMod.
Итак, формат групп такой:
Groups
{
"Администратор"
{
"flags" "флаги"
"immunity" "значение"
}
}Теперь на примере admins.cfg создадим наш собственный admin_groups.cfg, в который вынесем группы:
Groups
{
"Модератор"
{
"flags" "bcdg"
"immunity" "50"
}
"Администратор"
{
"flags" "z"
"immunity" "60"
}
"Смотритель"
{
"flags" "abcdeghm"
}
}И перепишем admins.cfg, в котором укажем группы вместо флагов и иммунитета:
Admins
{
"Skilled Player"
{
"auth" "steam"
"identity" "STEAM_0:1:111222"
"group" "Модератор"
}

"Cool admin"
{
"auth" "ip"
"identity" "10.8.9.10"
"group" "Администратор"
}

"Comrade Bulkin"
{
"auth" "name"
"identity" "Bulkin"
"group" "Смотритель"
}

}Теперь мы можем добавлять новых админов в только что созданные группы и не думать о флагах и иммунитете. Согласитесь, очень удобно!

Вывод сообщений и меню администратора на русском языке

Сначала надо внести русский в список доступных серверу языков:
addons/sourcemod/configs/languages.cfg "Languages"
{
"en" "English"
"ru" "Russian"
}Если есть желание, можно жёстко заставить сервер выдавать по-умолчанию все сообщения на русском, но я это не рекомендую - лучше оставить как есть, а выводить сообщен на на языке, который определяется автоматически по переменной cl_language, установленной у игрока. Тем не менее, чтобы установить язык меню и сообщений по-умолчанию на русский, вы можете внести в core.cfg следующий параметр:
addons/sourcemod/configs/core.cfg "ServerLang" "ru"Обратите внимание, что здесь можно указать только язык, определённый в файле languages.cfg.
А чтобы установить автоматическое определение языка, в этом же файле пропишем параметр:
"AllowClLanguageVar" "on"

Базовые настройки

Я приведу только наиболее часто используемые параметры.
    sourcemod.cfg
cfg/sourcemod/sourcemod.cfgПолный список параметров sourcemod.cfg
ПараметрЗначение по умолчаниюОписание переменнойsm_show_activity13Как показывать действия админа. Параметр является суммой следующих значений:
1: рядовые игроки не видят, кто именно совершил действие
2: если 1 установлен, то игрокам будет показан ник админа
4: админы не видят, кто именно совершил действие
8: если 4 установлен, то админы видят, кто именно совершил действие
16: всегда показывать ники админам с флагом 'z'
По умолчанию установлено 1+4+8sm_menu_sounds1Звуки в меню:
1: включены
0: отключены

Дальнейшие настройки звуков производятся в addons/sourcemod/configs/core.cfgsm_vote_delay30Время в секундах, через которое можно запустить новое голосование или опросsm_datetime_format"%m/%d/%Y - %H:%M:%S"Формат даты и времени в лог-файлах. Полные сведения можно получить по ссылке [opengroup.org]sm_immunity_mode1Определяет взаимодействие уровней иммунитета при попытке одного админа применить какую-либо команду к другому админу.
0: Игнорировать иммунитет
1: Защищать админов с более высоким иммунитетом
2: Защищать админов с более высоким или равным иммунитетом
3: Защищать админов с более высоким или равным иммунитетом, а также позволить админам без иммунитета совершать действия друг над другомsm_flood_time0.75Задержка в секундах между двумя сообщениями одного и того же игрока во избежание флуда. Переменная относится к плагину antiflood.smx (входит в состав SourceMod).sm_reserve_type0Указывает, как резервивовать слоты:
0: Резервировать слоты. Например, если на сервер на 24 слота, зарезервированы 2, то доступны будут только 22 слота.
1: Не резервировать слоты, но при заходе админа будет кикнут игрок с максимальной задержкой и без права доступа к резервированному слоту. Причём сначала кикаются спектаторы, если их нет, то игроки. Единственный вариант, когда никого кикать не будет, если все игроки на сервере имеют доступ к резервированным слотам.

Переменная относится к плагину reservedslots.smx (входит в состав SourceMod).sm_reserved_slots0Количество зарезервированных слотов. Админы смогут подключиться к серверу, если нет доступных публичных слотов.
Переменная относится к плагину reservedslots.smx (входит в состав SourceMod).sm_hide_slots0Прятать или нет резервные слоты.
1: Да
0: Нет

Переменная относится к плагину reservedslots.smx (входит в состав SourceMod).sm_chat_mode1Разрешает обычным игроки посылать приватные сообщения админам через команду say_team @админ .
Переменная относится к плагину basechat.smx (входит в состав SourceMod).sm_timeleft_interval0Время в секундах между сообщениями "Осталось N минутсекунд до конца карты". Диапазон от 0 до 1800. 0 - отключено.
Переменная относится к плагину basetriggers.smx (входит в состав SourceMod).sm_trigger_show1Показывать сообщения триггеров всем игрокам либо только тому, кто его включил.
Переменная относится к плагину basetriggers.smx (входит в состав SourceMod).sm_vote_progress_hintbox0Показывать или нет процесс голосования в hint-областиsm_vote_progress_chat0Показывать или нет процесс голосования в общем чате
    core.cfg
addons/sourcemod/configs/core.cfgПолный список параметров core.cfg
ПараметрЗначение по умолчаниюОписание переменнойLoggingOnПисать ли лог
on: Да
off: НетLogModedailyРежим записи в лог-файлы:
daily: Создавать новый лог-файл каждый день с сохранением старых
map: Создавать новый лог-файл с сохранением старых при смене каждой карты
game: Использовать логи сервера (т.е. писать в общий лог)ServerLangenЯзык сервера по-умолчанию. На этом языке будут выводится сообщения сервера и плагинов с поддержкой множества языков, если не установлен параметр AllowClLanguageVar "on" либо не удастся его определить. Указывать можно только языки, перечисленные в languages.cfg.PublicChatTrigger!Символ команды сервера.
Если в начале команды стоит этот символ, то всем игрокам будет видна и введёная команда и её результат. Например, если ввести !vote "Нравится ли вам Sourcemod", то игроки увидят текст этой команды в общем чате, а потом и запущенное голосование.SilentChatTrigger/Символ тихого режима команд.
Если в начале команды стоит этот символ, то ведёная команда будет видна только её создателю, а результат всем игрокам. Например, если ввести /vote "Нравится ли вам Sourcemod", то игроки увидят только запущенное голосование.SilentFailSuppressnoЕсли в начале в начале команды использовался символ, определённый параметром SilentChatTrigger, и команда была введена администратором, но сервер не смог её определить, то команда будет показана всем. Этот параметр нужен, чтобы скрыть случайные ошибки в воде команд.
on: Включено
off: Показ ошибочных команд выключенPassInfoVar_passwordНазвание команды, которая определяет пароль у игрока. Этот параметр должен быть установлен у игрока, чтобы он смог использовать пароль для доступа к SourceMod, если таковой для него установлен.AllowClLanguageVaronУказывает SourceMod переводить или нет меню и сообщения сервера на язык, который SourceMod определяет по переменной cl_language, установленной у клиента. Перевод может быть только на языки, перечисленные в languages.cfg.
on: Переводить
off: Не переводитьDisableAutoUpdateoffОтключить автоматическое обновление игровых данных SourceMod. Т.е. файлов в директории gamedata, а не всего SourceMod, как ошибочно полагают многие. По умолчанию автоматическое обновление включено.
on: Обновление отключено
off: Обновление включеноForceRestartAfterUpdateoffПерегрузить SourceMod после обновления. SourceMod будет выгружен и загружен, будет запущена карта сервера по-умолчанию. Т.к. проверка обновлений происходит при загрузке сервера, вмешательство минимальноее. Тем не менее, этот параметр отключен для безопасности.
on: Перезагрузить SourceMod
off: Не перезагружать

Предисловие

Я постарался разбавить сухую документацию о пользовании SourceMod более живым изложением. Убрал лишнее и акцентировал внимание на важных аспектах. Надеюсь, что так будет адекватнее для практического использования. скачать dle 10.6фильмы бесплатно