- Для версий
- 1.21.✘
- Исходный код
- https://github.com/igormaclakoff-dev/ITickets
- Зависимости
- LuckPerms, PlaceholderAPI
ITickets
Система тикетов: GUI, шаблоны ответов, внутренние заметки и меню персонала для Paper 1.21.x
Студия AuraCode (IgMacla)
Версия 1.0.0 · Paper 1.21.x · Java 21+ · Лицензия MIT
Система тикетов: GUI, шаблоны ответов, внутренние заметки и меню персонала для Paper 1.21.x
Студия AuraCode (IgMacla)
Версия 1.0.0 · Paper 1.21.x · Java 21+ · Лицензия MIT
Описание
ITickets — полноценная система обращений для Paper-сервера. Игрок создаёт тикет из GUI, выбирает категорию и описывает проблему, персонал отвечает в том же окне, при необходимости пользуясь готовыми шаблонами ответов. Тикет можно взять в работу, переоткрыть, закрыть с указанием причины и оценить от 1 до 5. Внутренние заметки видны только сотрудникам и никогда не отправляются игроку. Всё настраивается через config.yml, gui.yml, messages.yml, templates.yml и categories.yml с поддержкой MiniMessage.
Возможности
- Система тикетов — создание, ответ, закрытие, переоткрытие, мягкое удаление и оценка работы от 1 до 5.
- Статусы тикетов — «Открыт», «В работе», «Закрыт», «Удалён»; статус «В работе» ставится автоматически, когда тикет берут в работу.
- Категории тикетов — баг, жалоба на игрока, нарушение правил, потеря вещей, донат/покупка, вопрос и другое — каждая со своей иконкой и правом.
- GUI-меню — меню игрока, меню персонала с вкладками «Открытые», «В работе», «Назначены мне» и профиль со статистикой.
- Шаблоны ответов — 29 готовых шаблонов с группировкой, пагинацией и плейсхолдерами прямо из templates.yml.
- Внутренние заметки — скрытые комментарии персонала, видны только сотрудникам.
- Управление тикетом — смена важности и категории прямо из меню просмотра.
- Автозакрытие и напоминания — неактивные тикеты закрываются автоматически, персонал получает напоминания о тикетах без ответа.
- Ограничения и запреты — задержка между тикетами, лимит открытых тикетов и запрет создания тикетов игроку, у каждого есть право на обход.
- Экспорт базы — /iticket export [csv|txt] выгружает все тикеты в plugins/ITickets/exports/.
- Единый стиль чата — компактные уведомления с префиксом [IT] и полная поддержка MiniMessage (градиенты, HEX).
- Полная настройка — конфиги, тексты, GUI, категории и шаблоны вынесены в YAML, без правки кода.
Команды
| Команда | Описание | Право |
| /iticket | Открыть меню тикетов | itickets.use |
| /iticket create | Создать новое обращение | itickets.create |
| /iticket list [open|closed] | Список тикетов | itickets.view.own |
| /iticket view <id> | Открыть тикет | itickets.view.own |
| /iticket comment <id> <текст> | Ответить в тикете | itickets.comment.own |
| /iticket close <id> [причина] | Закрыть свой тикет | itickets.close.own |
| /iticket rate <id> <1-5> | Оценить работу администратора | itickets.view.own |
| /iticket cancel | Отменить ввод текста в чат | itickets.use |
| /iticket staff | Меню персонала | itickets.staff.gui |
| /iticket assign <id> <ник> | Назначить ответственного | itickets.assign |
| /iticket reopen <id> | Переоткрыть закрытый тикет | itickets.reopen |
| /iticket tp <id> | Телепорт к месту создания тикета | itickets.teleport |
| /iticket history <ник> | История тикетов администратора | itickets.history |
| /iticket stats [ник] | Статистика тикетов | itickets.stats |
| /iticket delete <id> | Мягко удалить тикет | itickets.delete |
| /iticket purge <id> | Удалить тикет навсегда | itickets.purge |
| /iticket ban <ник> | Запретить игроку создавать тикеты | itickets.ban |
| /iticket unban <ник> | Снять запрет создания тикетов | itickets.unban |
| /iticket reload | Перезагрузить конфиги | itickets.reload |
| /iticket reset confirm | Полностью очистить базу тикетов | itickets.reset |
| /iticket export [csv|txt] | Выгрузить базу тикетов в файл | itickets.export |
Алиасы: /tickets, /report, /reports, /support, /it → /iticket · new → create · open → view · reply → comment · admin → staff · teleport → tp · wipe → reset
Все команды поддерживают Tab-дополнение
Все команды поддерживают Tab-дополнение
Права
| Право | Описание | По умолчанию |
| itickets.use | Доступ к меню тикетов | все |
| itickets.create | Создание тикетов | все |
| itickets.view.own | Просмотр своих тикетов | все |
| itickets.comment.own | Ответ в своих тикетах | все |
| itickets.close.own | Закрытие своих тикетов | все |
| itickets.category.<id>.create | Создание тикета в конкретной категории | все |
| itickets.staff | Базовые права персонала | op |
| itickets.staff.gui | Меню персонала | op |
| itickets.view.all | Просмотр всех открытых тикетов | op |
| itickets.view.closed | Просмотр закрытых тикетов | op |
| itickets.view.deleted | Просмотр мягко удалённых тикетов | op |
| itickets.comment.staff | Ответ в тикетах как персонал | op |
| itickets.assign | Назначение ответственного | op |
| itickets.manage | Смена важности и категории | op |
| itickets.close | Закрытие чужих тикетов | op |
| itickets.reopen | Переоткрытие тикетов | op |
| itickets.delete | Мягкое удаление тикетов | op |
| itickets.purge | Окончательное удаление тикетов | op |
| itickets.teleport | Телепорт к месту тикета | op |
| itickets.stats | Глобальная статистика тикетов | op |
| itickets.history | История тикетов администраторов | op |
| itickets.reload | Перезагрузка конфигов | op |
| itickets.reset | Полная очистка базы тикетов | op |
| itickets.export | Экспорт базы тикетов | op |
| itickets.ban | Запрет создания тикетов игроку | op |
| itickets.unban | Снятие запрета создания тикетов | op |
| itickets.bypass.cooldown | Обход задержки создания тикетов | op |
| itickets.bypass.limit | Обход лимита открытых тикетов | op |
| itickets.notify.create | Уведомления о новых тикетах | op |
| itickets.notify.comment | Уведомления о новых комментариях | op |
| itickets.notify.close | Уведомления о закрытии тикетов | op |
| itickets.notify.join | Сводка тикетов при входе на сервер | op |
| itickets.notify.rating | Уведомления об оценке тикетов | op |
| itickets.admin | Полный доступ к ITickets | op |
itickets.staff и itickets.admin — групповые права: они раздают дочерние узлы. Полный список — в permissions.yml в папке плагина.
Установка
- Скачайте ITickets-1.0.0.jar.
- Положите jar в папку plugins/ вашего Paper-сервера.
- Перезапустите сервер — создадутся config.yml, gui.yml, messages.yml, templates.yml, categories.yml и permissions.yml.
- Выдайте персоналу право itickets.staff (или itickets.admin для полного доступа).
- При необходимости измените конфиги и примените их командой /iticket reload.
Требования: Paper/Spigot/Purpur 1.21.x, Java 21+.
Мягкие зависимости: нет.
Код:
# ITickets 1.0.0
# Paper/Purpur 1.21.x
settings:
# Задержка между тикетами от одного игрока.
cooldown-seconds: 60
# Лимит открытых тикетов без права itickets.bypass.limit.
max-open-tickets: 3
# Максимальная длина текста тикета и комментария.
max-message-length: 500
# Количество тикетов на странице GUI.
tickets-per-page: 45
# Перехватывать следующее сообщение игрока после клика в GUI.
capture-chat-inputs: true
# Автоматическое закрытие неактивных тикетов.
auto-close:
enabled: false
days: 7
reason: "Автозакрытие: нет активности"
# Напоминания персоналу о тикетах без ответа.
reminders:
enabled: false
interval-minutes: 30
after-minutes: 60
# Формат дат в сообщениях и GUI.
date-format: "dd.MM.yyyy HH:mm"
time-zone: "Europe/Moscow"
gui-click-sound:
enabled: true
sound: "UI_BUTTON_CLICK"Хранение данных
| Путь | Содержимое |
| plugins/ITickets/tickets/<ник>.yml | Тикеты игроков |
| plugins/ITickets/tickets/_meta.yml | Счётчик идентификаторов тикетов |
| plugins/ITickets/tickets/backups/ | Резервные копии при перезаписи |
| plugins/ITickets/exports/ | Выгрузки базы (csv, txt) |
Требования
- Paper/Spigot/Purpur для Minecraft 1.21.x (api-version 1.21)
- Java 21
Исходный код: GitHub - igormaclakoff-dev/ITickets: Плагин для Paper 1.21.x: система тикетов с GUI, шаблонами ответов, внутренними заметками и меню персонала. Студия AuraCode (IgMacla).
Сделано студией AuraCode (IgMacla) с ❤️
Сделано студией AuraCode (IgMacla) с ❤️