- Баллы
- 123
- Ник в Minecraft
- Reality_SC
Плагин предназначен для управления именованными списками (lists) текстовых рассылок (сообщений (messages) в чат). Хранит списки и сообщения в MySQL. Простота настройки и интеграции с чем-либо, удобные и интуитивные команды. Поддерживает json-сообщения (сервера 1.7+) и плейсхолдеры (через PlaceholderAPI).
Полностью заменяет собой плагин AutoMessage, который и натолкнул меня на разработку альтернативы.
Основные функции:
Права:
Настройка плагина:
Файл config.yml создаётся автоматически при первом запуске и содержит минимум необходимых настроек:
История изменений:
Полностью заменяет собой плагин AutoMessage, который и натолкнул меня на разработку альтернативы.
Основные функции:
- Показ сообщений, поделённых тематически (на списки), игрокам на множестве серверов.
- По каждому списку: отдельные права на получение сообщений (receive), редактирование текста сообщений (edit) и изменение параметров показа (setup).
- Возможность указать отдельный список, сообщения из которого будут показываться игрокам, если они играют на сервере время, меньшее указанного (являются Новичками — Newbies).
- /rscm list [список] — перечислить доступные Вам списки или сообщения из указанного списка.
- /rscm info <список> [#] — посмотреть свойства самого списка или отдельного сообщения.
- /rscm broadcast <список> [#] — инициировать рассылку из указанного списка или конкретного сообщения.
- /rscm add <список> <текст> — добавить новое сообщение в список.
- /rscm edit <список> <#> <текст> — заменить текст определённого сообщения на новый.
- /rscm remove <список> [#] — удалить отдельное сообщение или целый список.
- /rscm set <список> [#] <свойство> [значение] — установить определённое свойство списку или сообщению.
- /rscm help [1|2] — страницы помощи по доступным Вам командам.
- /rscm reload — перечитать config.yml и перезапустить плагин.
Права:
- rscm.receive.<список> — право для получения рассылки сообщений указанного списка.
- rscm.receive.* — игрок с таким правом будет получать сообщения из всех списков.
- rscm.edit.<список> — листинг/просмотр свойств/создание/редактирование/удаление/вкл./выкл. сообщений из указанного списка.
- rscm.setup.<список> — создание/настройка параметров/удаление списка. Включает в себя соответствующее edit-право.
- rscm.admin — доступ ко всем командам плагина, но не включает в себя rscm.receive.*.
- Списки имеют следующие свойства:
- enable (вкл/выкл) — выключен (молчит) или включён (регулярно устраивает рассылки).
- random (вкл/выкл) — рассылает сообщения по порядку или случайным образом.
- delay_sec (сек) — период в секундах между ближайшими рассылками из этого списка.
- prefix (текст) — константа, добавляющаяся перед каждым сообщением.
- sound (текст) — константа, содержащая название звука, который будет проигран игроку при получении сообщения.
- Сообщения имеют следующие свойства:
- enable (вкл/выкл) — участвует ли сообщение в рассылке или нет (скрыто).
Настройка плагина:
Файл config.yml создаётся автоматически при первом запуске и содержит минимум необходимых настроек:
YAML:
settings:
# Какой языковой файл использовать? Из коробки идут english и russian
language: russian
# Описание соединения с MySQL сервером
connection:
# Адрес сервера и название базы данных
hostname: sql.example.com:3306/minecraft
# Данные учётной записи на указанном СУБД
username: minecraft-server
password: qwertypassword
# Префиксы, которые будут иметь таблицы lists и messages
prefixes: rscm_
# Как часто нужно обновлять данные из БД?
fetch-interval-sec: 600
# Дублировать проходящие по серверу рассылки в консоль?
broadcast-to-console: false
# Настройка сообщений, которые следует показывать Новичкам:
for-newbies:
# Название списка, содержащего сообщения. Новичкам не нужно иметь явно права, чтобы получать их.
special-list-name: 'Newbies'
# Интервал времени (сек) с момента первого захода, в течение которого игрок на сервере считается Новичком (604800 = 1 неделя)
interval-sec: 604800
# Добавлять префикс списка к сообщению в формате json?
# (ожидается, что префикс + сообщение вместе дают корректную json-строку)
add-prefix-to-json: false
# Отправлять ли статистику использования?
use-metrics: true
internal:
version: 7
- v0.7.5b — Операторы сервера больше не будут получать нежелательные сообщения.
- v0.7.0b — Новичками теперь считаются не те, кто впервые зашёл на сервер, а кто впервые зашёл на него ранее, чем указанный интервал. за счёт этого плагин опять не использует Listener-ы. Изменения в парсере команд (теперь сложнее убить случайно список). Звуки, проигрываемые игрокам при получении сообщений (можно менять из игры), возможные значения тут.
- v0.6.8b — интерпретация аргументов вида "#303" как нормальных чисел (т.е. как 303); добавлен инструмент для автоматического обновления (не тестировал); пробовал сделать проигрывание звуков при получении сообщений, но тоже пока не работает.
- v0.6.4b — добавлена опция config.yml/settings.special-list-for-newbies.
- v0.6.2b — добавлена поддержка полноценных json-сообщений (для серверов/клиентов, версии которых содержат эту функциональность, т.е. не менее 1.7). В таблицу messages добавлена колонка json, которая сообщает (если значение '1') плагину о наличии json-строки в колонке text. Добавлена опция config.yml/settings.add-prefix-to-json (по умолчанию false), которая разрешает конкатенацию префикса списка и json-строки (list.prefix + message.text должно давать корректную json-строку!). Для формирования корректных строк можно пользоваться сервисами наподобие этого.
Данная функция требует установленного на сервере ProtocolLib версии не ниже 3.6.4. - v0.6.0b — добавлена поддержка плейсхолдеров с помощью плагина PlaceholderAPI. Список возможных заменителей можно найти здесь.
- v0.5.1b — в таблицу messages добавлена колонка lifetime (типа TIMESTAMP), которая, если не NULL, определяет срок, после которого данное сообщение будет автоматически выключено (enabled установится в 0). Изменять значение из плагина нельзя, только устанавливать скриптами / SQL редакторами. Операторы сервера не получают сообщения из всех списков автоматически (теперь нужно явно указать право rscm.receive.* или конкретное с названием списка).
- v0.4.4b — информация о сообщении включает сам текст сообщения; в консольном логе указывается, сколько игроков получили сообщения; обновление сообщений из базы происходит в параллельном потоке.
- v0.4.3b — для получения списка онлайн игроков используется рефлексия, отсюда вернулась совместимость со старыми версиями сервером (1.5.x-1.6.x).
- v0.4.2b — все текстовые строки вынесены в файлы перевода, сразу поставляются английский и русский; адекватнее реакции на команды; внутренние улучшения.
- v0.3.7b — исправлены мелкие баги (eg., пустой список с random: true выбрасывал исключения), пересобрано под свежими зависимостями.
- v0.3.5b — добавлена команда просмотра свойств списков/сообщений, другие исправления.
- v0.3.2b — добавлена опция, позволяющая вкл/выкл показ сообщений в логе консоли.
- v0.3.1b — исправлено неправильное выключение плагина (могло влиять на другие всё ещё работающие плагины).
- v0.3.0b — первоначальная загрузка файла.
Пример №1:
Пример №2:Сервер с городами, главы городов имеют права setup для списков. Списки названы одноимённо с соответствующими городами. Доверенные жители могут иметь права на edit; остальные жители имеют только соответствующий receive. Игроки, не принадлежащие городу, не имеют никаких прав, относящихся к рассылке.
Пример №3:Список ModeratorNotes с подсказками по командам и т.п. молодым неопытным модераторам, вне зависимости от сервера (если больше одного).
Список Advert, в который рекламные сообщения попадают при их покупке через ЛК, имея ограниченное время действия (ЛК устанавливает колонку lifetime). Премиумам можно отключить показ рекламы, либо сделать ещё один список, от которого они не спрячутся, но помещение рекламы в него будет дороже.
Последнее редактирование:
