Ставим Mani Admin Plugin
Теперь, когда у нас есть установленный и запущенный сервер, нам пора озаботиться вопросами его администрирования. Не секрет, что встроенным Valve средствам администрирования не достает как гибкости, так и банальной функциональности. Так что, если вы хотите облегчить управление собственным сервером, вам нужен сторонний плагин. Двумя наиболее популярными админ-плагинами являются Mani Admin Plugin и BeetleFart MinimumAdmin Mod. Я расскажу вам только о первом в силу следующих причин:
- С Mani Admin Plugin я знаком гораздо больше, а значит могу рассказать о нем лучше
- Лично мне кажется, что Mani обладает более широкой функциональностью и удобством
- Mani является самым распространенным админ-плагином в мире (на данный момент более половины всех Counter-Strike: Source серверов работают под управлением Mani).
- Плагин непрерывно обновляется, обрастая все большей функциональностью
- Автор плагина прислушивается к нуждам коммьюнити и четко представляет будущее развитие плагина
- К тому же автор плагина просто замечательный человек
Прежде, чем перейти к описанию установки, хочу заметить, что детальное описание всех настроек плагина последует позже (причем вероятно значительно позже) просто по соображениям времени. Сейчас я просто расскажу как устанавливать плагин, как назначать админинов и какие конфигурационные файлы за что отвечают.
I. Установка
Первым делом необходимо скачать последнюю версию плагина. На данный момент ею является 1.2 Beta L. Пусть вас не пугает приставка Beta - единственное что отделяет плагин от избавления от нее - это возможность назначать админов через меню. В остальном - это вполне стабильный билд.
Итак, следуем на http://mani-admin-plugin.com, скроллим вниз до первой новости о релизе и выбираем полную версию плагина для вашей игры из списка ссылок.
Скачиваем файл во временную директорию и распаковываем его. Распаковав получаем полную структуру папок плагина, начиная собственно с папки игры (я буду приводить примеры на основе Counter-Strike: Source, поэтому папка игры будет cstrike).
Далее идем в папку addons и запускаем файл CreateVDF. В появившемся окошке выбираем из списка тип игры (в нашем случае Counter-Strike: Source) и жмем Save VDF. Сохраняем получившийся файл в ту же папку addons. (Этот шаг обязателен независимо от используемой платформы).
Для установки плагина на сервер, просто скопируйте получившуюся структуру в папку, где установлен сервер.
Пример: вы распаковали плагин в папку c:\temp\mani, а сервер стоит в папке c:\server. Вам нужно скопировать папку c:\temp\mani\cstrike в папку c:\server поверх уже существующей там.
Если вы все скопировали верно, то в папке c:\server\cstrike\addons у вас появятся файлы mani_admin_plugin.dll и т.п.
Перезапустите сервер. Введите в консоли сервера plugin_print - вы должны увидеть список плагинов, среди которых Mani Admin Plugin. Если не увидели - проверьте правильно ли скопированы файлы. (Если вы используете Source MetaMod - команда plugin_print не выдаст плагинов. Используйте команду meta list).
II. Описание
Теперь перейдем к описанию того, что каждый из файлов делает:
Папка 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. Текущая версия russian.cfg всегда находится по адресу http://newbie.nashalife.ru/mani/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 плагином.
III. Настройка
Разобравшись с тем, какой файл за что отвечает, можно перейти к настройке плагина.
Первым делом вам необходимо тщательно изучить файл mani_server.cfg и определиться с желаемыми настройками. Детальное описание каждой из них приведено в следующем сообщении. Вы также можете воспользоваться примером моего файла по адресу http://newbie.nashalife.ru/mani/mani_server.cfg
Для того, чтобы настройки подействовали, необходимо добавить в конец файла server.cfg строку "exec mani_server.cfg" (без кавычек).
Далее необходимо настроить админов. Для начала разберемся со структурой файла clients.txt (чисто в информативных целях, на практике вам в него лезть не придется):
При начальной установке плагина файл отсутствует. Он будет создан при первом запуске.
Структура нового файла для назначения админов сложнее, чем раньше, но в реальности - удобнее.
Пример файла можно глянуть тут:
http://newbie.nashalife.ru/mani/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" "+#"
Способ 2: Через меню
Тут все элементарно. Назначив себя админом, заходите на сервер, вызываете админское меню (команда admin) и назначаете админов следуя инструкциям в меню.
Способ 3: Если у вас были более ранние версии плагина (1.1.х):
Обновляем плагин с 1.1.х до 1.2 Beta и запускаем сервер. Новая версия плагина обнаружив файлы adminlist.txt, admingroups.txt, immunitylist.txt и immunitygroups.txt автоматически сгенерит clients.txt (в котором теперь хранятся данные об админах) и добавит к расширению старых файлов .old. Все
Плюсы: ничего делать не надо, плагин делает все сам
Минусы: Работает только один раз. Вернее не один, можно конечно вносить изменения в adminlist.txt, удалять clients.txt, перезапускать сервер и позволять плагину генерить clients.txt заново при каждом добавлении админа... Но согласитесь, это геморр.
Все, плагин установлен, настроен и готов к работе. Наслаждайтесь