Overview
Вы обзавелись собственным сервером на движке Source и теперь хотите стать полноправным администратором своего виртуального мира. Это не так сложно и страшно, как может показаться сначала или как вас запугали друзья “крутые админы”, о чем я Вам и поведаю на страницах этой статьи.
Общие сведения
Что такое SourceMod?
Правильно сказать, что SourceMod – это плагин для MetaMod:Source, который в свою очередь является прослойкой между движком Source и плагинами. Другими словами, он даёт нам возможность модифицировать игру по нашему желанию с помощью простейших действий – как использования функций самого SourceMod, так и устанавливая плагины.
Так для чего нужен SourceMod?
А предназначен он, во-первых, дабы облегчить жизнь нам, админам, а во-вторых, повторюсь, для запуска дополнительных плагинов, преносящих как изменения игры, так и дополнительные возможности, опять же, нам, админам. . SourceMod даёт огромное количество вкусностей: это и кик/бан игроков парой нажатий, всевозможные голосовалки, смена конфигов, наказания тимкиллеров вроде поджога или ходячей бомбы, смена карты, установка параметров сервера прямо из строки чата или консоли и куча других фан-команд. Итак, приступим.
Установка
Качаем последние версии
MetaMod: Source
- Стабильные сборки [www.sourcemm.net]
- Нестабильные сборки [www.sourcemm.net]
SourceMod
- Стабильные сборки [www.sourcemod.net]
- Нестабильные сборки [www.sourcemod.net]
Что конкретно качать и устанавливать – решать вам. Я же рекомендую сначала всегда пробовать стабильную версию. Если будут проблемы, что часто бывает после выхода обновления сервера, то надо пробовать последнюю нестабильную сборку.
Подготовим наши моды к установке на сервер.
Сначала создадим у себя на диске директорию и назовем её, например, 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 и подгрузил ли он свои плагины:
Должны получить в ответ что-то вроде:
Если же в ответ вы получили:
То проверьте наличие файла metamod.vdf в папке addons, либо читайте логи, которые появятся в директории logs – там будут выводится ошибки.
Теперь проверим SourceMod:
В ответ что то вроде:
Итак, мы убедились в работоспособности SourceMod, приступим к настройке.
Настройка
Настройка SourceMod заключается в редактировании конфигурационных (.cfg) файлов. Их довольно много, но нас интересуют всего несколько. Я разобью настройку на несколько этапов, где укажу, какие конфиги нужно править.
- Создание администраторов
Информация об администраторах может храниться в двух файлах:
В первом файле проще, во втором нагляднее. Какой именно использовать, решать вам. Можно и в обоих.
Формат admins_simple.ini до безобразия прост:
или
Т.е. каждая строка файла содержит Steam ID администратора, его иммунитет и его права – флаги или группа (обязательно впереди поставить ‘@’).
Иммунитет олицетворяет иерархию администраторов сервера – игроки с высшим иммунитетом могут применять действия, которые описываются флагом, к другим игрокам с более низким иммунитетом или вовсе без него.
Флаг же как раз указывает те действия, которые и может применять администратор и может принимать значения:
Пример файла admins_simple.ini:
В файле admins.cfg информация хранится в более расширенном и наглядном виде:
Дабы закрепить материал, запишем наших администраторов из admins_simple.ini в admins.cfg:
Создание групп администраторов
Группы позволят нам применять одинаковый набор иммунитета и флагов сразу нескольким администраторам. При этом не нужно в описании каждого администратора указывать отдельно иммунитет или флаги. Для описания групп используется файл
Я не буду приводить тут полное описание конфига, лишь базовые принципы, которые нам очень пригодятся. Если же вам интересно, то можете получить более развернутую информацию на страницах техподдержки самого SourceMod.
Итак, формат групп такой:
Теперь на примере admins.cfg создадим наш собственный admin_groups.cfg, в который вынесем группы:
И перепишем admins.cfg, в котором укажем группы вместо флагов и иммунитета:
Теперь мы можем добавлять новых админов в только что созданные группы и не думать о флагах и иммунитете. Согласитесь, очень удобно!
Вывод сообщений и меню администратора на русском языке
Сначала надо внести русский в список доступных серверу языков:
Если есть желание, можно жёстко заставить сервер выдавать по-умолчанию все сообщения на русском, но я это не рекомендую – лучше оставить как есть, а выводить сообщен на на языке, который определяется автоматически по переменной cl_language, установленной у игрока. Тем не менее, чтобы установить язык меню и сообщений по-умолчанию на русский, вы можете внести в core.cfg следующий параметр:
Обратите внимание, что здесь можно указать только язык, определённый в файле languages.cfg.
А чтобы установить автоматическое определение языка, в этом же файле пропишем параметр:
Базовые настройки
Я приведу только наиболее часто используемые параметры.
- sourcemod.cfg
Полный список параметров sourcemod.cfg
1: рядовые игроки не видят, кто именно совершил действие
2: если 1 установлен, то игрокам будет показан ник админа
4: админы не видят, кто именно совершил действие
8: если 4 установлен, то админы видят, кто именно совершил действие
16: всегда показывать ники админам с флагом ‘z’
По умолчанию установлено 1+4+8
1: включены
0: отключены
Дальнейшие настройки звуков производятся в addons/sourcemod/configs/core.cfg
0: Игнорировать иммунитет
1: Защищать админов с более высоким иммунитетом
2: Защищать админов с более высоким или равным иммунитетом
3: Защищать админов с более высоким или равным иммунитетом, а также позволить админам без иммунитета совершать действия друг над другом
0: Резервировать слоты. Например, если на сервер на 24 слота, зарезервированы 2, то доступны будут только 22 слота.
1: Не резервировать слоты, но при заходе админа будет кикнут игрок с максимальной задержкой и без права доступа к резервированному слоту. Причём сначала кикаются спектаторы, если их нет, то игроки. Единственный вариант, когда никого кикать не будет, если все игроки на сервере имеют доступ к резервированным слотам.
Переменная относится к плагину reservedslots.smx (входит в состав SourceMod).
Переменная относится к плагину reservedslots.smx (входит в состав SourceMod).
1: Да
0: Нет
Переменная относится к плагину reservedslots.smx (входит в состав SourceMod).
Переменная относится к плагину basechat.smx (входит в состав SourceMod).
Переменная относится к плагину basetriggers.smx (входит в состав SourceMod).
Переменная относится к плагину basetriggers.smx (входит в состав SourceMod).
- core.cfg
Полный список параметров core.cfg
on: Да
off: Нет
daily: Создавать новый лог-файл каждый день с сохранением старых
map: Создавать новый лог-файл с сохранением старых при смене каждой карты
game: Использовать логи сервера (т.е. писать в общий лог)
Если в начале команды стоит этот символ, то всем игрокам будет видна и введёная команда и её результат. Например, если ввести !vote “Нравится ли вам Sourcemod”, то игроки увидят текст этой команды в общем чате, а потом и запущенное голосование.
Если в начале команды стоит этот символ, то ведёная команда будет видна только её создателю, а результат всем игрокам. Например, если ввести /vote “Нравится ли вам Sourcemod”, то игроки увидят только запущенное голосование.
on: Включено
off: Показ ошибочных команд выключен
on: Переводить
off: Не переводить
on: Обновление отключено
off: Обновление включено
on: Перезагрузить SourceMod
off: Не перезагружать
Предисловие
Я постарался разбавить сухую документацию о пользовании SourceMod более живым изложением. Убрал лишнее и акцентировал внимание на важных аспектах. Надеюсь, что так будет адекватнее для практического использования.