
UltimateRanks
UltimateRanks - мощный плагин для управления рангами на серверах Minecraft Paper 1.21+. Позволяет игрокам владеть несколькими рангами одновременно и выбирать активный для отображения в чате. Полная интеграция с LuckPerms, поддержка RGB и градиентов, асинхронная база данных.
UltimateRanks - это современный плагин для управления рангами на серверах Minecraft (Paper 1.21+), который решает главную проблему старых систем: теперь игрок может иметь несколько рангов одновременно и сам выбирать, какой из них показывать в чате и табе.
Если вы когда-нибудь админили сервер с донатом, то знаете эту боль: игрок купил VIP, потом стал строителем, а потом ещё и хелпером - а плагин позволяет только один ранг. Приходится костылить через группы LuckPerms и вручную управлять префиксами. UltimateRanks делает это красиво и без лагов.
Основные возможности
Множественные ранги
Игрок может владеть неограниченным количеством рангов одновременно. Все права суммируются - никаких конфликтов. Например: Member + VIP + Builder = все разрешения сразу.
Выбор активного ранга
Через удобное GUI меню (/rank menu) игрок выбирает, какой ранг отображается в чате и списке игроков. При этом права от всех остальных рангов сохраняются.
Красивое GUI
Пагинированное меню с 28 рангами на странице. Состояния:
- Активный - подсвеченный предмет
- Владеет - обычная иконка, можно нажать чтобы экипировать
- Заблокирован - недоступен
В GUI отображается срок действия ранга (если временный).
Система разрешений
- Автономный режим - встроенная Bukkit-система
- Режим LuckPerms - полная интеграция с LuckPerms API
- Автоопределение доступной системы
- Поддержка wildcard (
essentials.*) и отрицаний (-essentials.fly)
Временные ранги
Можно выдавать ранги на срок: 30d, 7d, 1w, 1mo, 1y или навсегда (permanent). Автоматическое удаление по истечении срока, уведомления игроку за 24 часа.
MiniMessage и RGB
Полная поддержка цветов RGB и градиентов:
<gradient:gold:yellow>VIP</gradient>
<bold><red>Важно</red></bold>
Производительность
Все операции с базой данных асинхронные - никаких лагов на тиках сервера.
- Загрузка данных игрока: ~5ms (SQLite), ~3ms (MySQL)
- Переключение ранга: ~2ms (из кэша)
- Память: ~5MB базовый плагин + ~2KB на игрока
- Протестировано на 1000+ одновременных игроков
База данных
- SQLite - без настроек, для маленьких серверов
- MySQL - пул соединений HikariCP для больших сетей
- 100% асинхронные операции
- Автоматическое управление схемой
Интеграции
LuckPerms
- Автосинхронизация групп UltimateRanks <-> LuckPerms
- Работает как с LuckPerms, так и без него
- Автосоздание недостающих групп
- Уважает иерархию LuckPerms
PlaceholderAPI
Доступные плейсхолдеры:
%ultimateranks_prefix% - префикс активного ранга
%ultimateranks_suffix% - суффикс активного ранга
%ultimateranks_rank_displayname% - отображаемое имя ранга
%ultimateranks_rank_id% - ID ранга
%ultimateranks_rank_weight% - вес ранга
%ultimateranks_total_ranks% - количество рангов у игрока
Эти плейсхолдеры можно использовать в любых плагинах с поддержкой PlaceholderAPI (DeluxeChat, FeatherBoard, TAB и т.д.).
Совместимость с чат-плагинами
- EssentialsX Chat
- ChatControl
- VentureChat
- Любой плагин через PlaceholderAPI
Команды и разрешения
| Команда | Описание | Право |
|---|---|---|
/rank menu | Открыть GUI выбора ранга | ultimateranks.menu |
/rank set <игрок> <ранг> | Установить основной ранг | ultimateranks.admin.set |
/rank grant <игрок> <ранг> [время] | Выдать ранг | ultimateranks.admin.grant |
/rank remove <игрок> <ранг> | Удалить ранг | ultimateranks.admin.remove |
/rank reload | Перезагрузить конфиги | ultimateranks.admin.reload |
Алиасы: /rank, /ranks, /ur
Иерархия прав:
ultimateranks.*
├── ultimateranks.use
├── ultimateranks.menu
└── ultimateranks.admin.*
├── ultimateranks.admin.set
├── ultimateranks.admin.grant
├── ultimateranks.admin.remove
└── ultimateranks.admin.reload
Создание рангов (пример)
Ранги определяются в файле plugins/UltimateRanks/ranks.yml. Вот пример создания ранга "Supporter":
ranks:
supporter:
weight: 5 # вес (выше = важнее)
display_name: '<gradient:green:lime>Supporter</gradient>'
prefix: '<gradient:green:lime>[Supporter]</gradient> '
suffix: ' <green>♥</green>'
gui_icon: EMERALD # предмет в GUI
custom_model_data: 0 # для ресурспаков
permissions:
- 'essentials.spawn'
- 'essentials.sethome'
- 'essentials.home'
- 'essentials.back'
После редактирования выполните /rank reload.
Использование для игроков
- Напишите
/rank menu - В открывшемся GUI кликните по любому принадлежащему вам рангу, чтобы сделать его активным.
- Префикс в чате обновится мгновенно.
- Если ранг временный - в GUI отображается оставшееся время.
Использование для администраторов
Выдача нескольких рангов одному игроку:
/rank grant PlayerName vip permanent
/rank grant PlayerName builder permanent
/rank grant PlayerName helper permanent
Игрок теперь владеет всеми тремя рангами и может переключаться между ними через GUI.
Временная выдача:
/rank grant PlayerName premium 30d # на 30 дней
/rank grant PlayerName event 1w # на неделю
Сброс рангов:
/rank set PlayerName default # удаляет все ранги и устанавливает default
Важно знать (FAQ)
Чем UltimateRanks отличается от других плагинов? Главная фишка - поддержка нескольких рангов одновременно с возможностью выбора активного. Старые плагины работают по принципу "один ранг - один набор прав". Здесь все права суммируются.
Нужен ли LuckPerms? Нет, плагин имеет встроенную систему разрешений. Но если LuckPerms установлен - будет автоматическая интеграция.
Вызывает ли лаги? Нет. Все операции с БД асинхронные. Даже на 1000+ игроках нет задержек на тиках.
Можно ли использовать на BungeeCord сети? Да, используйте MySQL режим - все серверы будут использовать общую базу данных.
Что происходит при истечении временного ранга? Ранг автоматически удаляется через заданный интервал очистки (по умолчанию каждые 30 минут). Игрок получает уведомление за 24 часа до истечения.
Как сделать градиентный префикс? Используйте MiniMessage синтаксис:
prefix: '<gradient:red:yellow:green>Название</gradient> '
Поддерживается любое количество цветов.
Производительность и настройка БД
Для маленьких серверов (до 50 игроков) достаточно SQLite без дополнительных настроек. Для средних (50-200) рекомендуется MySQL с пулом 5 соединений. Для крупных сетей (200+) используйте MySQL с пулом 15+ соединений и включенным кэшированием.
Пример конфигурации MySQL:
database:
type: mysql
mysql:
host: localhost
port: 3306
database: ultimateranks
username: root
password: 'your_password'
pool-size: 10
parameters: '?useSSL=false&autoReconnect=true'
Заключение
UltimateRanks - это must-have для любого сервера Майнкрафт, где есть донат или система ролей. Он решает проблему несовместимости множественных рангов простым и элегантным способом. Благодаря асинхронной архитектуре он не грузит сервер, а интеграция с LuckPerms делает его идеальным дополнением к уже существующей системе прав.
Скачайте UltimateRanks для вашего сервера Minecraft Paper 1.21+ и дайте игрокам возможность носить все свои достижения одновременно!
Сервер для плагина UltimateRanks - как у профи
Плагин UltimateRanks создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином UltimateRanks для друзей можно за пару минут - BungeeHost всё уже подготовил.
