SourceMod имеет весьма подробную и гибкую систему управления, она может быть достаточно сложной для пользователей. Чтобы упростить эти вещи, существуют “флаги” которые уточняют общие права, которые могут иметь администраторы.
Кроме того, в настоящее время предусмотрено два способа хранения администраторов. Один через упрощенный простой файл, а другой с помощью более сложных ветвящихся конструкций на основе нескольких файлов.
SourceMod по умолчанию предусматривает три метода аутентификации:
Steam ID – уникальный для каждого Steam аккаунта
IP Address – уникальный IP адрес полученный компьютером (хорошо использовать в локальной сети, где IP адреса статические)
Name – по имени (требуется пароль)

1.Быстрый старт
Откройте файл /mod/addons/sourcemod/configs/admins_simple.ini на вашем сервере
Добавьте новую строку и напишите в ней следующее, заменив yoursteamid на ваш SteamID (узнать можно написав в консоли status) вида
Код:
STEAM_n:o:p

Код:
//
// READ THIS CAREFULLY! SEE BOTTOM FOR EXAMPLES
//
// For each admin, you need three settings:
//  "identity"        "permissions"        "password"
//
// For the Identity, you can use a SteamID or Name.  To use an IP address, prepend a ! character.
// For the Permissions, you can use a flag string and an optional password.
//
// PERMISSIONS:
//  Flag definitions are in "admin_levels.cfg"
//  You can combine flags into a string like this:
//  "abcdefgh"
//
//  If you want to specify a group instead of a flag, use an @ symbol.  Example:
//  "@Full Admins"
//
//    You can also specify immunity values.  Two examples:
//    "83:abcdefgh"            //Immunity is 83, flags are abcdefgh
//    "6:@Full Admins"        //Immunity is 6, group is "Full Admins"
//
//    Immunity values can be any number.  An admin cannot target an admin with
//    a higher access value (see sm_immunity_mode to tweak the rules).  Default
//  immunity value is 0 (no immunity).
//
// PASSWORDS:
//  Passwords are generally not needed unless you have name-based authentication.
//  In this case, admins must type this in their console:
//
//   setinfo "KEY" "PASSWORD"
//
//  Where KEY is the "PassInfoVar" setting in your core.cfg file, and "PASSWORD"
//  is their password.  With name based authentication, this must be done before
//  changing names or connecting.  Otherwise, SourceMod will automatically detect
//  the password being set.
//
////////////////////////////////
// Examples: (do not put // in front of real lines, as // means 'comment')
//
//   "STEAM_0:1:16"        "bce"                //generic, kick, unban for this steam ID, no immunity
//   "!127.0.0.1"        "99:z"                //all permissions for this ip, immunity value is 99
//   "BAILOPAN"            "abc"    "Gab3n"        //name BAILOPAN, password "Gab3n": gets reservation, generic, kick
//
////////////////////////////////

"ВАШ СТИМ ИД" "99:z" //Комментирование строки

2. Уровни доступа по флагам.

a
- резервный слот
b - администратор, флаг требуется для админов
c - использование команды kick (кикание)
d - использование команды ban (бан)
e - использование команды unban (снять бан)
f - использование команды slay
g - разрешение менять карты
h - разрешение менять настройки сервера (cvar's)
i - смена используемого конфига
j - специальные привилегии в чате
k - доступ к запуску голосования
l - разрешение устанавливать пароль на сервере
m - разрешение использовать удаленную консоль для управления сервером
n - разрешение менять параметр sv_cheats и связанные с ним параметры
o - специальный флаг C
p - специальный флаг D
q - специальный флаг E
r - специальный флаг F
s - специальный флаг G
t - специальный флаг H
z - root (обладает всеми выше перечисленными флагами)

3.Иммунитет
В SourceMod иммунитет это гибкая система основанная на уровнях иммунитета.
Каждый администратор может иметь произвольную величину иммунитета установленного у него. Но если администратор должен совершить действие над другим администратором, то успешность действия будет зависеть от величины иммунитета у администратора. Например один администратор с иммунитетом 2 захочет кикнуть администратора с уровнем иммунитета 3, но у него это не получиться, будет выдано сообщение о недостаточном количестве прав доступа и о наличие более высокого иммунитета у другого игрового администратора.
По умолчанию, администраторы с одинаковым иммунитетом, могут совершать действия друг над другом. Это может быть изменено с помощью переменной sm_immunity_mode в файле cfg/sourcemod.cfg.

4.Пароли
Для работы паролей администратор сервера должен изменить "PassInfoVar" строку в addons/sourcemod/configs/core.cfg файле.
Например:
Код:
"PassInfoVar"                   "_sm1337"

Внимание! Если вы используете no-steam сервер, то настройка по умолчанию "PassInfoVar" _password работать не будет, необходимо обязательно изменить параметр, например на _pw (Это действительно для версий SourceMod'a 1.1 и выше).
Далее, если администратор имеет пароль, то он или она должны установить пароль через команду setinfo в консоли клиента. Например, с помощью примеров выше, игроку Andrey необходимо набрать:
Код:
setinfo "_sm1337" "hlmod"
Для автоматизации этого процесса при подключении к серверу, вы можете создать "autoexec.cfg" файл в вашем cstrike папке вашей игры. Он находится в папке SteamApps\ACCOUNT\Counter-Strike Source\cstrike\cfg.
Например:
C:\program files\steam\steamapps\andrey\counter-strike source\cstrike\cfg
Вы также можете установить пароль при подключении. Проверка Steam и IP подлинности ваших административных привилегий будет сделана автоматически, если пароль правильный. Если проверка подлинности пароля происходит по нику, необходимо сначала авторизоваться, прежде чем изменить свое имя, или же вы будете кикнуты с сервера.

5.Простое добавление администраторов
Самый простой способ добавить администратора через конфигурационный файл admins_simple.ini.
Это простой файл, который требует два параметра в строке: проверка подлинности информации, а также флаги. Строка флагов несколько гибкая и может иметь следующую информацию:
Опционально уровень иммунитета, а затем двоеточие (':');
Строка флагов;
Название группы, до него символ @.
Далее три примера:
"STEAM_0:1:16" "bce" //админ, кик, unban для этого steamID. Нет иммунитета
"!127.0.0.1" "5:z" //все права для этого IP адреса, уровень иммунитета = 5
"Andrey" "abc" "********" //имя Andrey, пароль "********": резервный слот, админ, кик

6.Детальная настройка администраторов
Кроме того, вы можете добавить админов через конфигурационный файл admins.cfg, более продвинутый файл сохраняется в формате KeyValues. Каждый администратор имеет собственный блок внутри основного "Админского" блока. Вы можете создавать и/или модифицировать admins.cfg файлы с помощью KVManager. Формат выглядит следующим образом:
Код:
  Admins
  {
           "Admin Name"
           {
                     "auth"           "[steam|name|ip]"
                     "identity"       "[unique id]"
                     "[option1]"    "[value1]"
                     "[option2]"    "[value2]"
                     /* .... */
           }
  }
Доступные опции:

  • auth: Авторизация: Требуется обязательно. Моет принимать значения только steam, name или IP (если есть пользовательский метод аутентификации), это является инструкцией SourceMod’у по какому параметру идентифицировать пользователя.
  • identity: Идентификация: Требуется обязательно. Уникальная величина, которая позволяет SourceMod найти администратора предоставленным методом аутентификации и учета величин.
  • password: Пароль: Необязательный. Задает пароль пользователя, который необходимо ввести, если авторизация происходит по нику (см. выше раздел, посвященный паролям).
  • group: Группа: Необязательный. Определяет имя группы, которую должен унаследовать пользователь, если это возможно. Можно указывать больше чем одну группу. Там должен быть '@' в качестве символа, чтобы избежать двусмысленности.
  • flags: Флаги: Необязательный. Флаги доступа которые пользователь должен получать по умолчанию.
  • immunity: Необязательный. Уровень иммунитета, получаемый пользователем.

Админское имя не является обязательным (это поле может быть пустым). Это не для внутреннего использования и предназначено для удобства пользования сторонними участниками и различных инструментов.

Пример:
Код:
  Admins
  {
           "Andrey"
           {
                     "auth"           "steam"
                     "identity"       "STEAM_0:1:2345"
                     "flags"          "abcdef"
                     "immunity"    "5"
                     "group"                  "Awesome Admins"
           }

           "Blue Crab"
           {
                     "auth"           "steam"
                     "identity"       "STEAM_0:1:666666"
                     "flags"          "z"
  "immunity"    "99"
           }
  }

KVManager

Описание:

Программа для редактирования admins.cfg и admin_groups.cfg файлов.
Страничка программы: http://forums.alliedmods.net/showthread.php?t=81160

Требования:
Microsoft .NET Framework 3.5