Links
Tags
Creators
Details
1.21.11-b3
Compatibility
Required content
Changes
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 / v26.1.2-b6;上一版本:v1.21.11-b2。
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:tyOxCfUJ:9Xg3XMGG"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:tyOxCfUJ:9Xg3XMGG"
}

