Server Log Filter
Hide noisy server console lines from the MCDR console with configurable regex rules, without touching the server's own log file.
Installation command
!!MCDR plugin install server_log_filterAuthor
Repository
Synced at
...
Last update
...
Latest version
Total downloads
44
Back to catalogue
ServerLogFilter-v1.2.1.mcdr
Version
1.2.1
Date
October 4, 2026
Size
17.87 KiB
Downloads
2
MD5
dcc8345555e656f6fd2c03f069fdc1beSHA256
86a4f6a228b1427d9b43726b88cfda37a2d2768444640fecf92dce02c0d7db6eMCDR Plugin Dependencies
| Plugin ID | Requirement |
|---|---|
| mcdreforged | >=2.15.0 |
Python Package Requirements
| Python Package | Requirement |
|---|---|
none |
新增
三条提示各自有了开关,默认全开。
| 开关 | 控制的提示 |
|---|---|
announce_config_upgrade | 插件升级后配置被自动补齐时,列出本次新增了哪些选项 |
announce_broken_config | 配置文件解析失败被备份并重置时,说明原因与备份路径 |
warn_about_stale_rules | 某条规则连续多个开服周期零命中(v1.1.0 起已有,本次与上面两项归为一组) |
开关只管「说不说」,不管「做不做」——三条安全动作(补齐配置、备份坏文件、记录统计)都不会因为提示被关掉而停摆。这一点有测试专门盯着:关掉 announce_broken_config 之后,坏文件照样变成 config.json.old;关掉 announce_config_upgrade 之后,config.json 照样被补全。
两个实现上的细节:
- 写坏配置时,开关本身只能从原文里读。 那一刻配置已经解析失败了,
load_config_simple也没法提供用户当初的设置——只有那份即将被备份的文本还在手上。于是退化成一次"announce_broken_config": true|false的文本查找,因此写在语法错误之后也照样有效;大小写与空格随意,找不到就按默认(开启)处理。 - 「连备份都失败」不受开关影响。 那意味着原文件真的会被 MCDR 覆盖掉,属于数据丢失警告,而不是日常提示,一律报出来。
修复
从配置里删掉的规则,其统计现在会在重载时立刻清除,不必再等一次完整的开服 / 关服。
state.json 里的历史原先只在服务端停止时(on_server_stop)清理。于是「删掉一条规则 → 重载插件 → 打开 state.json」这个最常见的操作顺序下,那条已经不存在的规则仍然躺在文件里,看上去像是没生效。
现在清理提前到载入阶段,两条重载路径都覆盖:!!logfilter reload 与 !!MCDR reload plugin server_log_filter。同时会明确告诉你清掉了哪些:
[ServerLogFilter] 已从 state.json 清除 1 条规则统计(它们已不在配置的 patterns 中)
· a-rule-the-admin-deleted
变更
- 版本号 1.2.0 → 1.2.1
- 本文件(随包分发的
CHANGELOG.md)改为只保留最新版本的条目。 旧版本的变更记录移交给 Releases 页面;它随包分发,任何历史条目都会永久占着用户的体积,包也就不必再随着版本逐个累加而变大。
两条边界被特意保留,避免「清理」变成「误删」:
- 只看配置原文,不看编译结果。 一条仍然写在
patterns里、只是这次载入被跳过的规则(正则写错,或被灾难性回溯防护拦下)不算删除,它的历史会被完整保留——否则把错别字改好之后,统计已经从零开始,之前积累的观察就白费了。 - 配置因写坏而被自动重置时,不清理。 这种情况下
patterns是临时生成的默认值,并非用户的真实配置;照此清理会顺手抹掉全部历史,而这些统计在用户对照config.json.old把内容改回来之后本可以继续用。此时的状态文件一个字节都不动。
另外:没有实际清理发生时不会写盘,state.json 的修改时间不会因为一次重载而变动。
升级说明
- 老配置会被自动补齐,新增的两个选项默认开启,无需手动改动任何配置。
- 若把配置写坏了导致被自动重置,新文件里这两个开关会回到
true(默认值),需要再手动关一次。
兼容性
最低 MCDR 版本仍为 2.15.0,未引入新的 MCDR API。已在 2.15.0 / 2.15.7 / 2.16.0 上实测通过;2.13.0 / 2.14.1 仍由 MCDR 依赖检查干净拒绝。
测试
- 测试 156 → 175;变异 18 → 20(20/20 全部被抓住)
- 新增真实 MCDR 端到端用例:同一实例跑两次 MCDR 并在中间删掉一条规则、老配置 + 关掉升级提示、坏配置 + 关掉写坏提示
- 端到端用例已实测能抓住回归:去掉清理调用、或无视开关,都会立刻变红
产物
| 文件 | 大小 | SHA256 |
|---|---|---|
ServerLogFilter-v1.2.1.mcdr | 18,302 B | 86a4f6a228b1427d9b43726b88cfda37a2d2768444640fecf92dce02c0d7db6e |
包内固定 4 个文件:mcdreforged.plugin.json、server_log_filter/__init__.py、CHANGELOG.md、LICENSE(README 不打包)。相比 v1.2.0 的 19,672 B 略有下降,因为随包分发的 CHANGELOG 已裁到只剩本版本一节。