SourceMod имеет весьма подробную и гибкую систему управления, она может быть достаточно сложной для пользователей. Чтобы упростить эти вещи, существуют “флаги” которые уточняют общие права, которые могут иметь администраторы.
Кроме того, в настоящее время предусмотрено два способа хранения администраторов. Один через упрощенный простой файл, а другой с помощью более сложных ветвящихся конструкций на основе нескольких файлов.
SourceMod по умолчанию предусматривает три метода аутентификации:
Steam ID – уникальный для каждого Steam аккаунта
IP Address – уникальный IP адрес полученный компьютером (хорошо использовать в локальной сети, где IP адреса статические)
Name – по имени (требуется пароль)
1.Быстрый старт
Откройте файл /mod/addons/sourcemod/configs/admins_simple.ini на вашем сервере
Добавьте новую строку и напишите в ней следующее, заменив yoursteamid на ваш SteamID (узнать можно написав в консоли status) вида
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 файле.
Например:
Внимание! Если вы используете no-steam сервер, то настройка по умолчанию "PassInfoVar" _password работать не будет, необходимо обязательно изменить параметр, например на _pw (Это действительно для версий SourceMod'a 1.1 и выше).
Далее, если администратор имеет пароль, то он или она должны установить пароль через команду setinfo в консоли клиента. Например, с помощью примеров выше, игроку Andrey необходимо набрать:
Для автоматизации этого процесса при подключении к серверу, вы можете создать "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. Формат выглядит следующим образом:
Доступные опции:
Админское имя не является обязательным (это поле может быть пустым). Это не для внутреннего использования и предназначено для удобства пользования сторонними участниками и различных инструментов.
Пример:
KVManager
Описание:
Программа для редактирования admins.cfg и admin_groups.cfg файлов.
Страничка программы: http://forums.alliedmods.net/showthread.php?t=81160
Требования:
Microsoft .NET Framework 3.5
Кроме того, в настоящее время предусмотрено два способа хранения администраторов. Один через упрощенный простой файл, а другой с помощью более сложных ветвящихся конструкций на основе нескольких файлов.
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"
Например:
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