Мод для серверов Майнкрафт на Fabric, синхронизирующий данные игроков между несколькими серверами через NATS JetStream. При переходе игрока на другой сервер кластера переносятся инвентарь, эндер-сундук, здоровье, опыт, статистика и достижения.
Возможности
- Данные игрока сохраняются в хранилище NATS при выходе и применяются до появления на другом сервере.
- Блокировка сессий не даёт нескольким серверам одновременно записывать данные одного игрока.
- При недоступности NATS данные временно сохраняются локально в
nats-player-data-bridge/pending_sync/и синхронизируются после восстановления соединения. - Создаются резервные снимки данных, в том числе при смерти и смене измерения.
- Сервер не пускает игроков, пока фоновая синхронизация и восстановление данных не завершатся.
Как пользоваться
Для ручного управления нужны права оператора:
/nats sync [player]— отправить данные игрока в кластер./nats sessions list [page]— показать блокировки сессий./nats sessions clean <player/uuid>— очистить зависшую блокировку./nats backup push <player>— создать резервный снимок./nats backup list <player>— показать снимки./nats backup restore <player> <rev>— подготовить восстановление снимка./nats backup confirm— подтвердить восстановление; игрок будет отключён для безопасного применения данных.
Настройки
В config/nats-fabric.json указываются адрес NATS, токен доступа и уникальное имя сервера. В config/nats-player-data-bridge.json доступны параметры:
proxyMode— режим прокси Velocity;rpcTimeoutSeconds— ожидание межсерверных запросов;syncStatsиsyncAdvancements— синхронизация статистики и достижений;filterModeиfilterKeys— выбор NBT-данных для синхронизации;backupHistoryCountиautoBackupPolicies— хранение и условия создания резервных снимков.
Для Velocity включите "proxyMode": true. При использовании FabricProxy-Lite необходимо установить hackEarlySend = true в FabricProxy-Lite.toml.
Требования и совместимость
Нужны сервер NATS с включённым JetStream и Fabric API.
