PurePerms — файл groups.yml
Инструкция «чтобы даже младенец понял»
groups.yml — это файл, где ты создаёшь группы игроков (Guest, Admin, Owner и т.д.)
и задаёшь, что им можно и нельзя делать.
Общая структура файла
Файл написан на языке YAML.
YAML очень чувствителен к пробелам.
Только пробелы, никаких табов
Отступ — 2 пробела
Шаблон одной группы
GroupName:
alias: 'short'
isDefault: false
inheritance: []
permissions: []
worlds: []
Теперь разберём КАЖДУЮ строчку.
1. Название группы
Guest:
Admin:
Owner:
Это название группы
Можно любое, НО:
- Без пробелов
- Лучше на английском
- Регистр важен (
Admin ≠ admin)
Хорошо:
Guest
Admin
Moderator
Owner
Плохо:
Админ
Super Admin
admin-user
2. alias (псевдоним)
alias: 'gst'
Короткое имя группы
Используется в командах
Необязательно, но рекомендуется
Пример:
/setgroup Steve gst
Правильно:
alias: 'adm'
Неправильно:
alias: adm # без кавычек иногда ломается
3. isDefault — группа по умолчанию
isDefault: true
Только ОДНА группа может быть true
В неё попадают все новые игроки
Обычно:
Guest → true
- Все остальные →
false или вообще не писать
ОШИБКА:
Guest:
isDefault: true
Admin:
isDefault: true # ❌ ТАК НЕЛЬЗЯ
Правильно:
Guest:
isDefault: true
Admin:
isDefault: false
4. inheritance — наследование групп
inheritance:
- Guest
Означает:
Эта группа получает ВСЕ права группы Guest
Пример:
Admin → Guest → базовые права
Owner → Admin → Guest → ВСЁ
Название группы должно совпадать 1 в 1
Правильно:
inheritance:
- Guest
Неправильно:
inheritance:
- guest # если группа называется Guest
Если не нужно наследование:
inheritance: []
5. permissions — права
permissions:
- pocketmine.command.list
- pocketmine.command.give
Это сердце группы
Каждая строка — одно право
Как писать права
плагин.что-то.что-то
Примеры:
pocketmine.command.give
pocketmine.command.ban
essentials.fly
Дать ВСЕ права плагина
- essentials
Запретить право
- -pocketmine.command.kill
(минус перед правом)
6. worlds — права по мирам
worlds: []
Если пусто [] — права работают во всех мирах
Пример для конкретного мира:
worlds:
world:
permissions:
- pocketmine.command.fly
(для новичков лучше НЕ ТРОГАТЬ)
Полностью правильный пример
Guest:
alias: 'gst'
isDefault: true
inheritance: []
permissions:
- pocketmine.command.list
worlds: []
Admin:
alias: 'adm'
inheritance:
- Guest
permissions:
- pocketmine.command.gamemode
- pocketmine.command.give
- pocketmine.command.kick
- pocketmine.command.teleport
worlds: []
Owner:
alias: 'owr'
inheritance:
- Admin
permissions:
- pocketmine.command
- pocketmine.command.ban
- essentials
worlds: []
Частые ошибки (и почему сервер не запускается)
Табуляция вместо пробелов
permissions:
Нет двоеточия
Admin
Лишние пробелы
- pocketmine.command.give
Несуществующая группа в inheritance
- Moderator # а группы нет
Золотые правила PurePerms
- 2 пробела — не больше, не меньше
- Одна группа = один isDefault
- Наследуй, а не копируй права
- После изменения — перезапускай сервер
- Если сервер не запускается — ошибка в YAML