Плагин для серверов Майнкрафт, синхронизирующий данные игроков между несколькими серверами через MySQL. Он подходит для сетей на Paper и Bukkit: при переходе игрока сохраняет его состояние без задержек, снижающих риск дюпов и потери инвентаря.
Возможности
- Синхронизирует инвентарь, броню, предмет во второй руке, эндер-сундук, опыт, здоровье, голод, эффекты и состояния персонажа: поглощение урона, истощение, запас воздуха, горение и дистанцию падения.
- Каждый тип данных можно отключить отдельно.
- Сохраняет данные NBT и компоненты пользовательских и модовых предметов.
- Закрепляет данные игрока за одним сервером на время сессии. Если другой сервер ещё владеет ими, вход отклоняется до передачи данных.
- При ошибке чтения, несовместимом формате данных или недоступной базе игрок не входит с пустым состоянием; сохранённые данные остаются нетронутыми.
- При сбое базы во время сохранения запись временно хранится на диске и повторяется позже.
- Создаёт снимки данных при сохранении, которые можно восстановить.
- Баланс экономики можно синхронизировать через Vault, но эта функция выключена по умолчанию.
Команды
/invsync status— показать подключение к базе, владение данными и отложенные сохранения./invsync save <player>— немедленно сохранить данные игрока./invsync unlock <player>— освободить данные, оставшиеся за недоступным сервером./invsync snapshots <player>— показать снимки данных./invsync restore <player> <id>— восстановить данные из снимка./invsync reload— перечитатьconfig.yml.
Права
invsync.admin— доступ ко всем командам администратора.invsync.admin.<subcommand>— доступ к отдельной подкоманде.invsync.sync— включает синхронизацию игрока; выдано по умолчанию.invsync.bypass— исключает игрока из синхронизации.
Настройка
- Укажите подключение к MySQL в
database.*и уникальныйserver-idдля каждого сервера. database.*иserver-idсчитываются только при запуске сервера; остальные параметры применяются через/invsync reload.- Параметр
ownership.on-timeoutопределяет действие при задержке передачи данных:denyне пускает игрока и сохраняет данные, аtakeoverзагружает их без передачи и может привести к дюпу. auto-saveпредназначен для защиты от сбоев; при обычном выходе игрока данные сохраняются всегда.
Требования
Нужны MySQL и одинаковая версия Майнкрафт на всех серверах либо серверы не старее того, который последним записывал данные. Плагин работает без внешних зависимостей и не поддерживает Folia. Эндер-сундук предполагается ванильным, на 27 ячеек; данные домов, приватов и других плагинов не синхронизируются.
