Управление администраторами в SourceMod
В SourceMod можно очень гибко и подробно настроить административный доступ. Чтобы упростить этот процесс в нем имеется ряд значений(флагов).
СоурсМод также имеет два варианта сохранения администраторов. Первый через плагин admin-flatfile.smx, он работает по умолчанию. Этот способ хранит данные у вас в папке мода, в виде текстового файла. Другой вариант хранит данные в базе SQL.
SourceMod имеет три метода аутентификации:
1.
Steam ID (уникальный номер Стим аккаунта)
2.
IP-адрес (лучше использовать для локальных сетей, где он статический)
3.
Имя (идентификация по паролю)
Быстрый старт:
Откройте файл на сервере
[папка мода]/addons/sourcemod/configs/admins_simple.ini
Удалите в этом файле весь текст и напечатайте следующее - "yoursteamid" "99:z", где yoursteamid это ваш Steam ID идентификатор.
Сохраните файл и наберите в консоле сервера команду sm_reloadadmins, затем зайдите на сервер и попробуйте открыть админ меню(команда sm_admin вводится в консоле игры)
Давайте подробнее рассмотрим эту строчку
"yoursteamid" "99:z"
yoursteamid - Steam ID идентификатор(формат - STEAM_n:o:p)
99 - уровень иммунитета
z - уровень доступа(флаг)
Уровни доступа:
Название | Флаг | Описание |
reservation | a | Позволяет использовать резервные слоты |
generic | b | Флаг администратора |
kick | c | Даёт возможность выкидывать игроков с сервера |
ban | d | Даёт возможность банить игроков |
unban | e | Поставив этот флаг вы дадите возможность разбанивать игроков |
slay | f | С этим флагом можно убивать игроков |
changemap | g | Этот флаг отвечает за возможность смены карты |
cvar | h | Можно менять переменные(квары) |
config | i | Возможность подгружать конфиги |
chat | j | Специальные привилегии в чате(команды sm_csay,sm_msay и тд) |
vote | k | Управление голосованиями |
password | l | Возможность устанавливать пароль на сервер |
rcon | m | Разрешает использовать RCON команды |
cheats | n | Можно менять переменную sv_cheats и пользоваться читами |
root | z | Полный доступ ко всем командам |
custom1 | o | Специальный флаг 1 |
custom2 | p | Специальный флаг 2 |
custom3 | q | Специальный флаг 3 |
custom4 | r | Специальный флаг 4 |
custom5 | s | Специальный флаг 5 |
custom6 | t | Специальный флаг 6 |
Иммунитет:
Система иммунитета дает возможность защитить одних администраторов от других. Например администратор с иммунитетом в 5 не может произвести какие либо действия с админом, у которого иммунитет 20, а вот тот у кого иммунитет выше 20, может. По умолчанию имея одинаковый уровень иммунитета администраторы могут совершать над друг другом действия. Это можно изменить с помощью переменной sm_immunity_mode в файле cfg/sourcemod.cfg.
Пароли:
Для работы системы паролей, нужно изменить строку
"PassInfoVar" в
addons/sourcemod/configs/core.cfg. Например:
"PassInfoVar" "_sm1337"
Примечание: Если вы используете ностим(no Steam) сервер, то настройка "PassInfoVar" "_sm1337" работать не будет, надо поменять _sm на _pw(для версий СоурсМода 1.1 и выше)
Далее, администратор имеющий пароль должен установить пароль через консоль клиента, введя туда
setinfo. Например, с помощью примера выше, Vasya нужно набрать:
setinfo "_sm1337" "mczone"
Для автоматизации процесса можно создать
"autoexec.cfg", в папке игрового клиента. Расположение будет следующее -
SteamApps\ACCOUNT\[game]\[gameabbr]\cfg. Например:
C:\Program Files\Steam\steamapps\vasya\Team Fortress 2\tf\cfg
Также можно поставить пароль при подключении. Если идентификация по Steam или Ip, то привилегии будут автоматически назначаться, пароль должен быть также правильным. Если идентификация у вас по нику, то нужно сначала ввести пароль, а потом уже устанавливать ник, иначе вас выкинет с сервера.
Простой способ добавить администратора:
Данный способ является самым быстрым и простым вариантом добавления администраторов на сервер. Открываем конфиг -
configs/admins_simple.ini(все содержимое лучше сразу стереть) и добавляем туда строки в зависимости от желаемого результата.
Настройка достаточно гибкая и может иметь следующую информацию:
Значение уровня иммунитета, после него следуем двоеточие (':');
Строка флагов;
Название группы, перед ним символ '@'
Пример:
"STEAM_0:1:16" "bce"
"!127.0.0.1" "5:z"
"Vasya" "abc" "mczone"
Подробнее:
Тип идентификации | Флаг\Иммунитет | Описание |
"STEAM_0:1:16" | "bce" | Идентификация по SteamID. Привелегии: флаг администратора, возможность кикать и разбанивать игроков. Иммунитет отсутствует. |
"!127.0.0.1" | "5:z" | Идентификация по IP-адресу. Полные привилегии. Иммунитет пятого уровня. |
"Vasya" | "abc" "mczone" | Идентификация по имени Vasya c паролем mczone. Привелегии: флаг администратора, доступ к резервным слотам и возможность кикать. |
Продвинутый способ добавления администраторов:
Альтернативный вариант добавления админов на сервер возможен через конфиг
configs/admins.cfg, он более детальный и гибкий чем прошлый(формат KeyValue). Для каждого администратора выделен специальный блок внутри основного. Для облегчения процесса есть спициаьная программа
KVManager. Пример формата текста следующий:
Admins
{
"Admin Name"
{
"auth" "[steam|name|ip]"
"identity" "[unique id]"
"[option1]" "[value1]"
"[option2]" "[value2]"
/* .... */
}
}
Доступные настройки:
auth(авторизация) - Обязательно. Необходимо выбрать один из вариантов: SteamID,Имя,Ip-адрес.
identity(идентификация) - Обязательно. Эта опция позволяет авторизовать по уникальному значению пользователя.
password(пароль) - Опционально. Указывает пароль, который пользователь должен ввести.
group(группа) - Опционально. Указывает имя группы пользователя. Можно указать больше одной группы, но для этого используйте символ "@".
flags(флаги) - Опционально. Флаги доступа, которые получает пользователь.
immunity(иммунитет) - Опционально. Уровень иммунитета, который получает пользователь.
Примечание: Имя администратора указывать не обязательно. Оно предназначено для удобства пользования сторонних утилит и пользователей.
Пример готового конфига:
Admins
{
"Vasya"
{
"auth" "steam"
"identity" "STEAM_0:1:2345"
"flags" "abcdef"
"immunity" "5"
"group" "Awesome Admins"
}
"Pink Crab"
{
"auth" "steam"
"identity" "STEAM_0:1:666666"
"flags" "z"
"immunity" "99"
}
}
Полезные ссылки:
Установка и настройка SourceMod
Описание команд администратора
Групповая политика в SourceMod-е
Дополнительная конфигурация разрешений(доступа к командам)