Permissionsex
Содержание:
Примеры выдачи привилегий
Теперь рассмотрим выдачу привилегий на конкретном примере. Итак, вы нашли понравившийся вам плагин, например AdminTools

Видим следующие привилегии плагина:
Теперь отправляем чат-команду /grant . Игроку Alkad выдаём доступ к команде kick
и ban
:
Пример выше позволяет выдать привилегию лишь одному игроку. А если у нас их десятки, сотни? Не прописывать же вручную каждому игроку привилегию?! Конечно нет. Для этого есть группы.
Создадим группу модераторов moders:
Дадим этой группе все разрешения плагина Admin Tools:
Добавим игрока Nik в группу модераторов, которую мы создали:
Всё, теперь все игроки, которые находятся в группе moders будут иметь доступ к командам.
Любой игрок на проекте Squareland может использовать ряд команд. Чтобы не запутаться, они поделены на несколько категорий: приват, телепортация, торговля и прочие.
Для получения полного арсенала возможностей желательно изучить команды Майнкрафт на сервере для игроков. Они облегчают взаимодействие с окружающим миром, обеспечивают защиту построек, позволяют торговать, помогают ознакомиться с правилами и возможностями проекта. Чат включается на английскую клавишу T
. Команда вводится в формате /команда
. Через запятую приведены различные вариации написания.
Телепортация
-
/setspawn
— Выбрать место спавна. -
/spawn
— Телепортация на спавн. -
/back, /return
— Вернуться в последнюю точку телепортации. -
/sethome
— Установление телепорта домой. -
/home
— Телепортация в домашний телепорт. -
/delhome, /remhome, /rmhome
— Удаление домашнего телепорта. -
/createwarp, /setwarp
— Создание места телепортации. -
/delwarp, /remwarp, /rmwarp
— Удаление места телепортации. -
/warp
— Телепортация в указанное место. -
/world
— Телепортация в другой мир. -
/j, /jump
— Телепортиртация в место, указанное прицелом. -
/top
— Команда телепортации на вершину высочайших построек в Майнкрафт. -
/tp
, /tp — Переместиться к нужному игроку. -
/tpa, /call
— Принятие согласия на перемещение. -
/tpaccept, /tpyes
— Подтверждение согласия на перемещение. -
/tpdeny, /tpno
— Отказ согласия на перемещение. -
/tpahere, /tphere, /s
— Команда Майнкрафт на перемещение определённого игрока. -
/tpall
— Переместить несколько персонажей. -
/tppos
— Телепортировать всех по координатам. -
/tpo
— Переместиться к персонажу.
Критика
API полномочий Bukkit’а (также называющееся “superperms”) был разработан с целью централизации конфигурации прав пользователей, отсутствия необходимости поиска плагинов, которые были бы совместимы с какой-то определенной системой прав. Все текущие плагины полностью поддерживают ‘superperms’, кроме PermissionsEx. PEX же работает против этой системы путем встраивания собственного кода. Это вызывало проблемы как у PEX, так и в самом Bukkit’е. Реализация «superperms» очень слабая, в некоторых случаях приводящая к серьезным сбоям. PEX пытается перенаправить все проверки привилегий через свою собственную систему, вместо работы с «superperms» Bukkit’а. С версии 1.13 PEX поддерживает superperms
Что не так?
- Неверная реализация дочерних привилегий. Может привести к тому, что у пользователей есть привилегии, которых им не давали напрямую.
- PEX приводит к проблемам в других плагинах.
- Дэдлоки. Фриз сервера с комментарием ‘Read timed out’.
- Когда PEX вылетает, вместе с ним в небытие уходит множество других плагинов (в силу жесткого встраивания кода в Bukkit).
- Использование SQL приводит к падению производительности сервера. При удалении/добавлении привилегии происходит полная перезапись всех привилегий пользователя на сервере.
Торговля
-
/balance, /bal, /emoney
— Просмотреть количество денег. -
/balancetop, /baltop
— Ознакомиться с именами самых богатых людей на сервере. -
/eco, /economy
— В зависимости от команды: give
— Дать игроку деньги, take
— Взять деньги у персонажа, reset
— Обанкротить персонажа. -
/pay
— Заплатить персонажу деньгами. -
/sell
, /sell — Продажа: hand
— Продажа всего из слота быстрой панели (клавиши 1-9), invent
— Продажа всех предметов и блоков Майнкрафт из инвентаря, blocks
— Продажа всех блоков из инвентаря. -
/setworth
— Установить стоимость. -
/worth
— Узнать стоимость предмета.
Админ, иначе говоря оператор сервера в Minecraft, имеет ряд команд, которые можно использовать для управления сервером. Это базовые команды, для их использования не нужно устанавливать никаких плагинов/дополнений. Команды необходимо вводить в чат. Перед вводом команды необходимо написать символ «/» (слэш). Обязательные параметры команды обведены , дополнительные параметры .
-
/ban
— Банит игрока на сервере, путем удаления его из белого листа и занесения в черный список. Забаненные игроки не могут играть на сервере. -
/pardon
— Противоположная бану команда. Разбанивает игрока, удаляя его имя из черного списка. -
/ban-ip
— Банит IP адрес, путем занесения его в черный список. Игроки, имеющие IP-адрес в черном списке не могут играть на сервере. -
/pardon-ip
— Противоположная бану по IP команда. Удаляет IP из черного списка. -
/banlist
— Выводит на экран список забаненных игроков. Если используется дополнительный параметр ips, выводит список забаненных IP-адресов. -
/deop
— Лишает игрока прав администратора (оператора). -
/op
— Противоположная deop команда. Наделяет игрока правами администратора (оператора). -
/gamemode
— Меняет режим игры игрокам. Если указан дополнительные параметр никнейм, то команда сменит режим игры для этого игрока. Если параметр не указан, будет сменен режим у того, кто ввел команду. Для того, чтобы команда сработала, игроку, которому меняют режим, необходимо находиться в игре. -
/defaultgamemode
— Меняет игровой режим мира. -
/give
— Дает игроку предмет с указанным ID в указанном количестве. -
/help
— Вывод всех доступных консольных команд. -
/kick
— Кикает выбранного игрока с сервера. -
/list
— Выводит список игроков, находящихся на сервере. -
/me
— Команда, позволяющая отправлять сообщения от третьего лица. -
/save-all
— Команда, делающая бекап (сохранение) текущего состояния сервера на жесткий диск. -
/save-off
— Отключает возможность сервера сохранять состояние сервера на жесткий диск. -
/save-on
— В противоположность команде save-off, разрешает серверу сохранять состояние сервера на жесткий диск. -
/say
— «Говорит сервер». Сообщение, введенное при помощи это команды отображается розовым цветом. -
/stop
— Отключает сервер. Перед отключением, сервер автоматически сохраняется. -
/time
— Устанавливает время, или добавляет время к текущему. -
/toggledownfall
— Изменяет погоду. -
/tp
— Телепортирует игрока с Никнейм1 к игроку с Никнейм2. -
/tp
— Телепортирует игрока по указанным координатам. -
/whitelist
— Добавляет или удаляет игрока из вайтлиста. -
/whitelist list
— Выводит список игроков, находящихся в вайтлисте. -
/whitelist
— Активирует/деактивирует вайтлист. -
/whitelist reload
— Перезагружает вайт-лист. -
/xp
— Дает игроку с указанным ником указанное количество очков xp. -
/publish
— Открывает доступ к серверу по локалке. -
/debug
— Запускает новую сессию режима debug.
Вот собственно все команды админа в Minecraft.
Приват в Minecraft
-
//wand
— Получить топор из дерева, используемый при выделении территории. ЛКМ
— Первый пункт. ПКМ
— Второй пункт. Так игроки могут выделить целый куб с блоками, в котором другим запрещается строить. -
/region claim
— Создание приватной территории с названием после завершения операции разграничения. -
/region addowner
— Закрепить землю за игроком. -
/region removeowner
— Лишить прав на владение. -
/region addmember
— Команда на добавление игрока в регион. -
/region removemember
— Выгнать игрока. -
/region select
— Выбрать территорию. -
/region info
— Основные сведения о регионе. -
/region remove
— Убрать регион. -
/cprivate
— Установка защиты на люки, раздатчики, сундуки, двери в выделенном регионе. -
/cmodify
— Команда Майнкрафт позволяет открыть доступ к предметам указанному игроку. -
/cpassword
— Активировать пароль на вышеперечисленное. -
/cunlock
— Открыть предмет защищённый паролем. -
/cremove
— Деактивировать защиту и убрать пароль с предмета.
Как выдавать привилегии?
Для выдачи привилегий используется команда чат команда /grant. Доступ к этой команде есть только у игроков, которые назначили себя админом указав свой SteamID в настрйоках сервера. После того, как вы выдадите админку, вы можете пользоваться чат-командами /grant, /group, /usergroup
Для выдачи определённой привилегии игроку используется /grant user:
где player — ник игрока, а permission — привилегия
Пример выдачи игроку с ником ALKAD привилегии teleportation.home:
Для выдачи определённой привилегии группе используется /grant group:
где group — группа, а permission — привилегия
Пример выдачи группе Moders привилегии teleportation.warp:
Угловые скобки в команде говорят лишь о том, что параметр обязательный, вводить их не нужно:
Команда выше говорит о том, что param1 является обязательным, а param2 не обязателен. Команды, которые вы должны будете отправлять будет выглядеть как-то так:
Команды Админа
Сегодня я вам расскажу о командах администрации, которые встречаются на каждом сервере, и являются его основой.
Основные команды:
/kick — кикнуть человека
/warn — выдать warn человек (лишить его возможности вступления во фракцию)
/unwarn — снять warn. (дать возможность устраиваться во фракции)
/offwarn — выдать warn когда человек не в игре(выдается по нику)
/ban — забанить (лишить возможности захода на сервер)
/banip — забанить человека по IP адресу.
/mute — выдать молчанку (лишить возможности его общаться в чате)
/pm — ответить персонажу на его вопрос в репорт.
/tp — телепортация по карте.
/o — Сделать объявление всем в общий чат (Обозначается белым цветом)
/aad Сделать важное объявление всем в общий чат (Обозначается красным цветом)
Дополнительные команды:
/veh id(машины) id(цвета 1) id(цвета 2) — Создать автомобиль
/delveh — Удалить автомобиль
/sethp — установить определенное количество здоровья
/gzcolor — перекрасить территорию в гетто
/uval — уволить с фракции
/slap — подбросить вверх
/skin — изменить скин
/freeze — заморозить (лишить его возможности двигаться)
/gm — проверить на ГМ (Бесконечное здоровье)
/givemoney — выдать денег
/getstats — проверить статистику
/setstat — редактировать статистику
Настройка прав
Самая интересная часть. Наверное, самым сложным будет создание групп. Поэтому сразу пишу, как это сделать:
Стандартная группа для всех — default. Очень желательно её не удалять, если есть желание её переименовать можно сменить видимое имя командой (потом поймёте зачем): — устанавливает отображаемое имя для группы
У меня, в итоге, получилось 3 группы с названиями:
Всё, хватит медлить, переходим к самому интересному. Для настройки прав мы не будем использовать ни редакторы БД, ни текстовые редакторы. Нам понадобится только интернет, веб-браузер (надеюсь это не Internet Explorer) и запущенный сервер с LP на борту. Прописываем команду:
Если вы делаете это в игре — достаточно просто нажать в чате на ссылку https://luckperms.github.io/editor/?******* и она откроется в браузере. Из консоли её можно скопировать строку браузера. Открываем…
Да, это и есть наша настройка прав. Вверху список наших групп, потом поля для добавления и список добавленных прав.
Не бойтесь вносить правки, они не применятся, пока вы сами не сохраните и не пропишете в игре/консоли необходимую команду. Здесь полная свобода действий.
Для администраторов у нас доступны все права, для донатеров добавим право /say и /me, а обычным юзерам и так хорошо. Хотя лучше будет им запретить все доступные права, а потом добавлять необходимые.В Sponge права работают совсем не так, как в Bukkit. подробнееВ поле Permission пишем необходимое право и нажимаем справа «+». Всё. Некоторые права LP будет распознавать сам и подсказывать при вводе:
С добавлением прав всё просто, а как запрещать?
Очень просто. Достаточно добавить право, которое надо запретить, и нажать в его строке на зелёное слово , которое сразу же изменится на , обозначая запрет.
В результате должно получится так



Выглядит замечательно! Но мы совсем забыли про наследование групп. Помните inheritance из пекса? Так вот, здесь это делается тоже добавлением прав для группы. Надеюсь все заметили право displayname с названием группы. Так вот, здесь все параметры решаются через такие же права, как и для игроков. Только не для игроков, а для групп, и не права, а параметры.
Чтобы добавить наследование для группы достаточно будет добавить ей право:
В моём случае это будет :
Всё, с правами мы закончили, давайте сохраним наши изменения. Справа вверху, около стрелок, нажимаем на значок дискеты и появляется сообщение:
На белом фоне появилась команда (само собой, у вас она будет отличаться), которую необходимо выполнить на сервере, чтобы применить наши изменения. Она сама скопируется, если на неё нажать. Переходим на сервер и выполняем:
Как видим, все наши изменения применились и теперь права на сервере регулируются по заданным параметрам.
Но у нас осталась проблема. Группа убирает права на команды из самого Minecraft для игрока, а группа их все обратно добавляет. Почему это проблема? Дело в том, что в LP все группы друг для друга одинаковы, пока не обозначено наследование в группе остаётся одинаковый приоритет для запрета и разрешения. Но не беда, каждый раз лезть в редактор мы не будем. Для наследования также есть команды:
Командой у себя пропишу наследование от donate к admin:
Базовый набор команд для игроков
-
/info
— Общие сведения. -
/rules
— Вывести свод законов сервера. -
/motd
— Отобразить дневные сообщения. -
/list, /online, /who, /playerlist
— Показать список игроков онлайн. -
/afk
— Оповестить об отсутствии. -
/compass
— Указывает в какую сторону движется игрок. -
/near, /nearby
— Вывести список ближайших людей. -
/getpos
— Отобразит месторасположение игрока. -
/ignore
— Команда включает игнор. -
/me
— Выводит информационное особщение, добавляя ник в начало. -
/msg, /tell, /m, /whisper
— Личка. -
/r, /reply
— Быстрый ответ. -
/seen
— Узнать время последнего онлайна. -
/whois
— Команда отобразит инфо о персонаже. -
/nick
— Изменение отображения ников. -
/mail
— Доставит сообщение при помощи почты. read
— Прочесть, clear
— Очистить, send
— Отправка. -
/suicide
— Самоубийство.
Команды и права
С помощью следующих команд вы можете управлять PEX прямо через консоль или игровой чат, не редактируя файл permissions.yml
- Добавление префиксов и суффиксов будет работать только если включен Chat Manager .
- Значение параметров: параметр обязателен для указания; параметр — опциональный.
- Параметр позволяет локализировать действие команды в определенном мире.
- Там где упоминается единственное/множественное можно перечислять параметры через запятую.
Служебные
| Команда | Permission | Описание |
|---|---|---|
| /pex | permissions.manage | Показывает помощь по PEX |
| /pex toggle debug | permissions.manage | Вкл./откл. режим отладки (создает много отладочной информации в server.log) |
| /pex user check | permissions.manage. | Проверить право Игрока |
| /pex reload | permissions.manage.reload | Перезагружает плагин |
| /pex config | permissions.manage.config | Выводит значение из конфигурации PEX. Дополнительно можно ввести чтобы задать новое значения для параметра. |
| /pex backend | permissions.manage.backend | Вывести используемые на данный момент бэкенды. |
| /pex backend | permissions.manage.backend | Change the permissions backend on-the-fly (Use with caution!) Note that this will only change the backend on-the-fly, it will not save the change in the config file, nor will it convert anything. This is for testing only.) |
| /pex hierarchy | permissions.manage.users | Показывает полную иерархию игроков/групп |
| /pex dump | permissions.manage.dump | Создает дамп пользователей и групп в выбранный формат в файл |
Управление правами игроков
| Команда | Permission | Описание |
|---|---|---|
| /pex users | permissions.manage.users | Показывает список всех записанных пользователей. |
| /pex user | permissions.manage.users | Показывает права игрока |
| /pex user prefix | permissions.manage.users.prefix. | Установить игроку префикс |
| /pex user suffix | permissions.manage.users.suffix. | Установить игроку суффикс |
| /pex user delete | permissions.manage.users. | Удалить игрока из бэкенда, используемого на данный момент. |
| /pex user add | Дать право Игроку | |
| /pex user remove | permissions.manage.users.permissions. | Забрать право У игрока |
| /pex user timed add | Дать временное право Игроку | |
| /pex user timed remove | permissions.manage.users.permissions.timed. | Забрать у игрока временное право |
| /pex user set | permissions.manage.users.permissions. | Выставить опцию на значение . Выставите значение на «» (две двойные скобки) если вы хотите убрать опцию |
Управление правами групп
| Команда | Permission | Описание |
|---|---|---|
| /pex groups | permissions.manage.groups.list | Показать все зарегистрированные группы |
| /pex default group | Показать группу по-умолчанию | |
| /pex set default group | permissions.manage.groups.inheritance | Установить группу , как группу по-умолчанию |
| /pex group prefix | permissions.manage.groups.prefix. | Установить группе префикс |
| /pex group suffix | permissions.manage.groups.suffix. | Установить группе суффикс |
| /pex group create | permissions.manage.groups.create. | Создать группу и если нужно установить для нее родительскую группу/группы |
| /pex group delete | permissions.manage.groups.remove. | Удалить группу |
| /pex group parents | Список родительских групп для группы | |
| /pex group parents set | permissions.manage.groups.inheritance. | Установить группе родительскую группу/группы |
| /pex group | Показать все права группы | |
| /pex group add | permissions.manage.groups.permissions. | Дать право Группе |
| /pex group remove | permissions.manage.groups.permissions. | Забрать право У группы |
| /pex group timed add | Дать временное право Группе на время (в сек.) | |
| /pex group timed remove | permissions.manage.groups.permissions.timed. | Забрать временное право У группы |
| /pex group set | permissions.manage.groups.permissions. | Выставить опцию значение для . Выставите значение на «» (две двойные кавычки) если вы хотите убрать опцию |
| /pex group weight | permissions.manage.groups.weight. | Показать/установить вес группы |
И так, наверно у каждого из вас, кроме опытных держателей серверов имеются проблемы с настройкой прав доступа. Лично я использую плагин PermissionsEx, так как считаю что это самый лучший плагин распределения прав доступа для серверов.
Что нам понадобится:
1. Notepad++ 2. Сам плагин. Последнюю версию можно всегда скачать . 3. Прямые руки. (Обязательный пункт)