Сначала нужно скачать последнюю версию плагина с официального сайта http://www.mani-admin-plugin.com/ . На момент написания статьи последней версией является 1.2 Beta S.
Скачиваем файл во временную директорию и распаковываем его. Распаковав, получаем полную структуру папок плагина, начиная собственно с папки игры (пример основан на игре Counter-Strike: Source, поэтому папка игры будет cstrike). Далее идем в папку addons и запускаем файл CreateVDF. В появившемся окошке выбираем из списка тип игры (в нашем случае Counter-Strike: Source) и жмем Save VDF. Сохраняем получившийся файл в ту же папку addons. (Этот шаг обязателен независимо от используемой платформы).
Для установки плагина на сервер, просто скопируйте получившуюся структуру в папку, где установлен сервер.
Пример: вы распаковали плагин в папку C:\temp\mani, а сервер стоит в папке C:\SRCDS. Вам нужно скопировать папку C:\temp\mani\cstrike в папку C:\SRCDS поверх уже существующей там.
Если вы все скопировали верно, то в папке C:\SRCDS\cstrike\addons у вас появятся файлы mani_admin_plugin.dll и т.п.
Перезапустите сервер. Введите в консоли сервера plugin_print - вы должны увидеть список плагинов, среди которых Mani Admin Plugin. Если не увидели - проверьте правильно ли скопированы файлы. (Если вы используете Source MetaMod - команда plugin_print не выдаст плагинов. Используйте команду meta list).
Установка на Metamod: Source ( http://www.sourcemm.net/ )
Вставьте строку addons/mani_admin_plugin/bin/mani_admin_plugin_mm в файл addons/metamod/metaplugins.ini
2. Описание
Теперь перейдем к описанию того, что каждый из файлов делает:
Папка cstrike\addons:
mani_admin_plugin.dll - собственно файл плагина под Windows
mani_admin_plugin.vdf - файл, указывающий серверу откуда необходимо подгрузить плагин
mani_admin_plugin.so - файл плагина под Linux (если вы запускаете сервер под Windows, этот файл можно удалить)
Папка cstrike\addons\mani_admin_plugin\bin:
mani_admin_plugin.dll и mani_admin_plugin.so - это библиотеки плагина под SourceMM для Windows и Linux соответственно. Если вы не знаете, что такое SourceMM или не хотите его использовать - можете просто удалить всю папку
Папка cstrike\cfg:
autoexec.cfg - этот файл не принадлежит самому плагину, а является конфигурационным файлом сервера, подгружаемым при каждом запуске. В версиях плагина 1.2 он не используется (в следующих версиях плагина он будет удален из пакета).
mani_server.cfg - основной файл настройки плагина. Один из двух наиболее важных файлов, именно в нем вам придется копаться больше всего.
Папка cstrike\cfg\mani_admin_plugin:
actionsoundlist.txt - в этом файле прописаны действия, при наступлении которых всем игрокам проигрывается определенных звуковой файл (например вход на сервер, начало голосования и т.п.)
adverts.txt - в этом файле вы можете разместить текстовую рекламу, которая будет демонстрироваться на сервере
cexeclist_all.txt - в этом файле вы можете добавить пункты админского меню и соответствующие им команды. При выборе этих пунктов меню, соответствующие команды будут исполнены на всех клиентах
cexeclist_ct.txt - в этом файле вы можете добавить пункты админского меню и соответствующие им команды. При выборе этих пунктов меню, соответствующие команды будут исполнены на команде CT
cexeclist_player.txt - в этом файле вы можете добавить пункты админского меню и соответствующие им команды. При выборе этих пунктов меню, соответствующие команды будут исполнены на одном выбранном вами игроке
cexeclist_spec.txt - в этом файле вы можете добавить пункты админского меню и соответствующие им команды. При выборе этих пунктов меню, соответствующие команды будут исполнены на всех спектаторах
cexeclist_t.txt - в этом файле вы можете добавить пункты админского меню и соответствующие им команды. При выборе этих пунктов меню, соответствующие команды будут исполнены на команде T
chattriggers.txt - в этом файле настраиваются параметры блокирования say команд. Это полезно для предотвращения флуда популярными командами типа rank, top10 и т.п. Вы можете настроить, что команда будет блокирована полностью (не отобразится в чате и не сработает), блокирована только в чате (не отобразится в чате, но сработает, то есть клиент получит ответ от сервера/плагина) или блокирована в чате определенное количество раз (например будет отображаться в чате каждый 10-й раз)
clients.txt - список админов, групп и клиентов, имеющих иммунитет. Второй самый важный файл в плагине
commandlist.txt - в этом файле вы можете настроить собственные say команды. Например сделать, чтобы "say @rr" выполняло команду "mp_restartgame 1"
crontablist.txt - базовый планировщик действий. Вы можете настроить график автоматического выполнения определенных команд на сервере
database.txt - здесь хранятся параметры доступа к базе данных
decallist.txt - здесь находится список нестандартных декалей, которые будут закачиваться клиентам и использоваться для работы ma_effects или графической рекламы в игре
default_weapon_restrictions.txt - в этом файле хранятся запреты на оружие, которые будут действовать на всех картах на сервере
downloads.txt - в этот файл заносятся любые файлы, которые вы хотите закачать на клиентов
flaglist.txt - список админских флагов. Файл служит исключительно для информации и функциональности не несет
gametypes.txt - служебный файл плагина, определяющий функциональные ограничения для разных игр и модов.
gimpphrase.txt - в этом файле хранятся фразы, на которые будут заменяться любые чат сообщения "юродивого" игрока (подвергшегося команде ma_gimp)
mapadverts.txt - в этом файле хранятся настройки координат и текстур для графической рекламы на картах
pingimmunity.txt - в этом файле хранятся STEAMID или ip адреса клиентов, имеющих иммунитет к ограничениям по пингу
rconlist.txt - в этом файле вы можете настроить пункты админского меню и соответствующие им rcon команды. При выборе этих пунктов меню, на сервере исполнятся соответствующие rcon команды
reserveslots.txt - в этом файле хранятся STEAMID или ip адреса клиентов, обладающих резервными слотами на сервере (админы обладают ими по умолчанию и в этот список их вносить не надо)
restricted_weapons.txt - список оружия, которое админы могут запрещать через меню
soundlist.txt - список алиасов и соответствующих им звуковых файлов, которые можно исполнять на клиентах
spawnpoints.txt - список дополнительных точек респауна на картах. Полезно для серверов, на которых количество слотов выше, чем количество стандартных точек респауна на определенных картах
texturelist.txt - список текстур, необходимых для нестандартных эффектов через ma_effect.
votequestionlist.txt - список пунктов меню и соответствующих им вопросов для голосования. При выборе пункта меню будет запущено голосование с соответствующим вопросом
voterconlist.txt - список пунктов меню и соответствующих им rcon команд. При выборе пункта меню будет запущено голосование за выполнение соответствующей rcon команды.
votemaplist.txt - список карт, за которые могут голосовать игроки при соответствующей настройке в mani_server.cfg. Файл генерируется автоматически при первом запуске плагина, в инсталляционном пакете его нет.
webshortcutlist.txt - список ярлыков и соответствующих им URL адресов. При выполнении ярлыка через say у клиента откроется соответствующий адрес во встроенном в игру браузере
wordfilter.txt - список запрещенных слов, которые будут блокироваться в чате
Папка cstrike/cfg/mani_admin_plugin/language:
english.cfg - этот файл содержит текст, который может быть переведен на другие языки. Этот файл необходим для работы плагина и менять его напрямую не рекомендуется
language.cfg - в этом файле указывается язык, на который переведен плагин. Если в нем указано что либо, отличное от english, в этой же папке должен быть соответствующий cfg файл. Например, если в language.cfg указано russian, то в этой же папке должен находиться файл russian.cfg.
Папка cstrike/cfg/mani_admin_plugin/mani_logs:
В этой папке хранятся логи Mani плагина, если соответствующая настройка указана в mani_server.cfg
Папка cstrike/cfg/mani_admin_plugin/map_config:
В этой папке хранятся конфиги с настройками Mani, специфичными для определенной карты. Конфиги должны называться имя_карты.cfg. Например: de_dust2.cfg
Папка cstrike/cfg/mani_admin_plugin/restrict:
В этой папке хранятся конфиги ограничения оружия, специфические для конктреных карт. Файл должен называться имя_карты_restrict.txt
Папка cstrike/cfg/mani_admin_plugin/skins:
В этой папке хранятся нестандартные скины и файлы ресурсов к ним
Папка cstrike/cfg/mani_admin_plugin/data:
Это - служебная папка.
Папка cstrike/materials/decals/custom/mani_admin_plugin:
В этой папке хранятся текстуры, которые вы можете использовать для графической рекламы на сервере или других целей.
Папка cstrike/sound/admin_plugin:
В этой папке хранятся звуки, которые используются Mani плагином.
3. Настройка
Разобравшись с тем, какой файл за что отвечает, можно перейти к настройке плагина.
Первым делом вам необходимо тщательно изучить файл mani_server.cfg и определиться с желаемыми настройками.
Для того, чтобы настройки подействовали, необходимо добавить в конец файла server.cfg строку "exec mani_server.cfg"
Далее необходимо настроить админов. Для начала разберемся со структурой файла clients.txt (чисто в информативных целях, на практике вам в него лезть не придется):
При начальной установке плагина файл отсутствует. Он будет создан при первом запуске.
Структура нового файла для назначения админов сложнее, чем раньше, но в реальности - удобнее.
Первым делом идем в конец файла и смотрим в раздел "admingroups". Тут прописаны группы доступа. Это ГОРАЗДО удобнее, чем вписывать все флаги на каждого админа.
В отличие от версий 1.1.х по умолчанию все запрещено, и указание флага (буквы) не отбирает права, а дает. Формат задания группы (флаги необходимо указывать через пробел):
"имя_группы" "с п и с о к ф л а г о в"
Флаг admin необходим для получения админских прав. Без него доступа к администрированию не будет независимо от других флагов.
Флаг client дает доступ к управлению списком админов
Флаг pban дает доступ к перманентным банам
Флаг spray дает доступ к отслеживанию спреев игроков
Флаг grav дает доступ к изменению гравитации
Полный список флагов описан в файле flags.txt
Разобравшись с группами переходим к админам:
Все админы прописываются в секции "players".
Первое поле - ID, отделяющего одного админа от другого. По этому полю идентифицируется админ, так что делайте его понятным (пример: admin1 - полохое, обозначение, Vasya Pupkin - хорошее).
Дальше идут параметры:
"name" - понятное вам и другим имя админа
"steam" - SteamID админа
"admingroups" - группы админа
"immunityflags" - параметры иммунитета
"adminflags" - параметры доступа к админским функциям (аналогично тому, как мы делали в группах)
"ip" - ip адрес админа если вы хотите назначать админов по адресам
"nick" - ник админа, если вы хотите назначать админов по никам
"password" - пароль админа (используется только при назначении по никам)
Любой из параметров, кроме пароля, может содержать несколько значений.
Теперь собственно назначение админов:
Способ 1: Нормальный
Все операции по назначению админов, можно делать прямо из игры или с консоли сервера с помощью команды ma_client и ma_clientgroup.
Проделать это вам необходимо как минимум раз, т.к. добавление через меню (Способ 2) возможно только, если настроен хотя бы один админ.
Параметры я расписал выше, так что теперь просто приведу последовательность команд, которая создает группу с полным доступом, одного админа, устанавливает его SteamID, включает его в группу и дает полный иммунитет (+# при назначении флагов означает "все флаги", индивидуальные флаги добавляются по одному "+a +b +c":
ma_clientgroup addagroup "Full Access" "+#"
ma_client addclient "Newbie"
ma_client addsteam "Newbie" "STEAM_0:1:4562525"
ma_client setaflag "Newbie" "+admin +client"
ma_client addagroup "Newbie" "Full Access"
ma_client setiflag "Newbie" "+#"