RE:NODE

Руководства10 мин чтения

Сравнение админ-плагинов для игровых серверов

Какой админ-инструмент использует каждая игра - SourceMod, AMX Mod X, CounterStrikeSharp, ULX и SAM, LuckPerms, Oxide, txAdmin, TShock - что они дают и чего нет в ванилле.

0 прочтений

Большинство игровых серверов поставляются с одним грубым админ-инструментом - паролем, который даёт всё, - а настоящая система администрирования приходит из плагинного фреймворка. Какой именно вы используете, в основном решает игра: SourceMod для игр на Source 1, AMX Mod X для GoldSrc, админ-плагины на CounterStrikeSharp для CS2, ULX или SAM для Garry's Mod, LuckPerms плюс EssentialsX для Minecraft, права Oxide или Carbon для Rust, txAdmin и права ACE для FiveM, TShock для Terraria, RocketMod или OpenMod для Unturned. Там, где выбор всё-таки есть, он сводится к трём вещам: получают ли админы гранулярные права вместо принципа "всё или ничего", записываются ли действия с указанием того, кто что сделал, и поддерживается ли инструмент для текущей версии игры. В этой статье они сравниваются именно по этим критериям.

Что даёт ванилла и почему этого мало#

Если убрать плагины, большинство игр предлагают одну из трёх моделей администрирования:

  • Один пароль на всё. RCON в играх на Source, AdminPassword в Palworld и ARK, пароль для #login в Arma 3. Любой, кто его знает, может сделать что угодно, а в логах записано только то, что это сделал "админ".
  • Список ID с полными правами. adminlist.txt в Valheim, ops.json в Minecraft (с четырьмя уровнями op, но на практике раздают уровень 4), уровни доступа в Project Zomboid. Уже лучше - действия привязаны к игроку, - но гранулярности почти нет.
  • Встроенные уровни. Меньшинство игр имеют настоящую систему прав из коробки. serveradmin.xml в 7 Days to Die назначает уровень прав каждой команде; Remote Admin в SCP: Secret Laboratory поддерживает настраиваемые роли в config_remoteadmin.txt.

Опасна первая модель. Каждый, кому вы дали пароль, может закрыть вам доступ, пароль оказывается на скриншотах и в сообщениях в Discord, а когда что-то идёт не так, никто не может сказать, кто это сделал. Риски разобраны в статьях безопасный RCON и безопасность админских аккаунтов игрового сервера. Смысл админ-плагина в том, чтобы заменить общий секрет конкретными людьми, у которых есть только нужные им права.

Что сравнивать#

Когда игра даёт выбор админ-инструментов, сравнивайте их по этим пунктам, примерно в порядке важности:

КритерийПочему это важно
Гранулярные праваМодератор, который может кикать, не должен иметь возможность менять карту или выдавать предметы
Группы и наследованиеВы управляете пятью ролями, а не пятьюдесятью отдельными выдачами прав
Иммунитет или иерархияМладший админ не может забанить старшего
Журнал действийДля споров нужна запись о том, кто что сделал и когда
ПоддержкаИнструмент, заброшенный два патча назад, сломается на третьем
ХранениеФайлы проще; база данных позволяет нескольким серверам делить админов и баны
ЛицензияБесплатный и открытый или платный с лицензией на каждый сервер

Списки возможностей значат меньше, чем может показаться. Любой серьёзный админ-инструмент умеет кикать, банить, мьютить и телепортировать. Отличает их другое: можете ли вы дать модератору на испытательном сроке ровно три возможности, увидеть, что он с ними делал, и забрать их, не правя конфиг вручную.

Игры на Source и GoldSrc: SourceMod и AMX Mod X#

Для Team Fortress 2, Counter-Strike: Source, Left 4 Dead 2, Day of Defeat: Source и других игр на Source 1 ответ по сути один: SourceMod, работающий на Metamod:Source. Он бесплатный, открытый, поддерживается уже больше пятнадцати лет, и для него есть тысячи плагинов.

  • Админы задаются в addons/sourcemod/configs/admins_simple.ini или в более структурированном admins.cfg, а группы - в admin_groups.cfg.
  • Права - это буквенные флаги: b - общий админ, c - кик, d - бан, e - разбан, f - slay, g - смена карты, h - cvar-ы, z - root и так далее.
  • Иммунитет - это число; админ не может применить команду к тому, у кого иммунитет выше.
  • admin_overrides.cfg меняет, какой флаг нужен для команды, так что команду можно перенести на другой уровень, не трогая плагин.
  • Админов и баны можно хранить в SQL-базе вместо файлов - так сообщества делят их между серверами. SourceBans++ строит поверх этого веб-панель.

Подробности о флагах и иммунитете - в статье флаги админов и иммунитет в SourceMod.

Counter-Strike 1.6 и другие игры на GoldSrc используют AMX Mod X - старшего брата SourceMod, тоже на Metamod. Модель похожая: addons/amxmodx/configs/users.ini перечисляет админов по SteamID, нику или IP с флагами доступа (a - иммунитет, b - резервный слот, c - кик, d - бан, u - меню и остальные), а plugins.ini управляет тем, что загружается. Он зрелый и стабильный, а для игры, которая больше не меняется, это именно то, что нужно. Он разобран в статье плагины AMX Mod X для Counter-Strike 1.6.

Counter-Strike 2#

CS2 сломал старый стек. Для Source 2 понадобилась новая сборка Metamod:Source, а SourceMod так и не портировали. На его месте выросла экосистема CounterStrikeSharp - фреймворк плагинов на C#, работающий на Metamod для CS2. Администрирование - это не один официальный плагин, а несколько плагинов от сообщества на его основе, - широко используемый пример CS2-SimpleAdmin, - которые дают команды кика, бана, мьюта, slay и смены карты с правами в стиле флагов, хранящимися в JSON и, по желанию, в базе данных.

Честная оценка: это работает, становится лучше, но устоялось меньше, чем когда-либо было с SourceMod. Любое обновление CS2 может сломать CounterStrikeSharp, пока не обновят его gamedata, а вместе с ним ломаются и админ-плагины. Держите ванильный запасной вариант - пароль RCON, известный только вам, - на день после патча. Установка описана в статье плагины CS2: Metamod и CounterStrikeSharp.

Garry's Mod: ULX или SAM#

Garry's Mod нативно выполняет Lua, поэтому его админ-системы - это аддоны, а не плагинные фреймворки. Доминируют две.

ULX (вместе с библиотекой ULib) - давний бесплатный вариант. В нём есть группы с наследованием, доступ к каждой команде отдельно, ограничения "can target", чтобы модератор мог действовать только на обычных пользователей, и большой набор команд с внутриигровым меню (!menu). Конфигурация хранится в data/ulib/ в текстовых файлах (groups.txt, users.txt, bans.txt). Он старый, и это видно, - но он работает, и почти каждый игровой режим и аддон умеет проверять права ULX.

SAM (Simple Admin Mod) - платный аддон, который продаётся на GModStore. Он быстрее, у него гораздо лучше интерфейс, данные хранятся в SQLite или MySQL, и он активно развивается. Сообщества с большими серверами DarkRP часто переходят на него ради интерфейса и производительности.

ULX / ULibSAM
ЦенаБесплатноПлатно, за лицензию
ХранениеТекстовые файлы в data/ulibSQLite или MySQL
ИнтерфейсРабочий, устаревшийСовременный
Совместимость с аддонамиПочти универсальнаяШирокая, чуть меньше
Общие админы для нескольких серверовНужны дополнительные аддоныВстроено через MySQL

Есть и другие (FAdmin идёт в комплекте с DarkRP; существуют serverguard и xAdmin), но большинство аддонов тестируют в первую очередь с ULX и SAM. Если вы запускаете небольшой сервер с друзьями, ULX достаточно. Если вы строите сообщество DarkRP с уровнями персонала и несколькими серверами, хранение в базе данных у SAM оправдывает его цену. Подробнее - в статье админка ULX и SAM в Garry's Mod.

Minecraft: права - это отдельный слой#

Minecraft делит задачу на две части. Плагин прав решает, кто может использовать какую команду; плагины команд дают сами команды. У ванильных op есть уровни 1-4, но op 4-го уровня - это по сути всё, поэтому сервер Paper с персоналом почти всегда использует:

  • LuckPerms для прав - группы, наследование, треки для повышения, контексты (для отдельного мира или сервера), веб-редактор и хранение в файлах или базе данных, общей для всей сети. Серьёзных конкурентов у него больше нет.
  • EssentialsX для повседневных админ-команд (/tp, /mute, /tempban, /vanish, /sudo), каждая из которых защищена узлом прав.
  • CoreProtect для логирования блоков и отката - не админ-инструмент как таковой, но именно он делает решения модераторов доказуемыми.
  • Плагин банов вроде LiteBans (платный) или AdvancedBan (бесплатный), когда нужны история банов, апелляции, баны по IP и веб-страница, особенно в сети на Velocity.

Такая схема - плагин прав плюс плагины команд - означает, что вы никогда никому не даёте op. Вы даёте группу. Настройка описана в статьях гайд по LuckPerms и вайтлист и права в Minecraft.

Rust, Unturned, Terraria и FiveM#

Rust: права Oxide или Carbon

В ванильном Rust есть ownerid и moderatorid - два уровня, которые задаются из консоли и сохраняются в users.cfg. Всё более тонкое приходит из Oxide (uMod) или Carbon, у которых общая система прав: oxide.grant group admin <permission>, oxide.group add moderator, причём каждый плагин объявляет свои права. Админские функции дают плагины (Admin Radar, vanish, более удобная модерация чата) и внешние RCON-инструменты: RustAdmin на десктопе или веб-RCON от BattleMetrics. Два фреймворка сравниваются в статьях плагины Oxide/uMod для Rust и Carbon для Rust.

Unturned: RocketMod или OpenMod

В Unturned есть встроенные админы через команду Admin и Owner в Commands.dat. RocketMod добавляет систему прав (Permissions.config.xml с группами и правами на каждую команду), и под него пишут большинство плагинов; OpenMod - современная переработка с правами в YAML и плагинной моделью на .NET, которая через слой совместимости умеет загружать многие плагины RocketMod. Выбирайте RocketMod ради самого широкого выбора плагинов, OpenMod - ради более чистой основы. Каждый разобран в статьях команды Unturned и RocketMod и плагины OpenMod для Unturned.

Terraria: TShock

У ванильных серверов Terraria почти нет админ-инструментов. TShock добавляет учётные записи пользователей, группы с правами, защиту регионов, баны и REST API. Это стандарт для любого публичного сервера Terraria. Установка - в гайде по серверу TShock.

FiveM: txAdmin плюс ACE

Базовая система прав FiveM - ACE: строки в server.cfg вроде add_ace group.admin command allow и add_principal identifier.fivem:123456 group.admin. txAdmin, который идёт вместе с сервером, работает поверх неё с веб-панелью: управление игроками, баны и предупреждения с историей, перезапуски по расписанию, журнал действий и собственные админские аккаунты с гранулярными правами. Roleplay-фреймворки затем добавляют свои роли для персонала. Эта связка описана в статьях сервер FiveM и txAdmin и права через Discord и вайтлист в FiveM.

Внешние RCON-инструменты и веб-панели#

Некоторые админ-инструменты живут целиком вне сервера и общаются с ним по RCON:

  • BattleMetrics предлагает веб-RCON, общие для нескольких серверов бан-листы, историю игроков и триггеры для Rust, ARK, DayZ, Arma, Squad, Minecraft и других. Базовые функции бесплатны; полезные функции для организаций платные.
  • RCON-инструменты BattlEye - среди них BEC и DaRT - для DayZ и Arma 3, которые используют RCON-протокол BattlEye, а не Valve.
  • SquadJS для Squad - фреймворк на Node.js, который читает логи и RCON, чтобы автоматизировать модерацию и статистику.
  • Catalysm's Server Manager (CSMM) для 7 Days to Die - веб-дашборд поверх telnet и веб-API игры.

Они удобны, особенно для сообществ с несколькими серверами. Но это также значит, что ваш пароль RCON хранится в системах третьей стороны, а порт RCON открыт в интернет. Взвесьте это, прежде чем подключать такой инструмент, - и используйте для него длинный уникальный пароль. О ботах, построенных на той же идее, - в статье Discord-боты для администрирования игрового сервера.

Доступ к панели - это другой слой#

Одно не контролирует ни один админ-плагин: кто может добраться до файлов и консоли сервера. Человек с доступом к файлам может отредактировать admins_simple.ini или users.cfg и сделать себя root, какая бы группа ни была у него в игре. Поэтому два слоя должны согласовываться: внутриигровые модераторы получают внутриигровые права, а доступ к панели - только те, кто должен иметь возможность менять всё, и в идеале - лишь в нужном им объёме. Сторона панели разобрана в статье субпользователи и минимальные права, а кому что давать - в статье правила сервера, модерация и персонал.

FAQ#

Какой админ-плагин использовать для моей игры?

Обычно тот, вокруг которого построена плагинная экосистема игры: SourceMod для Source 1, AMX Mod X для CS 1.6, плагины на CounterStrikeSharp для CS2, ULX или SAM для Garry's Mod, LuckPerms и EssentialsX для Minecraft, Oxide или Carbon для Rust, TShock для Terraria, txAdmin для FiveM. Борьба с экосистемой обходится дороже любого выигрыша в возможностях.

Безопасно ли давать модератору пароль RCON?

Нет. RCON работает по принципу "всё или ничего", а пароль можно передать дальше без вашего ведома. Дайте модераторам аккаунт в админ-плагине только с нужными флагами, а RCON оставьте себе или отключите.

Могут ли несколько серверов делить один список админов и банов?

Да, с инструментами, которые хранят данные в базе: SourceMod с SQL-хранилищем и SourceBans++, LuckPerms на MySQL, SAM на MySQL или внешний сервис вроде BattleMetrics. Инструментам на файлах нужно копировать файлы на каждый сервер, и со временем они расходятся.

Замедляют ли админ-плагины сервер?

Сами админ-плагины стоят очень мало; в основном они работают, когда кто-то вводит команду. Плагины логирования, которые записывают каждый блок или действие, стоят больше, а плохо написанные аддоны - больше всего. Сначала измерьте, а потом вините админ-инструмент.

Что происходит с админ-плагинами при обновлении игры?

Фреймворки, которые цепляются за код игры, - Metamod, SourceMod, CounterStrikeSharp, Oxide, Carbon, RocketMod, - могут сломаться при обновлении игры, пока их разработчики не выпустят исправление. Держите на это время способ администрировать сервер без них.


Комментарии

Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.

0/2000