# Создание привилегий через LuckPerms

Создавать привилегии на сервера Minecraft можно с помощью плагинов на права. Мы разберем создание привилегий с помощью [PermissionsEx ](https://dev.bukkit.org/projects/permissionsex)и [LuckPerms](https://luckperms.net/).

## LuckPerms

### Работа с группами

Файл **groups.yml** с правами и группами игроков находится в **plugins/LuckPerms/yaml-storage**. Ниже приведен пример группы.

```yaml
vip: # Название группы. Только на английском.
  parents:
  - default # Группа, права которой наследуются
  permissions:
  - worldguard.region.spawn:
      value: false # Это значение запрещает право. Устанавливается к каждому праву отдельно.
  - essentials.fly # Права с разрешением.
  - essentials.kits.vip
  - essentials.sethome.multiple.vip
  - weight.24 # Вес привилегии
  prefixes:
  - '&2[Вип] &6': # Сам префикс
      priority: 2 # Вес префикса
  suffixes:
  - '&7': # Сам суффикс
      priority: 2 # Вес суффикса
```

### Вес привилегии <a href="#privilege-weight" id="privilege-weight"></a>

Допустим, имеется 4 привилегии - VIP, PREMIUM, DELUXE и LEGEND. Также, есть группа игрока (default) и группа админа (admin).

Требуется для корректной выдачи привилегии в кейсах и в авто-донате через команду **lp user {user} parent add {group}**

Чем выше вес, тем ниже привилегия. Пример:

* default (weight.6)
* vip (weight.5)
* premium (weight.4)
* deluxe (weight.3)
* legend (weight.2)
* admin (weight.1)

{% hint style="info" %}
Пояснение: админ самая высокая привилегия, поэтому вес у нее самый маленький.
{% endhint %}

### Вес префикса и суффикса <a href="#prefix-and-suffix-weight" id="prefix-and-suffix-weight"></a>

Вес префикса и суффикса работает так же, как и вес привилегии: **чем выше приоритет (от 1 до бесконечности), тем выше префикс или суффикс будет отображаться в чате.**

{% hint style="info" %}
Суффикс - это цвет сообщения в чате у привилегии.
{% endhint %}

Например: если выдана группа admin, когда уже была группа vip, то так как у админа вес префикса выше, то отображаться будет префикс админа.

### Работа с правами  <a href="#working-with-rights" id="working-with-rights"></a>

Каждое право вписывается с новой строки после тире и пробела (-). \
Не стоит оставлять лишние пробелы или символы.

{% hint style="danger" %}
Перед сохранением файла проверьте его на наличие ошибок! Если в нём будут ошибки, то ваши права и группы не будут работать. Проверку можно [сделать тут](https://yaml-online-parser.appspot.com/). В левую часть вставляете содержимое документа, в правой у вас выводятся ошибки. Если их нет, то вам выведет документ в json формате.
{% endhint %}

### Где найти права <a href="#search-for-rights" id="search-for-rights"></a>

Права к каждому плагину хранятся на официальной странице плагина. Для примера мы рассмотрим [EssentialsX](https://www.spigotmc.org/resources/9089/).

Зачастую разработчик оставляет ссылку на Wiki или права (permissions). Дабы не тратить много времени вы можете использовать сочетание клавиш **Ctrl + F** для поиска по странице необходимой информации.

Переходим на [официальную документацию EssentialsX](https://essentialsx.net/wiki/Improvements.html), в левом углу выбираем "Permissions", и попадаем на [страницу с правами и командами](https://essinfo.xeya.me/permissions.html).

![](https://3766306196-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M6fIqTa-jPjn4ArmkJn%2F-M_BaGhixvx8ca85VAtk%2F-M_BcNsuNi8pj7OeNiF9%2Fimage.png?alt=media\&token=e4720070-3cac-4a25-be54-23c4953abf63)

Если рассматривать интерфейс данной страницы, то:

— "**Module**" - модуль в котором есть это право либо команда, например, для использования права "essentials.build" нужно установить модуль EssentialsAntiBuild, он идёт в архиве с самим Essentials;\
— "**Command**" - какая команда отвечает за это право, здесь отображается основная команда, но не алиасы, алиасы для команд можете [найти тут](https://essinfo.xeya.me/commands.html);\
— "**Permissions**" - право, которое нужно для работы команды, но не всегда одного права хватает для этой работы, например, чтобы заработало право "essentials.afk.auto", нам нужно и право "essentials.afk";\
— "**Description**" - краткое описание команды, более детальное описание лучше смотреть на отдельной странице с меню. Используйте поиск для более быстрого поиска необходимого права.

Не все разработчики используют отдельные сайты либо страницы для команд и прав, кто-то выводится права и команды прямо на странице плагина. Некоторые разработчики размещают описание команд и прав на **GitHub**, и подобных сервисах.

{% hint style="warning" %}
Используйте только официальные источники, из нашего [списка рекомендаций](https://wiki.mcstudio.su/info/safety). При использование плагинов из ненадежных источников, вы можете потерять доступ к серверу или ему могут навредить!
{% endhint %}

### Выдача прав <a href="#issuance-of-rights" id="issuance-of-rights"></a>

Для примера выдадим группе default право на использование команды /spawn, а для vip переключение между режимами выживание и креатива, вот как это будет выглядеть:

```yaml
default:
  permissions:
  - essentials.spawn
  - weight.2
  prefixes:
  - '&7[Игрок] &e':
      priority: 1
  suffixes:
  - '&7':
      priority: 1
vip:
  parents:
  - default
  permissions:
    - essentials.gamemode
    - essentials.gamemode.creative
    - essentials.gamemode.survival
    - weight.1
  prefixes:
  - '&2[Вип] &6':
      priority: 2
  suffixes:
  - '&7':
      priority: 2
```

Если установить только "**essentials.gamemode**", то игрок сможет использовать команду /gamemode, но не устанавливать себе необходимый ему режим.&#x20;

Если установить "**essentials.gamemode**" и "**essentials.gamemode.creative**", то игрок может переходить только в /gamemode creative

### Группа со всеми правами <a href="#all-rights" id="all-rights"></a>

Чтобы создать группу со всеми правами, ей не нужно назначать наследование. Вам нужно просто в permissions указать '\*', вот как это выглядит:

```yaml
dev:
  permissions:
  - weight.1
  - '*' # Выдает все права
  - luckperms.autoop # Автоматически выдает /op
  - fawe.admin # Разрешает использовать WE во всех регионах
  - fawe.bypass # Без ограничений :)
  prefixes:
  - '&8[&6Developer&8] &e':
      priority: 25
  suffixes:
  - '&7':
      priority: 25
```

## PermissionsEx

Гайд по созданию привилегий через PermissionsEx:

{% content-ref url="creates-pex" %}
[creates-pex](https://wiki.mcstudio.su/info/guide/privileges/creates-pex)
{% endcontent-ref %}
