MultiView - 闪回附加组件

MultiView - 闪回附加组件

将同一会话中的多个闪回回放合并为单一统一回放 — 一个“全知观察者”视角,结合每个视角所见的分块、玩家和事件的并集。

多人游戏服务器

MultiView — 合并多人 Flashback 回放

MultiView 是 Flashback 的一个 Fabric 附加模组。每位玩家使用 Flashback 录制自己的第一人称视角;MultiView 将这些录制文件融合为一个统一的回放,其效果如同由一名全知的旁观者捕获了整个会话。

  • ✅ 包含任一视角所探索的每个区块
  • ✅ 所有录制玩家在同一时间均可见
  • ✅ 保留被至少一个视角观察到的每个实体和事件
  • ✅ 在合并后的回放中自由切换摄像机或旁观玩家
  • ✅ 逐刻(Tick)精准时间对齐,失败时原子性回滚

适用人群

  • 内容创作者 — SMP 回顾、PVP 锦标赛、从单个回放文件中获取多角度镜头的电影制作。
  • 服务器管理人员 — 多角度事件审查、从每位涉事玩家的视角进行反作弊调查。
  • 电影摄影师 — 通过自由摄像机在多人场景中拍摄,信息零丢失。

如何合并两个回放

  1. 每位玩家在同一个会话中使用 Flashback 录制自己的第一人称视角。
  2. 将生成的 .zip 文件放入 <游戏目录>/flashback/replays/。
  3. 启动安装了 Flashback + MultiView 的 Minecraft。
  4. 点击摄像机图标 → 选择回放(Select Replay)。
  5. 勾选每个回放右侧的复选框(至少两个)。
  6. 点击右上角的 合并 N 个回放(Merge N Replays)。
  7. 进度界面完成后,合并后的回放 merged_<时间戳>.zip 将出现在列表中。

兼容性

Minecraft Flashback MultiView
1.21.9 / 1.21.10 0.39.x 0.3.2+mc1.21.9
1.21.11 0.39.4 0.3.2+mc1.21.11
26.1 / 26.1.1 / 26.1.2 0.40.0 0.3.2+mc26.1

需要 Fabric API。1.21.x 使用 Java 21,26.1+ 使用 Java 25。

功能特性

  • N 路合并 — 支持从 2 个到多个视角的合并。
  • 逐刻精准对齐 — 通过 ClientboundSetTimePacket 实现,并带有元数据回退方案。
  • 跨来源去重 — 区块(SHA-256 128 位内容哈希)、玩家信息、按可见文本区分的系统聊天、实体移动。
  • 多维度支持 — 次要视角的维度变化将以标记形式保留。
  • 聚合标记 — 将每个视角的标记汇总到单一时间线上。
  • 原子写入 — .part 文件加原子重命名;合并失败绝不会破坏已有回放。
  • 内存可控 — 基于 LRU 的聊天去重、密码学区块哈希,可安全处理数小时的会话。
  • 国际化(i18n) — 支持法语和英语。

已知限制

  • 次要视角会以普通玩家实体的形式出现(Flashback 仅支持一个本地玩家;摄像机跟随最先开始录制的视角)。
  • 4 个及以上视角的合并可能在区块版本冲突重叠的区域产生轻微视觉瑕疵。
  • 完整的技术限制与路线图请参阅 SPEC.md。

链接

许可证

MIT — 可自由使用、修改和再分发。Flashback 仍遵循 Moulberry 的专有许可证;MultiView 是一个完全独立的附加模组,不重新分发任何 Flashback 代码。