Мод для Майнкрафт на Fabric, который синхронизирует миры между основным сервером и одним или несколькими зеркальными серверами. Он передаёт только изменённые файлы регионов, поэтому зеркала можно поддерживать в актуальном состоянии без остановки основного сервера.
Возможности
- Синхронизация измерений, включая обычный мир, незер, энд и пользовательские измерения.
- Передача изменённых файлов регионов
.mcaпо постоянному TCP-соединению с автоматическим переподключением зеркального сервера. - Сравнение контрольных сумм SHA-256: одинаковые регионы не скачиваются повторно.
- Синхронизация отдельного чанка по координатам.
- Безопасная замена файлов: данные сначала записываются во временный файл, затем переносятся на место, поэтому прерванная передача не повреждает мир.
- Автоматическая синхронизация по расписанию на зеркальном сервере и защита от слишком частых запусков.
Как пользоваться
На основном сервере доступны команды:
/mirage sync <dimension>— подготовить синхронизацию одного измерения./mirage sync all— синхронизировать все зарегистрированные измерения./mirage sync chunk <dimension> <x> <z>— синхронизировать чанк по координатам./mirage status— показать состояние мода и подключённые зеркала./mirage reload— перечитатьconfig/mirage.json.
На зеркальном сервере:
/mirage pull <dimension>— загрузить измерение с основного сервера./mirage pull all— загрузить измерения изtargetDimensions./mirage pull chunk <dimension> <x> <z>— загрузить отдельный чанк./mirage status— показать состояние подключения и синхронизации./mirage reload— перечитатьconfig/mirage.json.
Все команды требуют уровень прав OPERATORS. Во время синхронизации игроки, находящиеся в нужном измерении на зеркальном сервере, отключаются и могут зайти снова после её завершения. Основной сервер продолжает работать.
Настройки
Файл config/mirage.json создаётся после первого запуска. На основном сервере задаются mode со значением main, mainServer.port и mainServer.authToken. На зеркале укажите mode со значением mirror, адрес основного сервера в mirrorServer.mainIp, его порт в mirrorServer.mainPort, такой же mirrorServer.authToken и список измерений mirrorServer.targetDimensions.
Для синхронизации токены authToken на обоих серверах должны полностью совпадать. Автосинхронизация включается ключом mirrorServer.autoSyncEnabled, а её интервал задаётся в mirrorServer.autoSyncIntervalMinutes. Параметр syncCooldownSeconds ограничивает частоту запусков; изменение сетевых параметров требует перезапуска сервера.
Требования и совместимость
Мод нужен на основном и на каждом зеркальном сервере. Требуются Fabric Loader, Fabric API и Java 21 или новее; оба сервера должны работать на одной версии Майнкрафт.
