地图作者最怕的不是崩溃本身,而是「玩家发来一句崩了」,然后什么都没有。要么日志里只有对战平台的断线记录,要么崩溃地址是刚更新过、知识库还没收录的新偏移;玩家不知道该补什么,维护者也很难从一条平台日志里还原真相。

v1.2.0 就围绕这几个断点展开:缺少崩溃文件时,明确告诉玩家要补 Errors 目录和 war3dll.log;新偏移被收录后,客户端启动即可同步,不必重装;没见过的崩溃则进入未命中聚类,由维护者复核、合并,再下发给所有人。目标很简单——让每一次崩溃反馈都能往前走一步,而不是停在「查不到」。

这次更新了什么

1. 崩溃知识库热更新,不用重装

以前新增一条崩溃结论,要等下一次客户端发版才能到玩家手里。现在维护者发布知识库快照后,客户端会在启动后自动同步:

  • 校验版本号、内容哈希与最低客户端版本,通过后原地热替换;
  • 同步失败、离线或缓存损坏时,自动回退到内置知识库,不影响正常诊断;
  • 可以在「高级与设置 → 插件与上报」查看当前知识库版本、关闭自动同步,或点「立即同步」。

也就是说,之后新收录的偏移和结论,玩家重启一次客户端就能命中,不必为了知识库再下载一遍安装包。

2. 未命中崩溃有了闭环

服务端新增未命中聚类页,把知识库里查不到的崩溃按「模块 + 版本 + 偏移」聚在一起,按出现次数排序,并展示脱敏后的样本与相近的已知条目。维护者可以:

  • 查看每一组的样本与来源,必要时回溯对应的原始上传;
  • 生成草稿、忽略,或合并进知识库;
  • 合并后显式发布,发布前的改动不会影响玩家。

这样,「这个崩溃没见过」不再是一条死路,而是可以沉淀成下一条知识。

3. 只收到平台日志时,会明确告诉玩家缺什么

有些上传只有平台的 war3dll.log,没有魔兽 Errors 目录里的崩溃记录。平台日志里的断线和校验码在正常对局中也会出现,不能当作崩溃依据。

现在这类样本会在维护者后台标注「缺少崩溃证据」,并禁用重复入库;公开的上传码查询页会直接告诉玩家需要补什么:

  • 魔兽根目录 Errors 下最近一次崩溃的整个文件夹;
  • war3dll.log。

后台还提供「复制补件话术」,维护者可以一键把说明填进反馈并复制给玩家,减少来回沟通。

4. 高 DPI 下的界面裁切修复

在 125% 与 150% 缩放下,地图体检的表格表头会被压窄,「安装插件」按钮和「启动时检查更新」等开关会被挤出窗口。本次按当前缩放重新计算表头宽度,并把按钮与配置开关改为可换行布局,四个主页面和地图体检的四个子页都已逐页验证。

5. 延续 1.1.2 的归因修复

没有知识库命中时,不再默认把崩溃归给地图,而是根据调用栈里的平台、编辑器与驱动证据判断;证据不足时明确提示「暂无法确定」。这次没有改动归因与查表算法,已有结论保持不变。

怎么升级

  1. 退出正在运行的工具;
  2. 用 v1.2.0 的 exe 覆盖旧版 exe;
  3. 保留同目录的 analyzer_config.json 与 history.db,配置和历史记录都会继续使用。

本次是新增功能,版本号从 1.1.2 升到 1.2.0。服务端已经先行更新,客户端覆盖后即可使用知识库同步与补件引导。

下载与反馈

安装包与更新说明见下载页:
https://ca.darksheep.vip/download

遇到问题时,可以在「崩溃诊断」页上传日志获得 6 位上传码,把上传码发给维护者或地图作者;也可以在「崩溃诊断」页查询上传码的处理进度。

隐私与数据边界

  • 自动上报可以随时在「高级与设置 → 插件与上报」关闭;
  • 上传内容为崩溃日志文本、系统版本、地图名与诊断结果,日志中可能出现 Windows 用户名、计算机名和本地路径;
  • 公开的上传码查询页只展示版本、地图、偏移、诊断摘要与处理状态,不公开原始日志,也不展示本机路径;
  • 知识库同步只读取版本号与快照内容,不上传本机数据。

感谢每一位愿意上传日志、补充 Errors 记录的玩家和作者。每一条能被复现的崩溃,最后都会变成别人少踩的一次坑。

——萧夜