ConfigDoctor —— 解决配置失效报错的困扰 · 检查 · 备份 · 恢复

原创 工具 ConfigDoctor —— 解决配置失效报错的困扰 · 检查 · 备份 · 恢复 1.3.0

完成注册/登录后下载
版权类型
原创
插件中文名称
配置医生
插件英文名称
ConfigDoctor
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Folia
  4. Purpur
语言支持
中文(简体)
前置组件
无
适配版本(Java)
  1. 26.x
  2. 1.21
  3. 1.20
  4. 1.19
  5. 1.18
[MD] # 🩺 ConfigDoctor —— 配置检查 & 备份恢复 & 报错解读 > **v1.3.0** | 作者 **LittleWo** | 体检只读,改配置只在你亲手敲命令时 ## 💡 简介 配置改了半天,插件却一点反应都没有?控制台报了一屏错,堆栈看得头皮发麻? 那大概率是**配置写错了** —— 而插件一声不吭,安静地用回默认值。 ConfigDoctor 拿插件 jar 里的默认配置当尺子,逐键比对服务器上的实际配置;还能解读报错、备份和对比配置。 **🔒 体检全程只读** —— 扫描不写任何文件;备份、恢复、对比也只在你自己敲命令时才动手。 ## ⚙️ 功能特性 **🔍 配置体检** —— 对比 jar 默认配置与服务器配置,一眼揪出: - 键名拼错或旧版残留; - 类型不匹配; - **重复键**(同一个键写了两遍,实际生效的不是你改的那一处); - 直接读不动的配置文件。 支持全量扫描,也可以只查某一个插件。 **💾 备份 / 恢复 / 对比** —— 动配置之前的保命三件套: - **备份** —— 单个插件或 `all` 全服,只打包 `.yml/.yaml`,递归包含子目录,存成带时间戳的 zip:`backups/<插件名>/<时间戳>.zip`,按插件分目录、按时间排序、永不覆盖; - **恢复** —— 先列出该插件全部可用备份(新→旧)任你挑;覆盖前还要**二次确认**,并列出即将被覆盖的文件清单;动手前自动把当前配置快照为 `pre-restore-<时间戳>.zip`,手抖也能反悔;还内置 zip-slip 路径穿越防护; - **对比** —— 逐键比较任意备份与当前配置,标出**改(旧→新)**、**增**、**删**三类变化;聊天窗口先列前 20 处,完整清单写入 `diff-<时间戳>.txt` 报告。 **📜 报错解读** —— 分析 `logs/latest.log`,按出现频率统计错误事件,对常见异常(ClassCastException、NoSuchMethod、NPE、异步违规、数据库锁定等)给出**人话解释**,不用再对着密密麻麻的报错发呆。 **🙈 忽略** —— 两级降噪,各管一摊:`/cfgdoc ignore <通配>` 忽略某类键(如 `dynmap.*`、`*.markers.*`),写入 `ignores.txt`,改完 `/cfgdoc reload` 生效;`ignore-files` 在 `config.yml` 里按相对路径整份跳过(如 `lang/*.yml`、`translations/**`)。跳过了多少份文件,报告里也会写。 **⌨️ Tab 补全** —— 敲命令时按 Tab 直接补全:子命令、要扫描的插件名、能备份的插件、有备份的插件、以及该插件的历史备份文件名。不用再翻 plugins 目录数文件名了。 ## 🎮 命令 主命令 `/configdoctor`,别名 `/cfgdoc`,权限 `configdoctor.use`(默认仅 OP)。 | 命令 | 说明 | | ---------------------------- | ------------------ | | `/cfgdoc scan [插件名]` | 体检配置,可全量或指定插件 | | `/cfgdoc errors` | 分析日志报错并生成解释报告 | | `/cfgdoc backup <插件名\|all>` | 备份配置 | | `/cfgdoc restore <插件名> [备份]` | 恢复备份,需二次确认 | | `/cfgdoc diff <插件名> [备份]` | 对比备份与当前配置 | | `/cfgdoc report` | 重看最近一次扫描结果 | | `/cfgdoc ignore <通配>` | 忽略某类键,如 `dynmap.*` | | `/cfgdoc reload` | 重载自身配置与忽略列表 | ## 📝 配置 `plugins/ConfigDoctor/config.yml`: ```yaml # 扫描时跳过的插件(与对方 plugin.yml 的 name 一致) exclude-plugins: [] # 整份跳过对比的配置文件,按相对路径通配,如 lang/*.yml ignore-files: [] # 语言文件里的多余键只提示不告警 locale-lenient: true # 生成报告文件 report-file: true # 是否报告「默认有而用户未设置」的键 show-missing: false # 匿名统计(也可在 plugins/bStats/config.yml 关闭) bstats: true ``` 键级忽略列表另存于 `plugins/ConfigDoctor/ignores.txt`,由命令写入,也可手改后 `/cfgdoc reload`。 ## 📁 报告与备份路径 都在 `plugins/ConfigDoctor/` 下,文件名带时间戳,旧报告统统留着: | 项目 | 路径 | | ------ | ------------------------------------- | | 配置体检 | `report-<时间戳>.txt` | | 日志报错解读 | `errors-<时间戳>.txt` | | 配置差异对比 | `diff-<时间戳>.txt` | | 配置备份 | `backups/<插件名>/<时间戳>.zip` | | 恢复前快照 | `backups/<插件名>/pre-restore-<时间戳>.zip` | ## 🚀 安装 1. 下载 `ConfigDoctor-x.x.x.jar`,丢进 `plugins/`; 2. 重启服务器; 3. 敲一句 `/cfgdoc scan`,看看你的配置有没有埋雷。 首次启动自动生成默认配置,零前置依赖。 ## 🧩 兼容性 - **核心**:Paper / Purpur / Spigot 及兼容 Bukkit API 的衍生核心; - **版本**:1.18.2 ~ 26.x(服务端需 Java 17+); - **Folia**:支持; - **前置**:无,单 jar 即用; - **统计**:内置 bStats,可在配置里关掉。 ## 👆 更新 Version 1.3.0 - 新增忽略文&#x4EF6;**`ignore-files` 配置** - **宽松解析,优化检测逻辑** - 接入**bStats** - 修复了一些bug Version 1.2.1 - 首次公开发布 ## 📮 反馈 有问题、有误报请联系作者:`block409@foxmail.com` [/MD]
作者
LittleWo
下载
1
查看
49
首次发布
最后更新

评分

0.00 星 0 次评分

LittleWo 的其他资源

后退
顶部 底部