VeryMcProto
1.21.11-b7Serverside plugins that add servux&JEI&syncmatica&carpet protocol support for papermc servers.
1.21.11-b7latestVeryMcProto 1.21.11-b72 days ago VeryMcProto 1.21.11-b7(Servux v3 世代协议对齐——修复客户端收包断连崩溃)
以纯 Paper 插件形式移植 Fabric 端 Mod Protocol——协议投递型(Servux / JEI / Syncmatica)+ 行为注入型可移植子集(Carpet),面向 Minecraft 1.21.11 / Paper 1.21.11(Java 21,维护线ver/1.21.11-dev → ver/1.21.11)。本版内容(自 v1.21.11-b6 以来)
- 修复:v3 世代 masa 客户端收 servux 包断连崩溃(f33c60e,27 文件)。部署客户端已换代至 LTS v3 世代(minihud 0.38.16 / malilib 0.27.20 / litematica 0.26.16),而本线 servux 移植停留在 v2 世代——v3 客户端把非 metadata NBT 体的头 4 字节读作 int32 帧长,裸 NBT 直发触发解码越界断连(开启 HUD/实体数据同步后进服或传送瞬间几乎必崩,五次崩溃会话同源 102 字节尾随实证;与 Carpet 模块/服务器人数无关,系 b6 部署与客户端换代的时间耦合)。修复逐字对齐上游 servux 0.9.9: - 新增 `ServuxNbtFrames` 帧编解码器:[int32 BE][GZIP(命名根 NBT 流)],与上游DataByteBufUtils字节等价(空数据 END-only 流同构;读侧越界拒包 + 非压缩回退); - 五通道 wire 升位:HUD 3 / Entities 2 / Tweaks 2 / Structures 3 / Litematics 2——非 metadata NBT 体全部帧化(含配方/结构/投影上传的 splitter 内层载荷);实体请求删 transactionId 前缀;UNREGISTER_REPLY各通道齐备(HUD=9 / Litematics=8 / Entities=7 / Tweaks=7);structures v2 遗留死枚举 10/11/12 删除; - 注册时序对齐:五通道 join 不再自动入册(注册唯一入口 = 客户端METADATA_REQUEST/STRUCTURES_REGISTER,对齐上游 PlayerListener 停用);请求到达记声明版本观测行; - MOD_STRING 前缀改 `servux-fabric-1.21.11-b7`:v3 客户端对握手字段做startsWith("servux-fabric[-mcVersion]")硬门禁,旧servux-paper-前缀被静默拒收全部数据; - 旧世代客户端(≤ minihud 0.38.13)行为边界:不崩溃、通道数据静默不可用(服务端日志留痕v2 generation, unsupported,可诊断)。 - 发版(cb75e80):buildNumber6 → 7。验证
- JDK 21 工具链./gradlew build全绿(含verifyVersionInjection三断言);./gradlew test132/132 全绿(23 测试类,含新增ServuxNbtFramesTest7 用例:malilib 读侧契约 golden 断言 / roundtrip / 越界拒包 / 非压缩回退) - 实机验收通过:v3 世代客户端进服 + 传送全流程无断连、无版本失配告警、HUD/实体数据同步正常(服务器管理员实测确认) - 跨线核查:dev 与 26.1.2 线已是 v3 世代 wire(各自DataTagIo实现),本缺陷仅存在于 1.21.11 线,无回移面产物
-VeryMcProto-1.21.11-b7-reobf.jar—— 推荐:obf 映射产物,标准 Paper 1.21.11 服务器放入plugins/直接加载。 -VeryMcProto-1.21.11-b7.jar—— Mojang 映射产物(开发参考)。 可选依赖 PacketEvents 2.13.0(仅 EasyPlace 需要,未装自动跳过)。上一版本:[v1.21.11-b6](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
1.21.11-b6VeryMcProto 1.21.11-b6last week VeryMcProto 1.21.11-b6(Carpet 模块铺开 + 三线文档体系重构)
以纯 Paper 插件形式移植 Fabric 端 Mod Protocol——协议投递型(Servux / JEI / Syncmatica)+ 行为注入型可移植子集(Carpet),面向 Minecraft 1.21.11 / Paper 1.21.11(Java 21,维护线ver/1.21.11-dev → ver/1.21.11)。本版内容(自 v1.21.11-b5 以来)
- Carpet 模块铺开至本线(71fe5b7,57 文件原子交付):规则框架(carpet.conf纯文本 + locked 语义)+/carpet四子命令(双层门禁)+ 18 条上游实名规则 + 假人/player全族 + carpet:hello 协议(HI = 上游 mod_version 逐字 `"1.4.194"`,禁发插件版本号)+/log日志框架(tps/mobcaps HUD + 订阅跨会话持久)+ 五条纯计算命令。 - 本线适配(26.1.2 版基础上再 3 处):ActionPack 三调用点 1.21.11 树同位形态(interactAt两参 /interactOn两参 / jump 分支删行)+ HI 字面锁;其余 NMS/Paper API 面实测零漂移; - 掉落伤害 per-line 决策(勿随 dev 线互抄):本线 Paper 玩家物理敞开——覆写isClientAuthoritative()恢复全 vanilla 链;survival 假人 40 格坠落 1 秒内死亡实测; - 移植范围终局定案:可完整等价子集全部实现完毕,其余面技术上不可能实现或无法等价,永不纳入。 - 三线文档体系重构(3e1b3cd + 8b07c11):NN- 编号 + 独立研究层 27 项重构为与 dev 线同构的模块子目录树 + 冻结归档 14 件(含docs/research/六件迁移笔记);62KB/17 节 README 运维手册迁入新写 `docs/operations.md`,README 瘦身为英文门面;carpet.md 单件拆分两件;版本字串策略三件套落库。 - 发版(cf5459a + 2dd3345):buildNumber5 → 6(Carpet 铺开提交的预增位即发版位;首次发版提交误增至 7 已修正为 6)。验证
- JDK 21 工具链./gradlew build全绿(含verifyVersionInjection);./gradlew test125/125 全绿(22 测试类,含 Carpet 7 类) - runServer 实机:四模块注册(Done (15.8s)无异常)+ 假人全链(survival spawn abilities 验证 + 40 格坠落致死)+/carpet//log/五命令全判据通过 - 文档电池:旧路径引用零命中 + 全盘 .md 链接解析零断链;jar 内 plugin.yml version=1.21.11-b6 开箱复核产物
-VeryMcProto-1.21.11-b6-reobf.jar—— 推荐:obf 映射产物,标准 Paper 1.21.11 服务器放入plugins/直接加载。 -VeryMcProto-1.21.11-b6.jar—— Mojang 映射产物(开发参考)。 可选依赖 PacketEvents 2.13.0(仅 EasyPlace 需要,未装自动跳过)。上一版本:[v1.21.11-b5](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
26.1.2-b8VeryMcProto 26.1.2-b8last week VeryMcProto 26.1.2-b8(Carpet 模块铺开 + 三线文档体系重构)
以纯 Paper 插件形式移植 Fabric 端 Mod Protocol——协议投递型(Servux / JEI / Syncmatica)+ 行为注入型可移植子集(Carpet),面向 Minecraft 26.1.2 / Paper 26.1.2(Java 25,维护线ver/26.1.2-dev → ver/26.1.2)。本版内容(自 v26.1.2-b7 以来)
- Carpet 模块铺开至本线(0e278bc,61 文件原子交付):规则框架(carpet.conf纯文本 + locked 语义)+/carpet四子命令(双层门禁)+ 18 条上游实名规则 + 假人/player全族(patches 三件套 + ActionPack + Paper Brigadier 树)+ carpet:hello 协议(HI = 上游 mod_version 逐字 `"26.1"`,禁发插件版本号)+/log日志框架(tps/mobcaps HUD 走 tab 脚、订阅跨会话持久carpet-logs.json双信号模型)+ 五条纯计算命令(/distance /info /perimeterinfo /draw /spawn)。 - 本线适配 6 处:EntityTypes常量回并、EntitySpawnRequest回退、HI 常量与字面锁、javadoc 锚点族等(对照上游 26.1 树同位形态); - 掉落伤害 per-line 决策(勿随 dev 线互抄):26.1.2 线 Paper 玩家物理敞开——假人掉落伤害经EntityPlayerMPFake覆写isClientAuthoritative()返回 false 恢复全 vanilla 链(与 26.2 线手动驱动机制根本不同);survival 假人 40 格坠落致死实测(vanilla 公式 37 ≥ 20 血 ✓); - 移植范围终局定案:可完整等价子集全部实现完毕,其余面技术上不可能实现或无法等价,永不纳入。 - 三线文档体系重构(d1fc583 + c213af0 + 72feda8):NN- 编号 18 件重构为与 dev 线同构的模块子目录树 + 冻结归档(04/09/22/23);蒸馏归并(01+07+04+09 → architecture;09 §26.1 wire 真值 → servux/protocol §9;task 组 → schematic §9;22 七边 → syncmatica §10);31-carpet 单件拆分两件;版本字串策略三件套落库。 - 发版(f679090 + f8ef3eb):buildNumber7 → 8(Carpet 铺开提交的预增位即发版位;首次发版提交误增至 9 已修正为 8)。验证
-./gradlew build全绿(含verifyVersionInjection);./gradlew test168/168 全绿(27 测试类,含 Carpet 7 类) - runServer 实机:四模块注册 + 假人全链(含 survival 40 格坠落致死差分)+/carpet//log/五命令全判据通过 - 文档电池:旧路径引用零命中 + 全盘 .md 链接解析零断链;jar 内 plugin.yml version=26.1.2-b8 开箱复核产物
VeryMcProto-26.1.2-b8.jar—— Mojang 映射 jar(26.1 起无 reobf),标准 Paper 26.1.2 服务器放入plugins/直接加载。可选依赖 PacketEvents 2.14.0(仅 EasyPlace 需要,未装自动跳过)。上一版本:[v26.1.2-b7](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
26.2-b4VeryMcProto 26.2-b4last week VeryMcProto 26.2-b4(Carpet 模块全量落地 + 三线文档体系重构)
以纯 Paper 插件形式移植 Fabric 端 Mod Protocol——协议投递型(Servux / JEI / Syncmatica)+ 行为注入型可移植子集(Carpet),面向 Minecraft 26.2 / Paper 26.2(Java 25,开发线dev → main)。本版内容(自 v26.2-b3 以来)
- Carpet 模块全量落地(可完整等价子集,移植范围终局定案): - P1 模块地基(97e488e):注解规则框架(上游SettingsManager同构——carpet.conf纯文本 + locked 语义 + validator 链)+/carpet list|setDefault|query|removeDefault四子命令(静态carpet.command+ 动态carpetCommandPermissionLevel双层门禁)+ 8 条地基规则实名接入; - P2 假人 /player 全族(1b044a0):patches 三件套纯子类(spawn 走原版placeNewPlayer链——tab 栏/入睡跳夜/playerdata 持久//tp/ban识别全部原生承载)+EntityPlayerActionPack动作状态机(侧表 + BukkitRunnable tick 驱动)+/player全子命令(Paper Brigadier);掉落/环境接触伤害双免疫修复(2f79429:26.2 线 Paper 关闭服务端玩家物理——tick 手动累积 fallDistance + 落地直调causeFallDamage,per-line 决策勿跨线互抄); - P3 carpet:hello 协议(5084843):单 CompoundTag 载体通道,S2C 全 NMSDiscardedPayload直发,进服 HI(版本串 = 上游 mod_version 逐字"26.2",禁发插件版本号)+ hello 应答 + Rules 全量/增量同步 + clientCommand 请求-回执(Snoopy 移植); - P4 /log 日志框架(811a8de):LoggerRegistry上游同构订阅框架 +tps/mobcaps两条 HUD logger(公式与热力色上游逐字、MAGIC_NUMBER=289)——HUD 走 tab 脚每 20 tick(BukkitsetPlayerListFooter,零协议路径),订阅跨会话持久(carpet-logs.json双信号模型:显式订阅 + 退订墓碑); - P5 纯计算命令族(402a79c):/distance/info block/perimeterinfo/draw/spawn mobcaps|entities五命令 +Messenger组件输出层(含可点击 tp 坐标)+ 五条commandXxx规则; - 移植范围终局定案(f3b3840):可完整等价的子集全部实现完毕;其余面(Scarpet / TNT 与红石活塞优化类 Mixin / 近似规则池与 chat logger 等)在纯 Paper 形态下技术上不可能实现或无法等价,永不纳入——预研/推进规划文档已删除(历史见 git)。 - 三线文档体系重构(6095243 + f3b3840):docs/ 重构为三线同构模块子目录树(servux/ syncmatica/ jei/ carpet/+ 全局四件留根 + 冻结归档archive/),index.md 双层历史锚点映射表;版本字串策略三件套(README 活值位=最近已发版语义 / AGENTS+docs 内 buildNumber 占位化 / operations.md §0 落库)——发版文档同步面从 8 文件 17 行/线收缩至 README 2 位/线。 - 其他:/servux set非法值静默伪成功修复(78dd25c);AGENTS.md 本机信息分离为不入库的AGENTS.local.md(983f0cf)与工具链路径勘误(d4b172c);IDEA 索引排除(034a766)。 - 发版提交(1c4da22):buildNumber3 → 4。验证
-./gradlew build全绿(含verifyVersionInjection);./gradlew test175/175 全绿(28 测试类,含 Carpet 7 类) - runServer 实机:四模块注册 +/carpet18 规则往返 + 假人全链(spawn→/tp→掉落→kill)+/logconsole 拒绝链 + 五命令输出逐字判据通过 - 文档电池:旧路径引用零命中 + 全盘 .md 链接解析零断链 + src 锚点目标存在性全过产物
VeryMcProto-26.2-b4.jar—— Mojang 映射 jar(26.1 起无 reobf),标准 Paper 26.2 服务器放入plugins/直接加载。可选依赖 PacketEvents 2.14.0(仅 EasyPlace 需要,未装自动跳过)。上一版本:[v26.2-b3](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
1.21.11-b5VeryMcProto 1.21.11-b52 weeks ago VeryMcProto 1.21.11-b5(JEI 完整协议迁移)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 1.21.11 / Paper 1.21.11(Java 21,维护线ver/1.21.11-dev → ver/1.21.11)。本版内容(自 v1.21.11-b4 以来)
- JEI 模块完整迁移(12aeb16):从旧 JEI Recipe Bridge 桥形态(mod/jeirecipebridge/7 文件,仅 2 条配方同步 S2C 通道)完整迁移为 mezz/JustEnoughItems 上游范式(分支1.21.11= JEI 27.44.0,commit2af0130;跨线 cherry-pick 禁止、27 文件手工重写): - 配方同步层:fabric:recipe_sync(Fabric APIfabric-recipe-api-v1wire,RegisterChannel 声明门控触发 +RecipeSyncJoinOrderernetty 出站时序整形——payload 先于 UpdateRecipesPacket 上线,消除 JEI 进服 "recipe sync unavailable" 警告)+neoforge:recipe_content(join + brand 触发 + tag 表补发); - *`jei:\通道层**:8 条 C2S(cheat 权限申请/给物品/删物品/热键栏放置/配方转移 ×4 变体)+ 2 条 S2C——服务端声明jei:delete_player_item解锁客户端isJeiOnServer()` 门禁,cheat 与网络版配方转移功能全量可用; - 服务端行为层:cheat 权限三切面(Creative / Op=权限级 2 / Give 权限,配置jei.json三布尔)+BasicRecipeTransferHandlerServer配方转移算法逐行移植; - 配置无缝迁移:旧jei-recipe-bridge.json的enabled值只读继承(旧文件保留);/jei命令扩展status子命令; - 1.21.11 专属适配:RecipeSyncJoinOrderer反射字段主备反转(本线 PaperCommonConnection 字段为handle,javap 实证;26.x 才改名packetListener)。 - wire 正确性背书:mezz 26.21.21.11 分支互 diff——
network/packets全树零字节差、transfer 仅两条日志折行差异、ServerCommandUtil/ServerConfig逐字同;fabric:recipe_sync对照 Fabric API 分支1.21.11逐字段一致。 - 测试:6 个测试类随迁(通道常量对齐 / cheat 权限矩阵 / 配置迁移 / 进服时序整形——本线首个 MC bootstrap 型测试 / 转移列表边界 / 槽位校验)。 - 文档:docs/jei.md新建(协议全景 + 迁移实录 + 互 diff 分诊表 + 1.21.11 适配面 + 实机验证清单);AGENTS/README/00-INDEX/TECH_DEBT_AUDIT 与框架 javadoc 同步。验证
- JDK21 工具链./gradlew build全绿(含verifyVersionInjection);./gradlew test79/79 全绿(存量 53 无回归 + jei 新增 26) - runServer 实机冷启动:[JEI] Module enabled (upstream mezz/JustEnoughItems 1.21.11 / 8 jei:\* C2S channels)+ 三模块正常注册、零异常 - 开箱复核:reobf jar 内plugin.ymlversion=1.21.11-b5 / api-version=1.21.11 - 真实 JEI 客户端互操作验证清单见docs/jei.md§9(fabric 腿进服免警告 / cheat 三切面 / 配方转移 / vanilla 零打扰 / neoforge tag 同步)产物
-VeryMcProto-1.21.11-b5-reobf.jar—— 推荐:obf 映射产物,标准 Paper 1.21.11 服务器放入plugins/直接加载。 -VeryMcProto-1.21.11-b5.jar—— Mojang 映射产物(开发参考)。 可选依赖 PacketEvents 2.14.0(仅 EasyPlace 需要,未装自动跳过)。上一版本:[v1.21.11-b4](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
26.1.2-b7VeryMcProto 26.1.2-b72 weeks ago VeryMcProto 26.1.2-b7(元数据修正 + 对外面全量英文化)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 26.1.2 / Paper 26.1.2(Java 25,维护线ver/26.1.2-dev → ver/26.1.2)。本版内容(自 v26.1.2-b6 以来)
- 插件元数据修正(520fb3f):作者更正为 Kevin O. Hsu;plugin.yml 新增website(Modrinth 分发主页);README 头部新增 Author / GitHub / Modrinth 链接行。 - 对外可见面全量英文化(8f6cd4d / e554e0d / 3e28871):plugin.yml 全部 description、日志输出、玩家消息/命令回执、异常消息与构建期消息(53 文件约 400 条字符串)及测试断言消息(92 条)全部英文化,译文与 26.2 线逐字对齐(线内差异如实保留:JustEnoughItems 26.1版本号等);AGENTS.md 同步立规「对外一律英文;注释与 docs 保留中文」。协议面零触碰。验证
-./gradlew build全绿(含verifyVersionInjection);./gradlew test122/122 全绿 - 开箱复核:jar 内plugin.ymlversion=26.1.2-b7 / api-version=26.1.2 / author=Kevin O. Hsu / website=https://modrinth.com/plugin/verymcproto - runServer 实机:启动横幅(含本线JustEnoughItems 26.1形态)、/servux、/jei status、/syncmatica回执与/version输出全部英文(实测截获) - 对外字符串非 ASCII 收口扫描零残留(§ 颜色码白名单)产物
VeryMcProto-26.1.2-b7.jar—— Mojang 映射 jar(26.1 起无 reobf),标准 Paper 26.1.2 服务器放入plugins/直接加载。可选依赖 PacketEvents 2.14.0(仅 EasyPlace 需要,未装自动跳过)。上一版本:[v26.1.2-b6](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
26.2-b3VeryMcProto 26.2-b32 weeks ago VeryMcProto 26.2-b3(元数据修正 + 对外面全量英文化)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 26.2 / Paper 26.2(Java 25,开发线dev → main)。本版内容(自 v26.2-b2 以来)
- 插件元数据修正(3eff127):作者更正为 Kevin O. Hsu;plugin.yml 新增website(Modrinth 分发主页);README 头部新增 Author / GitHub / Modrinth 链接行——/version VeryMcProto现正确展示作者与官网。 - 对外可见面全量英文化(7bfb05d / c806338 / 5f4e90f / ee66f8e):plugin.yml 全部 description、日志输出、玩家消息/命令回执、异常消息与构建期消息(52 文件约 400 条字符串)及测试断言消息(92 条)全部英文化;AGENTS.md 同步立规「对外可见面一律英文(译文 ASCII 化、禁\uXXXX转义绕过);注释与 docs 文档保留中文」。§ 颜色码、{}/%s占位与拼接结构逐字保留,协议面零触碰。验证
-./gradlew build全绿(含verifyVersionInjection);./gradlew test122/122 全绿 - 开箱复核:jar 内plugin.ymlversion=26.2-b3 / api-version=26.2 / author=Kevin O. Hsu / website=https://modrinth.com/plugin/verymcproto - runServer 实机:启动横幅、/servux、/jei、/syncmatica回执与/version输出全部英文(实测截获) - 对外字符串非 ASCII 收口扫描零残留(§ 颜色码白名单)产物
VeryMcProto-26.2-b3.jar—— Mojang 映射 jar(26.1 起无 reobf),标准 Paper 26.2 服务器放入plugins/直接加载。可选依赖 PacketEvents 2.14.0(仅 EasyPlace 需要,未装自动跳过)。上一版本:[v26.2-b2](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
1.21.11-b4VeryMcProto 1.21.11-b42 weeks ago VeryMcProto 1.21.11-b4(元数据修正 + 对外面全量英文化)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI Recipe Bridge / Syncmatica),面向 Minecraft 1.21.11 / Paper 1.21.11(Java 21,维护线ver/1.21.11-dev → ver/1.21.11)。本版内容(自 v1.21.11-b3 以来)
- 插件元数据修正(cf6a7da):作者更正为 Kevin O. Hsu;plugin.yml 新增website(Modrinth 分发主页);README 头部新增 Author / GitHub / Modrinth 链接行。 - 对外可见面全量英文化(b886509 / 7c8bea4 / 12db345):plugin.yml 全部 description(Recipe Bridge 语义)、日志输出、玩家消息/命令回执、异常消息与构建期消息(46 文件约 310 条字符串)及测试断言消息(39 条)全部英文化——jeirecipebridge 模块全新翻译、本线特有 transmit 投递链按术语表新译;AGENTS.md 同步立规「对外一律英文;注释与 docs 保留中文」。协议面零触碰。 - 维护修正(b94ea90 / 2ef301e):AGENTS.md:14 版本漂移(b2→实际 b3)与DataProviderManager一处先在缩进异常修复。验证
- JDK21 工具链./gradlew build全绿(含verifyVersionInjection);./gradlew test53/53 全绿 - 开箱复核:reobf jar 内plugin.ymlversion=1.21.11-b4 / api-version=1.21.11 / author=Kevin O. Hsu / website=https://modrinth.com/plugin/verymcproto - runServer 实机冷启动:启动横幅(含本线jei_recipe_bridge形态)、/servux、裸/jei、/syncmatica回执与/version输出全部英文(实测截获) - 对外字符串非 ASCII 收口扫描零残留(§ 颜色码白名单)产物
-VeryMcProto-1.21.11-b4-reobf.jar—— 推荐:obf 映射产物,标准 Paper 1.21.11 服务器放入plugins/直接加载。 -VeryMcProto-1.21.11-b4.jar—— Mojang 映射产物(开发参考)。 可选依赖 PacketEvents 2.14.0(仅 EasyPlace 需要,未装自动跳过)。上一版本:[v1.21.11-b3](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
1.21.11-b3VeryMcProto 1.21.11-b32 weeks ago VeryMcProto 1.21.11-b3(26.x 线修复回移:安全加固 + 上游对齐 + 构建终检)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 1.21.11 / Paper 1.21.11(Java 21)。本线为冻结维护线(ver/1.21.11/ver/1.21.11-dev)。 本版本将 main 线(26.x)已定稿的 14 项修复回移至 1.21.11 维护线,含两处安全加固与若干协议行为对齐。协议 wire 格式零变化,客户端无需更新。安全 / 资源加固
- NBT 注入防线:投影上传(paste)链新增体积一致性预检——NBT 中声明的 region 体积必须被BlockStates数组实际容量背书,脱钩坏包(声明 20000³ 只给 1 个 long)整体拒收,堵住 CPU DoS / OOM 向量;全部网络输入 NBT 读取点由无界(NbtAccounter.unlimitedHeap())改为 128MB 记账配额(先记账后分配,流内声明超长数组即断)。 - 分片会话生命周期:PacketSplitter重组会话新增 10s TTL 心跳驱逐 + buffer 确定性释放;玩家退出即清会话——中断/断线的上传不再残留永生会话与 netty buffer,重进后新上传不再被旧数据污染。 - 元数据路径泄露:syncmatica 不再向客户端泄露服务端绝对路径(/syncmatica load的文件名出口与落盘双清洗为 basename)。 - C2S 接收上限回正 64→128MB:对齐 1.21.11 客户端实际上传上界(此前 64–128MB 的合法大投影被误拒)。协议行为修复 / 上游对齐
- 进服 structures 即连:Paper 对未声明通道的 S2C 有静默门控,此前进服首个握手回复被吞导致 minihud structures 恒not_connected(需手动 toggle)——现对「已在本通道发过 C2S 的玩家」自动走 NMS 兜底直发,进服即显示。 - 五通道注册名册:恢复上游 servux 的名册状态机(注册/检疫/退服出册),未注册或权限不足的玩家不再收到推送帧;/servux disable servux_main运行时拒绝(配置主通道永不可停用)。 - syncmatica 健壮性:修改锁解锁 NPE(MODIFY 成功后广播中断 / 后续修改恒拒绝)、disable→enable 握手永久卡死、控制台load不广播、玩家退出清理中断——四条链路修复。 - 上游行为对齐八处:实体查询自查门、BE 空数据语义修正、bulk 请求校验收紧(Task 恒等式 + 维度上下界回退 + 反馈开关)、粘贴实体 UUID/ID 保留 + 撞车重排、结构数据条目级分批、/servux权限树拆分(旧servux.command经 children 映射自动兼容,无需改授权)、/servux list列出全部 settings 现值、坏投影条目跳过不崩。
-安装面变化(注意)
plugin.yml的api-version由'1.21'收紧为'1.21.11'(模板化注入):低于 1.21.11 的 Paper 服务器将拒绝加载本插件。此前这些服务器能装载但运行期必因 NMS 漂移出错——现在改为加载期明确拒绝。本插件本就只支持 Paper 1.21.11。构建链加固
-processResources显式inputs.property跟踪版本占位符 + 新增verifyVersionInjection解包终检(断言 jar 内plugin.yml/version.properties与构建版本一致)——杜绝「buildNumber+1 后陈旧版本打进新 jar」的发版事故。验证
-./gradlew build全绿(含 reobf 与版本注入终检:jar 内版本 = 1.21.11-b3) - test 53/53 全绿(新增 5 个测试类 27 用例:修改锁契约 / 路径清洗 / 会话 TTL 与发送预检 / 结构分批 / SubRegions+体积守卫 / 搜索三臂) - 协议行为项建议按docs/10/docs/24手工回归(重点:进服 structures 免 toggle、TPS/MobCap Loggers 正常、大投影粘贴)产物
-VeryMcProto-1.21.11-b3-reobf.jar—— 标准 Paper 1.21.11 服务器用此件(放入plugins/直接加载) -VeryMcProto-1.21.11-b3.jar—— Mojang 映射版(开发用,勿部署)对应的 26.x 线版本:[v26.2-b2](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v… / [v26.1.2-b6](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
26.1.2-b6VeryMcProto 26.1.2-b62 weeks ago VeryMcProto 26.1.2-b6(EasyPlace 拒绝路径 + disable 握手 + NBT 注入修复)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 26.1.2 / Paper 26.1.2(Java 25)。本线为维护对(ver/26.1.2/ver/26.1.2-dev)。本版内容(自 b5 起三个修复,均为 dev/26.2 线同源已验证修复的移植)
- EasyPlace 双半格修正分裂修复(2a9ba9b,源自 devc04407f):门/垂滴叶等DoubleBlockHalf双半格下半修正后以修正态重演setPlacedBy派生上半——两半构造性一致,不再依赖受 BlockPhysicsEvent 取消门控的updateShape邻居自愈;床(BedPart)不修正为已知差异(上游为写入前整体改向,见 docs/04 差异①)。 - syncmatica disable→enable 握手永久卡死 + NBT 注入加固(858a103,源自 dev7800cbe): -suspendAll改扫targets.values()全集 +close(false)后显式移除 exchange——修复 disable 瞬间握手中途玩家被漏扫、enable 后tryStartHandshake被残留VersionHandshakeServer永久跳过导致的玩家级卡死(到重进服为止;上游无 disable/enable 概念,该缺陷为移植特有); -readSubRegionsFromNBT增体积一致性预检(声明体积必须被 BlockStates 实际容量背书;floor 除法 +(long)三乘回绕守卫)——拒绝「声明 20000³ 只给 1 个 long」的脱钩坏包(PasteTask CPU DoS / OOM 向量); -DataTagIo.readTag改 GZIP 流式直读 +NbtAccounter.create(64MB)先记账后分配——单闸拦截 gzip bomb 与长度字段炸弹(旧实现整体解压进内存 +unlimitedHeap,64MB 帧内可声明 8GB 分配;对齐上游 malilibSizeTracker语义)。 - EasyPlace 拒绝路径语义反转修复(31a7403,源自 devea390e6):拒绝判定前移BlockCanBuildEvent(fire 于BlockItem.canPlace体内、先于全部放置副作用——26.1.2 字节码实证 canPlace :83-136 / asBlockData :98-99 / isBuildable :136)——拒绝 = vanilla place 在 placeBlock 前整次 FAIL(无方块/不消耗/无音效/gameEvent/stat),与上游setReturnValue(null)同位同效零残差;BlockPlaceEvent退化纯写入,判定结果经EasyPlacePendingstash 暂存传递;修正态 canSurvive + 实体碰撞补查恒生效(不受easy_place_validator_enabled门控);床头检查canBeReplaced(null ctx)NPE 修复(26.1.2 基类可替换分支解引用 + 台阶/雪层覆盖族无条件解引用 → 改无参判定)。 - 三处修复的根因、26.1.2 字节码实证与两线同构论证见各 commit 正文与 docs/04/09/20/22/24。验证
-./gradlew build全绿(含verifyVersionInjection版本注入终检);产物开箱复核:jar 内plugin.yml/version.properties= 26.1.2-b6 - test 122/122 全绿(20 个测试类,含新增EasyPlacePendingTest5 用例:peek 只读 / TTL 过期 / take 读删 / stash 生命周期 / clear 全清);三个移植 commit 与 dev 源逐字保真校验通过(代码零差异,仅注释按本线 26.1.2 证据重钉)产物
VeryMcProto-26.1.2-b6.jar—— Mojang 映射 jar(26.1 起无 reobf),标准 Paper 26.1.2 服务器放入plugins/直接加载。上一版本:[v26.1.2-b5](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v… 线同源修复见 [v26.2-b2](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
26.2-b2VeryMcProto 26.2-b22 weeks ago VeryMcProto 26.2-b2(EasyPlace 修复 + disable 握手卡死修复 + 文档重构)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 26.2 / Paper 26.2(Java 25,开发线dev → main)。本版内容(自 v26.2-b1 以来)
- EasyPlace 修复(c04407f / ea390e6):修复双半格方块修正分裂(门/垂滴叶/床下半修正后上半不随派生——改为setPlacedBy委派重演,两半构造性一致);修复拒绝路径语义反转(拒绝判定曾未在写入前生效——现BlockCanBuildEvent否决先于全部放置副作用,与上游setReturnValue(null)同位同效、零残差)。 - disable 握手永久卡死修复 + NBT 注入安全加固(7800cbe):修复/syncmatica disable→enable后握手中途玩家永久无法重握手(suspendAll改遍历 targets 全集 + exchange 显式移除);DataTagIo.readTag增 NbtAccounter 64MB 解压域配额闸(gzip bomb 与长度字段炸弹单闸拦截)+ 投影体积一致性预检(拒绝「声明 20000³ 只给 1 个 long」脱钩坏包)。 - 文档体系重构为持续稳定版(7521b70):docs/ 17→12 文件(去数字前缀、mod 前缀分组);迁移实录提炼为升级 SOP 与参考手册(docs/operations.md§6);单一权威收敛;全部入站引用(src 注释 / AGENTS.md / README)同 commit 重映射,零死链(机检验证)。验证
-./gradlew build全绿(含verifyVersionInjection版本注入终检);开箱复核:jar 内plugin.yml= 26.2-b2 / api-version = 26.2,version.propertiesmcVersion = 26.2 -./gradlew test122/122 全绿(20 个测试类);全仓文档引用机检零死链零旧编号残留产物
VeryMcProto-26.2-b2.jar—— Mojang 映射 jar(26.1 起无 reobf),标准 Paper 26.2 服务器放入plugins/直接加载。可选依赖 PacketEvents 2.14.0(仅 EasyPlace 需要,未装自动跳过)。上一版本:[v26.2-b1](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
26.2-b1VeryMcProto 26.2-b13 weeks ago VeryMcProto 26.2-b1(MC 26.2 线升级)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 26.2 / Paper 26.2(Java 25)。dev/main 线已承载 26.2;26.1.2 转入维护对(ver/26.1.2/ver/26.1.2-dev)。升级要点(协议面零变化,可无缝换服)
- 协议面:对照上游八仓(masa 系LTS/26.2七仓 + JEI26.2分支)26.1/26.2 两树逐文件字节级实证零变化——五通道协议版本 3/2/2/3/2、metadata 字段、C2S 类型集、DataTag 载体、malilib 16MB 重组上限、JEI 10 通道与配方转移算法全部逐字节相同;客户端门禁期待前缀随版本号变为servux-fabric-26.2,由版本注入链天然满足 - 构建面:dev bundle26.2.build.129-stable;paperweight 2.0.0-beta.24;PacketEvents 2.14.0(2.13.0 起即支持 26.2,2.14.0 增 26.3);plugin.yml 的 api-version 模板化 `'${mcVersion}'`(手写同步点消亡,随唯一版本来源展开) - NMS 漂移(编译驱动,126 个 NMS 触面文件仅 4 处错误,全修):EntityType.PLAYER常量迁至新常量类EntityTypes;EntityType.create需EntitySpawnRequest;BlockTags.CONCRETE_POWDER→CONCRETE_POWDERS- Schema 数据版本表:servux 侧 +4 条 26.3 前瞻 + 枚举改名;syncmatica 侧 +8/−1(随上游删除SCHEMA_26_1_RC1) - Paper 行为实证重核(26.2.build.129 dev bundle 源码直读):CraftPlayer.sendPluginMessage的channels().contains门控、PaperCommonConnection.packetListener反射字段、handleUseItemOn1.0000001 逐轴校验、BlockPlaceEvent capture 时序——全部存活同构验证
- test 113/113 全绿(19 测试类);./gradlew build+ 版本注入终检通过(jar 内 plugin.ymlversion: '26.2-b1'/api-version: '26.2') - Paper 26.2(build 129)实机起服:VeryMcProto v26.2-b1加载启用(api-version'26.2'两段式接受)、servux / JEI(mezz/JustEnoughItems 30.39.0)/ Syncmatica 三模块 + EasyPlace(PacketEvents 2.14.0 运行时)全部就绪、零 ERROR - 协议常量与载体均经 LTS-26.2 客户端源码逐字钉死;迁移方法论与全部实证记录见 [docs/09-DELIVERY.md§26.2](https://github.com/Kevin-O-Hsu/VeryMcProto/blob/main/docs…产物
VeryMcProto-26.2-b1.jar—— Mojang 映射 jar(26.1 起无 reobf),标准 Paper 26.2 服务器放入plugins/直接加载。需 EasyPlace(Tweakeroo 精确放置)时另装 PacketEvents 2.13.0+(可选,未装则优雅跳过)。上一版本:[v26.1.2-b5](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v… 1.21.11):[v1.21.11-b2](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
26.1.2-b5VeryMcProto 26.1.2-b53 weeks ago VeryMcProto 26.1.2-b5(C2S 接收链安全修复)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 26.1.2 / Paper 26.1.2(Java 25)。本线为维护对(ver/26.1.2/ver/26.1.2-dev)。
修复与上游 Servux 安全公告(2026-07-05 披露)同源的路径穿越任意文件写入漏洞(Critical Arbitrary File Write → RCE 向量): - 漏洞:实验性 C2S schematic 文件接收链中,服务端直接用客户端网络包的安全修复(必更)
FileName字段构造落盘路径(Path.of/dir.resolve,零净化)——恶意客户端可用../或绝对路径逃逸plugins/VeryMcProto/schematics目录,在服务器任意位置写入 / 删除 / 读回解析文件;另有new Slice[客户端控长]的 OOM 向量。该线前置名册门可被任意客户端单包穿透(发一个带version=2的 metadata request 即入册),粘贴权限门又在写盘之后执行——均非有效防线。 - 修复(对齐上游 servux 0.10.4+/0.10.7 判定:实验性接收功能超出核心范围,整体禁用移除): - handlerLitematic-Transmit*接收分流、receiveFileTransmit、SchematicBuffer/SchematicBufferManager、createFromFile/fileFromDirAndName、handleClientPasteRequestPair整链物理删除(约 516 行);上传重组完成后无条件走handleClientPasteRequest(上游 0.10.7:185-201字面同构) - 修复版 stock 客户端(litematica ≥ 0.27.9)已不再发送上传帧;旧客户端的发送帧落入 paste 路径静默忽略(无崩溃、不刷生产日志) - 不受影响:投影粘贴主路(LitematicaPaste,内存 NBT → PasteTask 分 tick,权限/创造模式双门)、实体/方块实体查询、InfoHud task 组、Syncmatica、JEI 均不变。验证
-./gradlew build全绿(含verifyVersionInjection版本注入终检);产物开箱复核:jar 内plugin.yml/version.properties= 26.1.2-b5,Transmit 类零残留 - test 113/113 全绿(19 个测试类);仓库外沙盒探针曾实证dir.resolve(客户端名)逃逸机制,修复后该链零代码级残留产物
VeryMcProto-26.1.2-b5.jar—— Mojang 映射 jar(26.1 起无 reobf),标准 Paper 26.1.2 服务器放入plugins/直接加载。上一版本:[v26.1.2-b4](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v… 1.21.11)同源修复见 [v1.21.11-b2](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
1.21.11-b2VeryMcProto 1.21.11-b23 weeks ago VeryMcProto 1.21.11-b2(C2S 接收链安全修复)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 1.21.11 / Paper 1.21.11(Java 21)。本线为冻结维护线(ver/1.21.11/ver/1.21.11-dev)。
修复与上游 Servux 安全公告(2026-07-05 披露)同源的路径穿越任意文件写入漏洞(Critical Arbitrary File Write → RCE 向量): - 漏洞:实验性 C2S schematic 文件接收链中,服务端直接用客户端网络包的安全修复(必更)
FileName字段构造落盘路径(Path.of/dir.resolve,零净化)——恶意客户端可用../或绝对路径逃逸plugins/VeryMcProto/schematics目录,在服务器任意位置写入 / 删除 / 读回解析文件;另有new Slice[客户端控长]的 OOM 向量。该线收包入口无注册名册门,任何在线玩家可直接触发。 - 修复(对齐上游 servux 0.9.5 判定:实验性接收功能超出核心范围,整体禁用移除): -Litematic-Transmit*服务端接收分流、receiveFileTransmit、SchematicBufferManager、handleClientPasteRequestPair整链物理删除;上传重组完成后无条件走handleClientPasteRequest(上游 0.9.5:139-153字面同构),任何玩家的 Transmit 帧均落入 paste 路径静默忽略 -SchematicBuffer保留仅作BUFFER_SIZE(16KiB)S2C 分片常量载体 -/servux litematic transmit命令加目录包含性守卫(Path.startsWith(Path)逐名元素比较,逃逸拒绝)——附带收口(该入口文件名为 op 命令参数,非网络输入) - 不受影响:投影粘贴主路(LitematicaPaste,内存 NBT + 权限/创造模式双门)、实体/方块实体查询、S2C 投递命令、Syncmatica、JEI 均不变。验证
-./gradlew build全绿(含 reobf 与版本注入);产物开箱终验:jar 内plugin.yml/version.properties= 1.21.11-b2,SchematicBufferManager类零残留 - test 19/19 全绿(新增LitematicaTransmitCommandGuardTest6/6:../逃逸 / 绝对路径 / 兄弟目录前缀 / 合法名 / 内部归一 / 空名)产物
-VeryMcProto-1.21.11-b2-reobf.jar—— 标准 Paper 1.21.11 服务器用此件(放入plugins/直接加载) -VeryMcProto-1.21.11-b2.jar—— Mojang 映射版(开发用)同日发布的 26.1 线同源修复:[v26.1.2-b5](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
26.1.2-b4VeryMcProto 26.1.2-b4Sep 12, 2026 VeryMcProto 26.1.2-b4(上游对齐缺口修复 + 文档体系重构)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 26.1.2 / Paper 26.1.2(Java 25)。 本版为 26.1.2 线内的修复批次(4 个 fix + 1 个 refactor 提交),主线是补齐移植遗漏的上游行为对齐缺口与清理文档/注释对源码的真值漂移。上游最新 release 已至 26.2,本版起 26.1.2 线冻结为维护对(ver/26.1.2/ver/26.1.2-dev),后续该线 Bug 修复在ver/26.1.2-dev提交。修复
Servux - `servux_main` 配置主通道可被运行时停用:「恒启用」不变量此前仅配置加载期强制,/servux disable servux_main可停用并落盘 false(重启自愈)——DataProviderManager新增 ALWAYS_ENABLED 运行时总闸 + 命令层停用前置拒绝;search子命令重写为上游三臂(分词 AND + name/comment/provider + 大小写敏感)+ 两态输出 - 13 处上游对齐缺口:HUD spawn 刷新权限复检(注册后撤权即拒发)、Structures 发送三门早退、InfoHud task 组删自创标题条目(原占 maxLines 一位致客户端少渲染一行)、paste 拒绝文案常量化对齐 en_us、SchematicPlacement 坏 NBT 条目 Pos 守卫(坏帧不再 NPE 穿透)、NOT_PLAYER 判定统一为 litematica 同构 instanceof 形等;删 selection/ 四个零引用死文件 - 热路径日志刷屏:C2S 每包异常日志全堆栈 WARNING 降单行(防恶意畸形包刷屏,上游同范式);4 处 Handler javadoc 协议版本裸值(1.21.11 残值 1/1/1/2)改{@value}真值引用——26.2 适配零同步成本 - 文档真值漂移 16 处:五通道协议版本对齐真值 3/2/2/3/2(docs/03/10 钉守)、MOD_STRING 表述翻转为 fabric 前缀硬门禁(docs/01/07)、docs/40 litematic_data 键表补 3 键 + 权限表补task.fill/task.delete两节点 JEI - fabric 配方同步腿过滤 minecraft 命名空间:按 serializer registry key 过滤(对齐上游 JustEnoughItems:38-48;getKey 为 null 的条目跳过) Syncmatica - console `load` 广播臂 + 竞态闭合:console load 走 addPlacement 广播(复刻上游意图并修复其 fromExistingPlayer(null) NPE 缺陷)、load 结果广播管理员、onPlayerLeave try/finally 化 + onPlayerJoin 清陈旧 broadcastTargets 文档体系重构 - README 754→~290 行英文瘦身门面,命令/权限/配置全键/排错迁入新建 docs/40-configuration.md(docs 内唯一运维权威) - 物理删除 9 个历史文档(docs/06、08、11 与 docs/research/×6,~270KB,恢复走 git revert);包结构三拷贝收敛为 docs/20 §2 唯一权威;14 处断链清扫;净减 ~3600 行验证
- 113/113 单元测试全绿(19 个测试类,较上版 +3 用例:SchematicPlacementGuardTest 3——SchematicPlacement 坏 NBT 守卫) - 版本注入终检通过:产物 jar 内plugin.yml/version.properties与构建版本一致(VeryMcProto-26.1.2-b4.jar内部版本 = 26.1.2-b4) - 产物为 Mojang 映射 jar(26.1 起无 reobf)产物
VeryMcProto-26.1.2-b4.jar—— Mojang 映射 jar,标准 Paper 26.1.2 服务器放入plugins/直接加载。上一版本:[v26.1.2-b3](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v… 1.21.11)见 [v1.21.11-b1](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
26.1.2-b3VeryMcProto 26.1.2-b3Sep 10, 2026 VeryMcProto 26.1.2-b3(上游对齐 + 稳定性修复)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 26.1.2 / Paper 26.1.2(Java 25)。 本版为 26.1.2 线内的修复批次(8 个 fix 提交),主线是对照上游 26.1 源码逐字对齐行为与堵住迁移引入的内存 / NPE 缺陷。修复
Servux - 粘贴实体位置修复族缺失:26.1 上游新增的六方面实体位置修复(Pos 重写 / 悬挂类 TileX/Y/Z / block_pos / 拴绳 leash 平移 / home_pos 过 radius 门平移 / Leashable 补 tick)未随 1.21.11 基准树带入——粘贴到非采集坐标时悬挂类锚点、拴绳、home 数据陈旧;现逐字照抄上游SchematicPlacingUtils:446-513+ 11 个单测钉守卫 - 与上游八处行为不一致:实体/方块实体查询自查门(查自己保留背包)、BE-null 不回空帧(防 litematica 客户端缓存被空 NBT 覆盖)、bulk 名册门前置、Task 校验收紧、minY/maxY 回退维度上下界、task 反馈门控、实体 UUID/LastEntityID 尊重 + 撞车重排、Structuresmax_receive_s2c能力协商 + 条目级分批、HUD 冗余帧键删除、/servux权限树按子命令拆节点(旧servux.command经 children 映射兼容) - 16MB 客户端重组上限无服务端预检:PacketSplitter.send入口整帧预检、超限拒发(16,777,216 放行 / +1 拒发,与 malilib 客户端严格>同源;上游 servux 无此预检,我方增强) - S2C 投影投递死信链虚假成功:26.1 stock 客户端handleBulkData的 Transmit 分流整块注释、上游sendTransmitFile自身@Deprecated(forRemoval)零调用——投递帧必被静默丢弃;/servux litematic transmit命令与发送链物理删除(恢复走 git revert),C2S 上传路由保留为我方超集 JEI - 转移包列表声明数直达分配器致 OOM 穿透:C2S 帧 ≤32767 字节只限字节流不限声明容量,5 字节 VarInt 可声明 2³¹ 直达new ArrayList<>(size),OutOfMemoryError穿透三层catch(Exception)——对齐 vanillaByteBufCodecs.collection的min(size, 65536)封顶 + 4 用例回归单测 Syncmatica - 修改锁解锁 null 必抛 NPE:上游 HashMap「写 null = 解锁」被原样带入禁 null 的 ConcurrentHashMap,解锁即 NPE 且被吞成零信息日志——四条 onClose 路径静默失效、锁残留致后续 MODIFY 恒 DENY;remove 翻译 + null placement 守卫 + 5 用例差分实证(修复前全 NPE) - Schema 表缺失 26.1-rc-1 条目:照抄上游补行(协议版本 4783) 文档 - 注释/文档与实现漂移:5 个 Provider javadoc 协议版本旧值对齐常量真值、docs/20-24 权威树锚点 syncmatica 1.21.11 → 26.1、MOD_STRING 历史条目划线指向 26.1 硬门禁真值(零代码逻辑变化) 各项修复均配单测守卫并经构建验证;部分客户端侧行为(Leashable 补 tick、修改锁验收 a/b/c)待 Fabric 客户端实机回归,已在 docs/09 / docs/24 注记。验证
- 110/110 单元测试全绿(18 个测试类,较上版 +27 用例:EntityPastePositionFix 11 / ModifyState 5 / StructureBatchSplit 5 / RecipeTransferListBound 4 / PacketSplitter 边界 +2 等) - 版本注入终检通过:产物 jar 内plugin.yml/version.properties与构建版本一致(VeryMcProto-26.1.2-b3.jar 内部版本 = 26.1.2-b3) - 产物为 Mojang 映射 jar(26.1 起无 reobf)产物
VeryMcProto-26.1.2-b3.jar—— Mojang 映射 jar,标准 Paper 26.1.2 服务器放入plugins/直接加载。上一版本:[v26.1.2-b2](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v… 1.21.11)见 [v1.21.11-b1](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
26.1.2-b2VeryMcProto 26.1.2-b2Sep 10, 2026 VeryMcProto 26.1.2-b2(JEI 协议重做 + 修复)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 26.1.2 / Paper 26.1.2(Java 25)。重做:JEI 服务端协议(对齐最上游 mezz/JustEnoughItems 26.1)
原jeirecipebridge模块(基于已停更的 Mrbysco/JEIRecipeBridge,仅配方同步切面)整体重做为完整 JEI 协议三层实现(对照 mezz26.1分支 = JEI 29.37.0): - 配方同步层:fabric:recipe_sync(Fabric API wire,RegisterChannel 触发)+neoforge:recipe_content(join + brand 触发)+ NeoForge tag 表补发;进服时序复刻上游 PlayerListMixin——netty 出站扣住UpdateRecipesPacket,等 play register 证据后放行 - *`jei:通道 10 条**:8 C2S(cheat 权限请求 / give / delete / set_hotbar / 4 种配方转移)+ 2 S2C(cheat_permission/recipe_transfer_result)——客户端isJeiOnServer()` 门禁由通道声明解锁,与 brand 无关 - 服务端行为:cheat 权限三切面(Op=权限级 2 /minecraft.command.give/ Creative)+BasicRecipeTransferHandlerServer配方转移算法逐行移植 - 协议详情见 [docs/30-jei-protocol.md](https://github.com/Kevin-O-Hsu/VeryMcProto/blob/main/docs…修复
- plugin.yml `api-version` 遗留 '1.21' 更正为 '26.1.2'(Paper 官方 1.20.5 起支持三段式;本插件协议面绑死精确补丁,Modrinth 等平台此前按旧值错标适用版本) - EasyPlace 长按错放多放(改写放行 + BlockPlaceEvent 修正) - 混合 ingredients 列表致 minihud 66 条配方解码失败(wire 同构化) - JEI 配方包晚于进服重载致警告(netty 扣包等证据放行) - 五通道 C2S 注册版本门禁缺失与拒绝后旁路(register 名册状态机 + failures 检疫) - paste 同步直放卡主线程与 InfoHud 帧缺失(PasteTask 分 tick 任务化 + 调度器基类泛化) - PacketSplitter 中断上传会话永生与 buffer 泄漏(TTL 心跳驱逐 + 边界分支对齐) - syncmatica 对原版客户端推握手探针(canSend 守卫) - syncmatica 元数据泄露服务端绝对路径(出口 getCleanFileName + saveServer 清洗) 各项修复均随提交经服务端实机验证(详见各提交记录)。验证
- 83/83 单元测试全绿(14 个测试类:PacketSplitter / TaskScheduler / DataTagIo / FeatureSet / LitematicaBitArray / RecipeNbtNormalizer / JEI 协议常量·权限矩阵·转移校验等) - 版本注入终检通过:产物 jar 内plugin.yml/version.properties与构建版本一致,且api-version≡mcVersion(自本版起为构建强制闸门;本版曾修复「发版后 jar 内版本陈旧」问题并增设该终检) -runServer实机起服日志Enabling VeryMcProto v26.1.2-b2(api-version: '26.1.2'加载正常);产物为 Mojang 映射 jar(26.1 起无 reobf)产物
VeryMcProto-26.1.2-b2.jar—— Mojang 映射 jar,标准 Paper 26.1.2 服务器放入plugins/直接加载。上一版本:[v26.1.2-b1](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v… 1.21.11)见 [v1.21.11-b1](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
26.1.2-b1VeryMcProto 26.1.2-b1Sep 8, 2026 VeryMcProto 26.1.2-b1(26.1 线首发)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI Recipe Bridge / Syncmatica),面向 Minecraft 26.1.2 / Paper 26.1.2(Java 25)。26.1 全量迁移
- 构建面:Java 25 工具链(foojay 自动解析)、paperweight dev-bundle 新格式(26.1.2.build.74-stable)、reobf 废除——产物即 Mojang 映射 jar,标准 Paper 26.1+ 直接加载 - 协议面(对照 masa 客户端 26.1 源码逐字对齐): - malilib DataTag 线格式载体:业务包 NBT 切换为[压缩长][GZIP NBT]格式,与客户端逐字节兼容(配单测) - 协议版本常量硬门禁对齐:HUD / Structures v3,Entities / Tweaks / Litematics v2(客户端!=严格校验) - MOD_STRING 硬门禁:伪装servux-fabric-前缀 + 精确上游补丁号 26.1.2,否则四通道整通道静默退网 - C2S 变化:UNREGISTER_REPLY退网、批量重组按 NBTTask字段路由、请求删除transactionId- 新功能:Litematica task 组——Fill / Delete 服务端分 tick 执行 + InfoHud 状态同步(type 14–17,v3 极简形态) - 修复:进服 minihud structuresnot_connected(同通道 C2S 证明 + NMS 直发兜底,突破 Paper plugin messaging 门控)验证
- 27/27 单元测试全绿(PacketSplitter / TaskGroup / LitematicaBitArray / DataTagIo / FeatureSet) - Paper 26.1.2 实机起服验证通过,三模块均经客户端实测产物
VeryMcProto-26.1.2-b1.jar—— Mojang 映射 jar,标准 Paper 26.1.2 服务器放入plugins/直接加载(26.1 起无 reobf 产物)。旧版本(MC 1.21.11)请使用 [v1.21.11-b1](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…
1.21.11-b1VeryMcProto 1.21.11-b1Sep 8, 2026 VeryMcProto 1.21.11-b1(旧版本维护线 · 新版本命名体系)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI Recipe Bridge / Syncmatica),面向 Minecraft 1.21.11 / Paper 1.21.11。 本版本是 1.21.11 稳定线在新版本命名体系(<mcVersion>-b<buildNumber>)下的首个正式发布——版本写法从旧命名(v1.0.0)迁移为1.21.11-b1,功能集与 v1.0.0 一致。三大模块
- Servux:5 条数据通道(HUD / Entities / Tweaks / Structures / Litematics)+ 投影粘贴与文件投递 + EasyPlace 服务端放置协议(需可选依赖 packetevents) - JEI Recipe Bridge:进服配方表同步给 JEI 客户端(fabric / neoforge 双通道,NMS 直发大包) - Syncmatica:投影共享中央仓库——多玩家上传 / 下载 / 协同修改放置位置产物说明
| 文件 | 用途 | |---|---| |VeryMcProto-1.21.11-b1-reobf.jar| 发布产物(Spigot 运行时映射,标准 Paper 1.21.11 服务器放入plugins/直接加载) | |VeryMcProto-1.21.11-b1.jar| Mojang 映射版(开发调试用) |1.21.11 线已冻结为维护线:Bug 修复走
ver/1.21.11-dev分支;最新版本(MC 26.1 线)请使用 [v26.1.2-b1](https://github.com/Kevin-O-Hsu/VeryMcProto/releases/tag/v…v1.0.0VeryMcProto v1.0.0Jul 22, 2026
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta