Sourcemod – это плагин с расширенными функциями для управления игровыми серверами на движке Source (CSS, DODS, TF2). Так же имеет админку (как и Mani Plugin), но плюс ко всему служит базовой основой для многих модификаций (Deathmatch, ZombieMod, GoreMod и т.д.)
Для установки SourceMod’a необходимо наличие на сервере установленного Metamod:Source. Последняя версия Metamod:Source 1.4.4, скачать можно в в файловом архиве
Установка на сервер Metamod:Source: скачать архив для Windows, распаковать. В папке addons создать папку metamod, а в папке metamod создать папку bin – туда положить файл server.dll. Далее в папке metamod нужно создать текстовый файл конфигурации (с помощью блокнота) и назвать его «metaplugins», сохранив его с раширением ini (metaplugins.ini).
Найти файл "gameinfo.txt" (он хранится прямо в корне сервера), открываем, ищем строки: Добавляем строку в этот блок в начале: GameBin |gameinfo_path|addons/metamod/bin Должно все выглядеть так: На этом установка завершена.
Установка на сервер Sourcemod: скачать архив для Windows (последняя версия 1.0.4, доступна в в файловом архиве ). Распаковать скачанный архив в папку /cstrike (если надо поставить на CSS; для TF2 это /orangebox/tf; для HL2:DM это /hl2mp).
Далее надо отредактировать файл metaplugins.ini (addons/metamod/metaplugins.ini), добавить туда строчки (чтобы “включить” сурсмод):
addons/sourcemod/bin/sourcemod_mm.dll
Запустить сервер и проверить наличие включенного сурсмода, пишем в консоли meta list если все установлено правильно, то нам сервер выдаст версию Сурсмода
Меню админа вызывается в игре консольной командой sm_admin
Администрирование (добавление администратора)
Находим и редактируем файл addons/sourcemod/configs/admins_simple.ini. Добавлять можно администраторов по одному из трех параметраv: STEAM_ID, IP и логину. Рассмотрим добавление администратора по STEAM_ID
В самом конце документа добавляем одну строчку:
"STEAM_0:1:123456" "bce" //kick, ban, slay for this steam ID. no immunity где “STEAM_0:1:123456” - ваш стим-айди, “bce” - флаги доступа (указывают какие права имеет администратор).
Описание флагов:
a - резервация (присоединение к игре с использованием резервного слота)
b - базовое администрирование, необходимое для админа
c - использование команды kick
d - использование команды ban
e - использование команды unban
f - использование команды slay/ущерб
g - смена карты, или особенностей игрового процесса
h - изменение большинства переменных /cvar
i - запуск/выполнение конфигурационных файлов
j - использование привилегий чата
k - доступ к использованию/созданию голосований
l - доступ к установке пароля на сервере
m - доступ к использванию rcon-комманд
n - использваоние переменной sv_cheats и других чит-команд
z - допускает ко всем флагам
Что касается иммунитета админов, то в SourceMod это - гибкая система, основанная на уровнях неприкосновенности. У каждого админа может быть произвольное значение иммунитета, установленное на них. Может ли один админ применить комманды к другому админу зависит от того, у кого есть более высокое значение неприкосновенности. По умолчанию, админы с одним и тем же уровнем иммунитета могут адресовать комманды друг другу. Измененения дефолтных параметров выставляется через sm_immunity_mode в cfg/sourcemod.cfg.
Существует также альтернативный способ добавления админов через configs/admins.cfg, это более продвинутый способ, с использованием системы формата KeyValues.
Каждый админ имеет свой собственный блок в главном блоке "Admin".
Формат следующий:
Доступные опции:
- auth(авторизация): Обязательное требование: Должен быть указан один из 3-х параметров определения админа (STEAM_ID, имя/логин, IP);
- identity(идентификация): Обязательное требование: Уникальное значение, по которому Sourcemod определяет админа;
- password(пароль): Дополнительно: Пароль, который должен ввести пользователь при наличии авторизации по паролю (админ);
- group(группа): Дополнительно: Определяет название группы, к которой привязан пользователь. Может быть определено более одной группы;
- flags(флаги): Дополнительно: Флаги доступа по умолчанию, которые пользователь должен получить;
- immunity(иммунитет): Дополнительно: Значения иммунитета по умолчанию, которые пользователь должен получить.
Имя “admin” является дополнительным (поле может быть чистым). Это не используется и предназначено удобства.