Перейти к содержимому

Справочник config.conf

Администратор сервера

plugins/AbstractMenus/config.conf - глобальный конфиг плагина. Формат HOCON (надмножество JSON, синтаксис разобран в Формате HOCON). Все ключи опциональны; при первом запуске AbstractMenus создаст файл со значениями по умолчанию (см. ниже).

После правок выполни /am reload. Перезапуск не нужен.

# Сохранять значения /var и /varp между перезапусками.
# SQLite, файл plugins/AbstractMenus/variables.db.
variables: true
# Синхронизировать переменные между серверами BungeeCord. Актуально
# только в сети, где несколько бэкендов делят состояние переменных.
syncVariables: false
# Регистрировать плагин-канал BungeeCord. Нужно, чтобы действие
# bungeeConnect могло реально отправлять игроков на другие серверы.
bungeecord: false
# Периодически пинговать настроенные серверы BungeeCord, чтобы
# правила bungeeOnline/bungeeIsOnline видели свежие данные.
bungeePing: false
# Включить активаторы по регионам (regionJoin/regionLeave) и
# правило WorldGuard. Требует плагин WorldGuard.
useWorldGuard: false
# Парсить теги MiniMessage (<red>, <click:...>, <hover:...>,
# <gradient:...> и т.д.) в сообщениях и тексте предметов. Выключено
# по умолчанию, чтобы пропустить лишний проход парсера на каждом рендере.
useMiniMessage: false
# Путь к папке меню. "default" означает
# plugins/AbstractMenus/menus/. Замени на абсолютный путь, если
# несколько серверов должны раздавать одинаковые меню с общего
# NFS/SMB монта.
menusFolder: "default"
# Логировать каждое открытие меню в лог сервера. Полезно при отладке
# активаторов; в продакшене выключай.
logOpenMenus: false
# Путь к файлу variables.db. "default" кладёт его внутрь папки
# плагина. Замени, чтобы перенести (например, на SSD).
dbFolder: "default"
# Суффиксы форматирования времени для плейсхолдеров времени.
time {
day: "d"
hour: "h"
minute: "min"
second: "sec"
}
# Провайдер по умолчанию для каждой секции. Возможные значения:
# - "auto" - выигрывает зарегистрированный провайдер с наивысшим приоритетом
# - явный id - например "vault", "playerpoints", "luckperms"
#
# Переопределения на уровне действия в меню (provider: "...")
# всегда побеждают это значение.
providers {
economy = "auto"
permissions = "auto"
levels = "auto"
placeholders = "auto"
skins = "auto"
}
# Минимальные пороги дебаунса кликов, в миллисекундах. Активны
# только на предметах с clickCooldown > 0; кулдаун предмета
# побеждает, если он больше порога. Поставь clickCooldown: 0 на
# предмете, чтобы полностью обойти.
#
# Зачем это: ванильный клиент Minecraft присылает лишние пакеты
# на каждый физический клик при быстром нажатии. Отличить их от
# настоящих кликов на стороне сервера нельзя. Порог ограничивает
# частоту срабатывания, чтобы один физический клик оставался
# одним действием.
clickDebounce {
default = 80 # клики LEFT/RIGHT/MIDDLE
shift = 250 # клики SHIFT_LEFT/SHIFT_RIGHT
}
КлючПо умолчаниюЧто делает
variablestrueСохранять значения /var и /varp в variables.db. Поставь false, чтобы все переменные жили только в памяти.
syncVariablesfalseВ сети BungeeCord рассылать записи переменных на все бэкенды через bungee-канал.
bungeecordfalseРегистрировать плагин-канал BungeeCord. Нужно для действия bungeeConnect.
bungeePingfalseПериодически пинговать настроенные бэкенды, чтобы правила bungeeOnline видели свежее состояние.
КлючПо умолчаниюЧто делает
useWorldGuardfalseВключить активаторы/правила регионов. Требует WorldGuard на сервере.
useMiniMessagefalseПарсить теги MiniMessage в сообщениях и тексте предметов. Выключено по умолчанию, чтобы пропустить парсинг на серверах, где это не используется.
КлючПо умолчаниюЧто делает
menusFolder"default"Откуда AbstractMenus читает .conf меню. "default" разрешается в plugins/AbstractMenus/menus/. Замени на абсолютный путь для общей папки меню между серверами.
dbFolder"default"Где лежит variables.db. "default" разрешается в plugins/AbstractMenus/.
logOpenMenusfalseЛогировать каждое открытие меню в консоль сервера. Полезно при отладке.

Блок time {} настраивает суффиксы плейсхолдеров времени (например, отображение кулдаунов):

КлючПо умолчанию
time.day"d"
time.hour"h"
time.minute"min"
time.second"sec"

Блок providers {} говорит AbstractMenus, через какой плагин ходить за каждой категорией данных (деньги, права, уровни, плейсхолдеры, скины). Из коробки зарегистрированы Vault (экономика и права), LuckPerms (права и группы), Bukkit XP (уровни), PlaceholderAPI (плейсхолдеры), SkinsRestorer (скины). Аддоны могут добавлять свои провайдеры (например, PlayerPointsAddon добавит экономику на PlayerPoints).

КлючПо умолчаниюВозможные значения
providers.economy"auto""auto", "vault", "playerpoints"PlayerPointsAddon), или любой другой зарегистрированный id экономики.
providers.permissions"auto""auto", "vault", "luckperms" и т.д.
providers.levels"auto""auto", "bukkit" и т.д.
providers.placeholders"auto""auto", "papi", "internal".
providers.skins"auto""auto", "skinsrestorer" и т.д.

Что значит "auto": в одной секции может быть зарегистрировано несколько провайдеров (например, в economy живут Vault и PlayerPointsAddon одновременно). Каждый при регистрации указывает свой приоритет: у встроенных - 50, у аддонов обычно 100. При "auto" AbstractMenus возьмёт провайдера с самым высоким приоритетом - то есть аддон выиграет у встроенного Vault, если оператор не указал явный id.

Чтобы зафиксировать конкретный плагин, вместо "auto" пиши его id (например, "vault") - тогда AbstractMenus будет ходить только в него, даже если появится более приоритетный аддон.

Можно переопределить и на отдельное действие в меню (provider: "..." прямо внутри действия или правила) - это бьёт значение из конфига. Подробнее про это в Выбор провайдера.

Блок clickDebounce {} задаёт серверные минимальные кулдауны кликов в миллисекундах. Работают только на предметах, где автор меню выставил clickCooldown больше нуля.

КлючПо умолчаниюНазначение
clickDebounce.default80Порог для кликов LEFT/RIGHT/MIDDLE. Ловит синтетические DOUBLE_CLICK пакеты, которые клиент Minecraft шлёт на каждый физический клик.
clickDebounce.shift250Порог для кликов SHIFT_LEFT/SHIFT_RIGHT. Ловит ~3 лишних QUICK_MOVE пакета, которые клиент шлёт на каждый shift-клик. Подними, если всё ещё видишь дубли; снизь, если ощущается лагово.

/am reload перепарсит config.conf и каждый файл меню. Большинство ключей применяются сразу. Исключения:

  • variables - переключение сохранения вкл/выкл требует перезапуска сервера (SQLite-файл открывается на старте плагина).
  • bungeecord, bungeePing - канал регистрируется только при включении плагина; после переключения перезапусти сервер.
  • dbFolder - файл базы открывается на старте плагина; чтобы перенести - перезапусти.
  • useWorldGuard - слушатель регионов подключается на старте; после переключения перезапусти.

Всё остальное (menusFolder, useMiniMessage, time.*, providers.*, clickDebounce.*, logOpenMenus) перезагружается без перезапуска.