Эта статья рассказывает об управлении группами через конфиг - configs/admin_groups.cfg. Этот файл использует плагин admin-flatfile.smx.
Введение
Группы представляют собой удобную систему распределения аналогичных настроек администраторов. Например, вы имеете 15 администраторов с одинаковыми разрешениями и иммунитетом. В этом случае целесообразней создать группу и прикрепить к ней их всех, а уже в ней установить права и иммунитет.
Формат настроек
Группы задаются в виде блоков. Каждая группа должна иметь уникальное имя. Если группы будут меть одинаковое имя, то их разрешения будут накладываться друг на друга. Для удобства редактирования можно использовать -
KVManager
Блоки отображаются следующим образом:
"Groups"
{
"Group Name"
{
"[option1]" "[value1]"
"[option2]" "[value2]"
/* ... */
"Overrides"
{
"[override1]" "[allow|deny]"
"[override2]" "[allow|deny]"
/* ... */
}
}
}
Пояснение:
Group Name - имя группы
option - опция
value - параметр
Overrides - запреты
override - опция запрета или разрешения
allow - разрешить
deny - запретить
Все параметры не являются обязательными(имеется ввиду value1, value1, allow|deny и тд). Кроме того раздел "Overrides", также не обязателен и может быть удален.
Список параметров:
flags(флаги) - разрешения которые будут получать участники группы
immunity(иммунитет) - иммунитет который приобретут участники группы. Символ "@", указанный перед названием группы дает иммунитет от её действий над вашей.
"Overrides" позволяет конкретной группе или группе команд, дать доступ или заблокировать определенные переменные. Например можно запретить группе доступ к переменной sm_csay, при условии, что у неё есть разрешение chat. Или наоборот, группа не имеет разрешения chat, но мы выдаём ей возможность пользоваться переменной sm_csay.
Пример готовых настроек:
"Groups"
{
"Basic Admin"
{
"flags" "abc" //резервный слот, флаг администратора, кик
"immunity" "1" //иммунитет первого уровня
"Overrides"
{
"sm_map" "allow" //разрешено использовать команду sm_map без флага
"@CSDM" "deny" //запрещает любые команды из группы CSDM
}
}
}
Унаследование
Группы не могут наследовать разрешения друг друга. При этом администратор может наследовать разрешения нескольких групп(разрешения будут дополняться). Например если первая группа имеет разрешения abc, а вторая de, то в итоге админ получит разрешения abcde.
Единственный случай когда разрешения одной группы могут заблокировать их у другой, это когда в одной группе например запрещено использовать chat, а в другой наоборот разрешено. При этом все решит порядок загрузки групп(какая группа загрузится позже, та и поставит точку).
Унаследованные разрешения не влияют на имеющиеся. Чтобы мгновенно обновить разрешения используйте команду sm_reloadadmins.
Полезные ссылки:
Описание команд администратора
Добавление администраторов на сервер
Дополнительная конфигурация разрешений(доступа к командам)