Mod Update Checker

Check and update server-side mods from Modrinth.

tool
management

Installation command

!!MCDR plugin install mod_update_checker

Author

Synced at

...

Last update

...

Latest version

Total downloads

100

Back to catalogue

ModUpdateChecker-v1.1.0.mcdr

Version

1.1.0

Date

October 8, 2026

Size

67.59 KiB

Downloads

7

MD5

835efe29b698a6f3bcd03e04a22d662b

SHA256

8ee48ea559bfe4c0985614ca120c71880803fcc9a51e94ec2b67bbe2ce736f98

MCDR Plugin Dependencies

Plugin IDRequirement
mcdreforged>=2.13.0

Python Package Requirements

Python PackageRequirement

none

两项新功能、两条新提醒,以及若干「文档说的和代码做的不一致」的清理。配置项和命令向后兼容,新东西默认按最不打扰的方式工作。

新增

  • 自己编译的 Mod 现在能查(sources.manual_map):在 config/mod_update_checker/project-map.json 里写 by_sha1 / by_mod_id 两张表,把自编译、重新打包、改过签名的 jar 指到 Modrinth 项目上。文件只读不写;作为管理员的明确声明,它排在自动名称匹配之前;被它认出来的条目在报告里标为 manual。填错时会明说「引用找不到」,而不是悄悄退回按名字猜;!!modupdate status 显示清单读到几条。
  • 报告会告诉你哪些更新是「刚出现的」:「有更新」一节末尾多一行「其中 N 项是上次检查之后新出现的」。配套修复了 last_report.json 只写不读的问题:report.reuse_report_minutes 的复用窗口现在跨重启有效,判断也从「够不够新」扩成「还算不算数」(Mods 目录、加载器、写死的 server.mc_version 必须与现状一致,否则旧结论作废)。
  • 缺少依赖提醒:某个 Mod 声明的必装依赖在 mods/ 里找不到(只认必装,平台自身已剔除,provides 会被认作满足)。
  • 「Modrinth 标记为不支持服务端」提醒:用 Modrinth 自己的 server_side 字段判断(零额外请求,数据本来就在同一次批量查询里);只有明确写了 unsupported 才报。两条提醒都宁可多报。

内部整理

  • 名称匹配与映射表共用的判断抽成一个方法;报告序列化改为带 format 标记的往返回合;「单个文件名不是路径」的校验抽成共用函数。
  • 修正三处「文档比代码乐观」的说法(解析缓存的真实行为、扫描是否阻塞开服、一处早已废弃的旧配置名),删除一个从未被使用的字段。

验证

  • 测试套件 582 项(v1.0.1 是 504 项)全部通过。
  • 真实 MCDR 2.13.0 / 2.14.1 / 2.15.0 / 2.15.7 / 2.16.0 五版本各跑一遍完整流程。
  • 产物可复现、换行归一、包内无注释与 docstring、包内代码可编译。