跳到主要内容

兼容性检查

Monoceros 的目标是跨版本运行,但“支持跨版本”不等于“所有能力在所有环境下完全一致”。

为什么兼容性检查重要

Monoceros 涉及这些高敏感能力:

  • 数据包监听与覆写
  • NMS 挥发能力
  • 物品与元数据处理
  • 不同 Java 版本下的兼容层

这些能力天然会受:

  • Minecraft 版本
  • Java 版本
  • 底层映射差异
  • 当前启用的 FeatureFlags

影响。

当前兼容层结构

层级说明
legacy/老版本兼容处理
modern/现代版本能力处理
compat/java17/Java 17 兼容
compat/java21/Java 21 兼容

建议重点关注的能力

数据包覆写

如果你要用 Wireshark 的覆写能力,除了看 Tap 配置,还要看当前环境是否适合安全覆写。

NMS 挥发

伪方块、伪边界、实体元数据这些能力都和版本适配关系很深,升级服务端后建议优先自检。

新版物品能力

dataComponentitemModel 这类能力,天然更依赖高版本支持。

推荐操作

  • 新环境首次部署:先 /mono selfcheck
  • 服务端升级后:先 /mono selfcheck + /mono status
  • 启用高风险能力前:先确认配置和版本环境都匹配

最稳妥的思路

把 Monoceros 当成“已经帮你做了很多兼容工作”的框架,而不是“完全不需要关心环境差异”的黑盒。

只要你在启用高风险模块前先做一次兼容性检查,很多问题都能提前发现。