# Создание привилегий через 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).

![](/files/-M_BcNsuNi8pj7OeNiF9)

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

— "**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="/pages/-MUY9Hl3RantvBhzi58G" %}
[Создание привилегий через PermissionsEx](/info/guide/privileges/creates-pex.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.mcstudio.su/info/guide/privileges/creates-lp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
