promotional bannermobile promotional banner

Mirage Sync

A fabirc minecraft mod for incremental dimension sync between main and mirror Minecraft servers via persistent TCP connection.

File Details

mirage-1.2.0.jar

  • R
  • Apr 11, 2026
  • 91.84 KB
  • 4
  • 1.21.11
  • Fabric

File Name

mirage-1.2.0.jar

Supported Versions

  • 1.21.11

Curse Maven Snippet

Fabric

modImplementation "curse.maven:mirage-sync-1505496:7908974"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

Mirage v1.2.0 Update / 更新说明

New Features / 新功能

In-Game Sync Notifications / 游戏内同步通知

  • Sync progress messages are now displayed in the chat area for all Admin/OP players.

  • Messages are color-coded: green for info, yellow for warnings, red for errors, with an aqua [Mirage] prefix.

  • 同步进度消息现在会显示在所有 Admin/OP 玩家的聊天区域中。

  • 消息按颜色区分:绿色为信息、黄色为警告、红色为错误,带有青色 [Mirage] 前缀。

Block Coordinate Input for Chunk Sync / 区块同步支持方块坐标输入

  • /mirage sync chunk and /mirage pull chunk now accept block coordinates (X, Z) instead of chunk coordinates.

  • Coordinates are automatically converted to chunk positions internally.

  • Example: /mirage sync chunk minecraft:overworld 100 200 syncs the chunk containing block (100, 200).

  • /mirage sync chunk/mirage pull chunk 现在接受方块坐标 (X, Z),不再需要手动输入区块坐标。

  • 坐标会自动转换为区块位置。

  • 示例:/mirage sync chunk minecraft:overworld 100 200 会同步包含方块 (100, 200) 的区块。

Configurable Sync Cooldown / 可配置的同步冷却时间

  • Sync cooldown is now configurable via syncCooldownSeconds in mirage.json (default: 30 seconds).

  • Changes take effect immediately after /mirage reload.

  • 同步冷却时间现在可通过 mirage.json 中的 syncCooldownSeconds 字段配置(默认:30 秒)。

  • 修改后执行 /mirage reload 即可立即生效。

Bug Fixes / 问题修复

Chunk Sync Now Works for Loaded Chunks / 修复已加载区块同步无效的问题

  • Previously: Chunk sync only worked when the target chunk was not loaded in memory (i.e., no players nearby). If a player was in the dimension with the chunk loaded, the sync would report success but blocks would not update.

  • Now: When a chunk is loaded, Mirage directly replaces block data in memory by deserializing the received NBT data, updating all chunk sections and block entities in-place, then sending an updated chunk packet to all nearby players. Changes are visible immediately without requiring a relog or chunk reload.

  • For unloaded chunks, data is written to disk as before and loaded naturally on next access.

  • 修复前:区块同步仅在目标区块未被加载时(即附近没有玩家时)才生效。如果玩家在该维度且区块已加载,同步会提示成功,但方块不会更新。

  • 修复后:当区块已加载时,Mirage 直接在内存中反序列化收到的 NBT 数据,替换所有区块 Section 和方块实体,然后向所有附近玩家发送更新后的区块数据包。修改立即可见,无需重新登录或重新加载区块。

  • 未加载的区块仍按原方式写入磁盘,下次加载时自然读取新数据。

Main Server Flush Before Chunk Read / 主服读取区块前先刷盘

  • Fixed an issue where the main server could send stale chunk data because in-memory changes hadn't been flushed to disk before reading the .mca file.

  • 修复了主服可能发送旧区块数据的问题——现在读取 .mca 文件前会先将内存中的变更刷写到磁盘。

Configuration / 配置变更

mirage.json new field / 新增字段:

{
  "syncCooldownSeconds": 30
}

Full Changelog: https://github.com/MRNOBODY-ZST/Mirage/compare/v1.1.0...v1.2.0