config.yml
config.yml 是 DungeonMaster 的总控台。整服授权、存档方式、地图池、跨服、保险箱、BossBar 这些都从这里起步。
先看最重要的几组
| 分组 | 作用 |
|---|---|
验证 | 插件启动时的授权信息 |
存储 | 玩家数据、保底、排行、保险箱这些持久化去哪存 |
保险箱 | 保险箱默认格数和 GUI 标题 |
集成 | 外部插件自动检测和联动选择 |
世界管理 | 地图池预热、实例容量、回收方式 |
命令保护 | 副本内禁用哪些命令 |
掉线保护 | 玩家断线后保留多久 |
BossBar | 全局默认血条样式 |
编辑器 | 编辑器点击操作过期时间 |
性能观测 | 诊断用性能统计 |
跨服副本 | BC 群组 / 跨服副本主配置 |
调试模式 | 额外调试日志 |
验证
yaml
验证:
地址: ''
端口: 0
QQ: ''这三项会在插件启动时直接参与授权验证。尤其是 QQ,留空会直接导致验证过不去。
存储
yaml
存储:
类型: yaml
MySQL:
地址: localhost
端口: 3306
数据库: dungeonmaster
用户: root
密码: ''
连接池: 5- 小服测试先用
yaml或sqlite - 正式服、多人长期服、跨服服,直接上
mysql
这里存的不只是玩家基础数据,还包括:
- 活力值
- 保底计数
- 排行榜
- 保险箱 / 临时背包
保险箱
yaml
保险箱:
默认格数: 4
GUI标题: '&0&l保险箱'默认格数 是没有额外权限时的基础保险箱容量。
源码里还支持用权限节点覆盖:
dm.safebox.slots.1dm.safebox.slots.2dm.safebox.slots.3dm.safebox.slots.4dm.safebox.slots.6dm.safebox.slots.9dm.safebox.slots.18dm.safebox.slots.27dm.safebox.slots.36dm.safebox.slots.45dm.safebox.slots.54
集成
yaml
集成:
怪物系统: 自动检测
物品系统: 自动检测
经济系统: 自动检测
PAPI:
启用: true
属性插件:
启用: true不确定该接哪个插件时,先用 自动检测 最省事。等整服方案定死了,再手动锁到某个插件也不迟。
世界管理
yaml
世界管理:
预生成数量: 1
回收模式: 删除重建
前缀: dm_inst_
复制并发数: 2
主线程加载间隔Tick: 1
最大实例总数: 20
空闲池上限: 5
孤立世界清理间隔: 300这组配置直接决定副本开得快不快、顶不顶得住高峰。
重点说明
预生成数量会在开服时按模板预热空闲世界。空闲池上限是每个模板允许保留多少个空闲实例。最大实例总数控制整个世界池的总容量。孤立世界清理间隔会定时清掉脱管的实例世界。
回收模式要特别注意
源码现在虽然认 删除重建 和 方块还原 两个值,但 方块还原 目前还没真正实现,实际会回退到 删除重建。现在正式服直接按 删除重建 理解最稳。
调整建议
- 小服先用
预生成数量: 1 - 常驻热门本多的时候,再慢慢加
复制并发数不要上来就拉太高,磁盘和 CPU 顶不住时会适得其反
命令保护
yaml
命令保护:
模式: 黑名单
列表:
- /home
- /tpa
拒绝提示: '&c副本中禁止使用该命令!'这份是全局默认值。副本自己的模板里如果另外配了命令保护,会覆盖这里。
掉线保护
yaml
掉线保护:
启用: true
重连超时: 300
重连脚本: |
消息.发送("&a欢迎回来!副本正在进行中...")正式服建议开着。当前源码会在玩家断线后保留位置,重连超时再清出去。
BossBar
yaml
BossBar:
启用: true
标题: '&e{dungeon_name} &7| &f剩余: &c{remaining_time}'
颜色: RED
样式: SOLID
进度: '1.0'
刷新间隔: 20这份是全局默认值。副本模板里自己再写 BossBar,会优先用副本自己的。
编辑器
yaml
编辑器:
操作过期时间: 300这个值管的是聊天可点击操作保留多久。时间太短,连着编辑时容易点一下就失效;时间太长,旧按钮又容易混进聊天记录里。
性能观测
yaml
性能观测:
启用: false
汇总间隔秒: 60
慢管理Tick毫秒: 50
慢副本Tick毫秒: 25
慢世界操作毫秒: 200
慢存储操作毫秒: 50
慢活力异步保存毫秒: 50
汇总Top数量: 4这组配置只给排查性能问题用。开了以后可以用管理命令看汇总状态,适合排查:
- 哪些副本 tick 慢
- 世界创建和销毁是不是卡
- 存储是不是拖慢主流程
日常运营不用一直开着。
跨服副本
这部分建议和 BC 群组机制 一起看。
当前主配置里这几组最关键:
节点角色本服名主服名允许模板节点调度BungeeRedis兼容
普通单服别开。要做 BC 群组时再进这块。
调试模式
yaml
调试模式: false排错时临时开,日常运营建议关。
还有一组源码支持但默认文件没展开的配置
当前源码还支持 排行榜 定时重置,只是默认 config.yml 没把这一段直接写出来。你自己加上也会生效。
yaml
排行榜:
定时重置:
启用: true
周期: 每周
每周重置日: 1
每月重置日: 1
重置时间: '04:00'
模板重置:
示例副本:
周期: 每周
每周重置日: 1
每月重置日: 1
重置时间: '04:00'常见问题
改了配置没生效
优先检查:
- 改的是不是
plugins/DungeonMaster/config.yml - 改完有没有重载或重启
- 你测试的是不是新开的实例
世界池越跑越重
先看:
预生成数量空闲池上限最大实例总数- 有没有把
方块还原当成已经实现的回收模式
保险箱格数不对
除了 默认格数,还要顺手查一下玩家身上有没有 dm.safebox.slots.* 权限。