Repository navigation
Libreforge 2026.27 · Memory Fix 4
Libreforge 2026.27 · Memory Fix 4
本版修复非玩家实体移除时,命中记录清理重复扫描全部受击者的问题;不改配置、不更换 UUID 或并发表。
修复内容
- 非玩家实体移除只清理自己的受击记录,不再扫描所有攻击者记录。
- 玩家退出仍保留原来的双角色清理,命中累计、满血重置、重新命中恢复规则不变。
- 继承 memoryfix-3 的生命周期与空效果状态优化。
已完成验证
使用 mizuki 26.2 9daa83b、eco 2026.28、Java 25.0.3 在隔离服验证:
- 修复前后各 3 个独立 JVM,每轮 20 项专项检查全部通过。
- 6 项原有效果启用/禁用/恢复回归通过。
- 8 线程共 8,000 UUID 清理、20,000 dispatcher 状态清理通过。
- 5,000 条命中记录时,单次真实盔甲架/掉落物移除:无用内表 remove 调用从 5,000 降到 0。
- 10,000 条记录的清理方法微基准:临时分配从 320,000 B/次降到 0;不代表插件总内存或整服开销同比下降。
源码中附有 audit/hits-cleanup 复现探针、运行说明和数据边界。探针会自动关闭测试服,禁止安装到生产服。
安装与边界
下载下面的 libreforge-standalone-2026.27-memoryfix-4.jar。完整停服、备份旧版后替换,只保留一个 libreforge JAR,再启动;不要热重载。异常时停服回退 memoryfix-3。
插件描述版本仍为 2026.27,用文件名区分修复批次。最终发布的是此前实际测试过的同一 JAR:以 memoryfix-3 为基础,仅替换干净构建得到的两个目标 class,其他条目逐项保持一致,避免夹带依赖快照引起的三个酿造/熔炼类字节码差异。
尚未覆盖完整生产插件组合、真实玩家客户端联机、生产 OS/JVM/网络环境,也没有测量整个插件的驻留堆内存。四坐标所有权检查不等于四区域同时 tick;并发压力针对 UUID 数据。本地已完成干净构建;项目自带 test 为 NO-SOURCE,专项测试是独立服务端探针,不是 GitHub CI 全覆盖。
SHA-256:
6CCC955F56D995B3C4319600BC82489C8D2CD39F28F3E49BF2BB4AEEC9FB30E0