服务器启动时自动扫描所有 config.yml,对比磁盘版本与 jar 版本,仅当磁盘版本 < jar 版本时触发迁移,杜绝重复迁移。
即使插件未定义 config-version,也会逐键对比 jar 默认配置与磁盘配置,有差异即自动迁移。
同名键自动匹配值;支持自定义映射规则;未匹配旧键记录到报告中,绝不丢失。
控制台、日志、报告及配置文件注释全部支持中英文切换,适配全球服主。
支持运算符 (>= > = <= <) 配置跳过特定插件版本,默认跳过 Gost >=2.2.2,避免不兼容热重载的插件出问题。
迁移完成后自动输出 /reload <插件名> 命令,支持黑名单标注不支持热重载的插件。
ReloadConfig 在服务器加载完毕后介入,完成配置升级流程:
✅ 修复了旧版本的重复迁移 bug:现在严格比较磁盘版本与 jar 版本,版本相同或更低不会重复执行。内容对比模式确保没有 config-version 的插件也能获得最佳体验。
1. 安装插件 — 将 ReloadConfig.jar 放入 plugins/ 目录,重启服务器。
2. 自动工作 — 默认启用自动扫描、备份和内容对比模式。
3. 进阶配置 — 编辑 plugins/ReloadConfig/config.yml 可设置语言、跳过规则、自定义映射等。
# plugins/ReloadConfig/config.yml (v1.1.0 新配置)
language: zh-CN # 或 en
auto-scan: true
backup-old-config: true
skip-plugins: # 支持 >= > = <= <
- "Gost >=2.2.2" # 默认跳过 Gost 2.2.2 及以上版本
- "AnotherPlugin >1.0"
migration-rules:
"OldPlugin.old-key": "NewPlugin.new-key"
reload-blacklist: # 不支持热重载的插件
- "Gost"
- "HeavyPlugin"
插件升级后,迁移成功会输出 /reload <插件名> 建议;如果插件在黑名单中,会提示需要重启服务器。
从 v1.1.0 开始,版本键名统一为 config-version(之前为 ScriptIrc-config-version),任何 Bukkit/Spigot/Paper 插件均可兼容:
config-version: 1 # 其他配置内容... database: host: localhost port: 3306
即使插件没有定义 config-version,ReloadConfig 也会通过内容对比模式智能检测配置差异,进行迁移。建议开发者逐步加入版本号以获得最佳体验。
ReloadConfig 自身的配置文件位于 plugins/ReloadConfig/config.yml:
| 配置键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| language | String | zh-CN | 界面语言 (zh-CN / en) |
| config-version | int | 1 | 本插件自身的配置版本 |
| auto-scan | boolean | true | 是否启动时自动扫描 |
| backup-old-config | boolean | true | 迁移前是否备份为 .bak |
| skip-plugins | List | ["Gost >=2.2.2"] | 跳过指定插件版本,支持运算符 |
| reload-blacklist | List | [] | 不支持热重载的插件列表 |
| migration-rules | Map | {} | 旧键→新键映射 |
# skip-plugins 示例
skip-plugins:
- "Gost >=2.2.2" # 跳过 Gost 2.2.2 及以上版本
- "OldPlugin =1.0" # 精确匹配 1.0
- "TestPlugin <=0.5"
备份机制:旧配置重命名为 .bak,新配置包含合并后的数据,版本号自动更新。
✔️ 告别插件更新后的配置灾难 — 管理员无需手动复制大量配置。
✔️ 通用性极强 — 不限制插件来源,支持 config-version 或自动内容对比。
✔️ 映射规则 + 同名匹配双保险 — 配置结构大改也能平稳过渡。
✔️ 完全透明 — 备份和详细日志,一键回滚。