[WIP] Multipass - плагин на пермишены

Status
Not open for further replies.

fromgate

Administrator
В виду того, что пока миру не был явлен плагин на пермишены, который удовлетворял бы моим представлениям каким он должен быть (в т.ч. и по части лицензионной чистоты), я решил написать свой плагин.

Пока он ещё находится в стадии активной разработки, но вроде бы уже большая часть функционала работает.

В кратце остановлюсь на особенностях плагина:

Плагин поддерживает отдельные пермишены как в различных мирах так и обощенные пермишены.
При этом в отличии от всех прочих плагинов пермишенов, я решил уйти от "традиционной" системы когда настройки групп и игроков строго разделены по мирам. Но при при этому каждый игрок или группа может иметь определённый набор как общих пермишенов/групп так и привязанный к каким-то мирам.

Т.е. грубо говоря в группе Х можно прописать пермишены общие для всех миров. А также отдельно указать, что в одном мире дополнительно действует один вид пермишенов, а в другом - другие.

Не знаю, насколько это удобно или нет. Мне это показалось удобнее чем традиционная схема с кучей директорий, разделённых по мирам.

При этом файл пермишенов игрока может выглядеть, допустим так:
Code:
groups:
- test
permissions: []
prefix: ''
suffix: ''
priority: 0
worlds:
  world:
	permissions:
	- test5.test5
В этом примере, игрок наследует пермишены из группы тест. Но когда он находится в мире world - то ещё получает и дополнительный пермишен test5.test5

Настройка группы по сути, аналогична:
Code:
test:
  groups: []
  permissions:
  - test.test2
  - test.test
  prefix: ''
  suffix: ''
  priority: 0
Перечня команд приводить пока не будут (мне ещё придётся потратить кучу времени на подготовку инструкции ;))
но комада /perm help работает ;)
 
Last edited:

fromgate

Administrator
Ну и примечание. Плагин ещё не завершён и будет меняться. Может сильно, а может и нет.
Но если у Вас была возможность его опробовать - напишите о впечатлениях. Буду благодарен :)
 

impact

Error #404, User not found
In Resignation
Есть такая возможность как '*' ?
 

fromgate

Administrator
По идее нет - ничего специально я для этого не делал. И не уверен, что можно. Надо будет проверить, что в Nukkit՛е самом есть по этому поводу
 

Tee7even

Nukkit Coders Team
По идее нет - ничего специально я для этого не делал. И не уверен, что можно. Надо будет проверить, что в Nukkit՛е самом есть по этому поводу
Если права зареганы через plugin.yml, то вроде должна быть возможность...
 

fromgate

Administrator
В MultiChat - добавлены неймтаги
В Mulitpass - добавлено событие, информирующее о том, что произошла смена событий
 

fromgate

Administrator
Multipass v0.0.6
- Исправлены расчёт префиксов
- Исправлена путаница, когда префикс дублируется в суффикс
- Все команды, которые могут поддерживать мир - поддерживают
- Налажена работа с дефолтной группой (она добавляется игроку при первом входе на сервер или если у него не настроены пермиешены)
- При первом старте плагина сохраняется файл groups.yml - образец
 

fromgate

Administrator
Multipass v0.0.7
- В API добавлен метод проверки наличия группы

MultiChat v0.0.3
- По просьбам трудящихся добавлена возможность настройки специфических форматов для отдельно взятых групп
- Добавлен плейсхолдер "%world%", вместо которого подставляется название мира в котором находится игрок.
- Добавлена команда /chat group chat <имяГруппы> <формата для чата>
- Добавлена команда /chat group tag <имяГруппы> <формата для NameTag'а>
 

fromgate

Administrator
Изменения:
Multipass: Поборол (как мне кажется) глюк с тем, что группы с одинаковым приоритетом не обрабатывались. Это касалось и префиксов/суффиксов.
Multichat: Очередность сконфигурированных групп обрабатывается иначе. Теперь (по идее) проверка групп идёт в порядке очерёдности и игроку выдаётся неймтаг в формате последней, подходящей группы (если он определён).
 

fromgate

Administrator
Multipass: немного переделан подход к проверке находится ли игрок в группе

MultiChat: добавлен "дефолтный" конфиг, который сохраняется если в директории плагина файла config.yml не существует
 

fromgate

Administrator
Multipass
Исправлена ситуация, когда некоторые вложенные группы игнорировались при расчёте пермишенов.
 

fromgate

Administrator
Multichat: Что-то исправил
Miltipass: Теперь при перемещении из группы в группу пермишены не суммируются
 

fromgate

Administrator
Mulitpass
  • Добавлена поддержка зеркалирования миров
  • Исправлена ошибка с "неназначением" дефолтной группы

Multichat
  • Добавлена поддержка DisplayName (имени в списке игроков).
 

fromgate

Administrator
Пополнение коллекции "мульти-плагинов". Встречайте MultiPromotions!

Плагин предназначен для создания системы продвижения игрока. На его основе можно будет создать (пока сразу нельзя, но потом можно будет) систему продвижения при получения опыта/уровней или (уже вполне можно) авто-донат.

Также в плагине предусмотрена регистрация собственных сторонних систем продвижения, что может значительно упростить создания плагинов, которым нужен подобный функционал.

Плагин пока не завершён, из команд там есть только тестовая:

/dbpromote <игрок> <группа> [время начала] <время завершения>

Время указывается относительно (т.е. 10s - означает через десять секунд, 1m - через 1 минуту).
 

Attachments

fromgate

Administrator
Последние редакции MulitChat и Multipass.


В Multipass добавлена поддержка баз данных (нужен плагин DbLib), исправлено несколько ошибок.
 
Last edited:

fromgate

Administrator
Пожалуй, это уже пре-релизы :)

Изменения:

Multichat
- Добавлена возможность использования подгрупп для разметки сообщений
- Изменён формат конфигурации (придётся перенастроиться немного)

Multipass
- Добавлены команды для импорта/экспорта пермишенов в один файл (/perm export, /perm import)
 

Attachments

Status
Not open for further replies.
Top