Skip to content

Performance11ForServer

Choose a tag to compare

@VasilyZa VasilyZa released this 22 Sep 00:16
f22d8ff

Minecraft 1.20.1 Fabric / Java 17 服务端路径计算优化版本。

计算优化

  • 接入专用、有界 TSC 路径计算线程池,默认最多 8 个工作线程,保留主线程所需 CPU 资源。
  • 批量搜索、重复请求合并和有界路径缓存,减少重复计算和临时对象分配。
  • 工作线程只处理不可变图快照;主线程校验 epoch 后按原顺序提交结果,过期结果丢弃。
  • 队列饱和、不支持的路径及关闭优化时回退到原串行实现。
  • 已移除此前未完成的数据包、玩家名和配置默认值改动。

部署

  1. 停服并备份存档和原 MTR 模组。
  2. 下载本 Release 的 MTR JAR,替换服务端 mods 中的旧 MTR,只保留一份。不要替换 Fabric 启动 JAR。
  3. 确认 config/mtr.json 中 server.useThreadedSimulation 为 false;设为 true 会禁用本次并行路径计算。
  4. 启动后检查日志中的 TSC path computation 提示。

TSC 计算模块已内嵌,无需额外安装 TSC JAR。本版本仍使用原有 TSC 0.0.1 核心,加上新计算模块,并非升级整个核心到 TSC 1.0.2。本次未修改网络协议,已有兼容客户端无需仅为此计算优化更新。

可选 JVM 参数,放在 -jar 前:

-Dmtr.path.workers=8 -Dmtr.path.metrics=true

性能计数器默认关闭,开启后每 30 秒汇总。使用 -Dmtr.path.parallel=false 可关闭新路径计算优化。

验证与范围

  • Fabric 1.20.1 完整构建通过,95 个单元测试通过。
  • Java 17 下实际 Fabric Mixin 集成测试通过,覆盖稳定提交、epoch 失效、回退和关闭。
  • JAR 内嵌计算模块,基础类文件最高版本为 Java 17。
  • 车辆模拟与信号仲裁仍按原顺序执行;尚未完成真实存档的长期 MSPT、GC 和列车运行测试,不声明实际 TPS 提升。

MTR 提交:f22d8ff653793d4e59f63fe401204119044ebd53

TSC 计算模块提交:3ab979e470e4ba5539cb7ff69c9bd83d4c26e35e

SHA-256

671a0df7afd863c31ccce34d278e08e5ad357f71807ed3b73866571368cc86b7  MTR-fabric-4.0.5+1.20.1-Performance11-ForServer.jar
9a35ff1f61518614b2294af6685a1e2fc0c1b10e26b010f06bad4a4a92a9a821  Performance11-ForServer.zip