Skip to content

config.yml

config.yml 是 DungeonMaster 的总控台。整服授权、存档方式、地图池、跨服、保险箱、BossBar 这些都从这里起步。

先看最重要的几组

分组作用
验证插件启动时的授权信息
存储玩家数据、保底、排行、保险箱这些持久化去哪存
保险箱保险箱默认格数和 GUI 标题
集成外部插件自动检测和联动选择
世界管理地图池预热、实例容量、回收方式
命令保护副本内禁用哪些命令
掉线保护玩家断线后保留多久
BossBar全局默认血条样式
编辑器编辑器点击操作过期时间
性能观测诊断用性能统计
跨服副本BC 群组 / 跨服副本主配置
调试模式额外调试日志

验证

yaml
验证:
  地址: ''
  端口: 0
  QQ: ''

这三项会在插件启动时直接参与授权验证。尤其是 QQ,留空会直接导致验证过不去。

存储

yaml
存储:
  类型: yaml
  MySQL:
    地址: localhost
    端口: 3306
    数据库: dungeonmaster
    用户: root
    密码: ''
    连接池: 5
  • 小服测试先用 yamlsqlite
  • 正式服、多人长期服、跨服服,直接上 mysql

这里存的不只是玩家基础数据,还包括:

  • 活力值
  • 保底计数
  • 排行榜
  • 保险箱 / 临时背包

保险箱

yaml
保险箱:
  默认格数: 4
  GUI标题: '&0&l保险箱'

默认格数 是没有额外权限时的基础保险箱容量。

源码里还支持用权限节点覆盖:

  • dm.safebox.slots.1
  • dm.safebox.slots.2
  • dm.safebox.slots.3
  • dm.safebox.slots.4
  • dm.safebox.slots.6
  • dm.safebox.slots.9
  • dm.safebox.slots.18
  • dm.safebox.slots.27
  • dm.safebox.slots.36
  • dm.safebox.slots.45
  • dm.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 群组机制 一起看。

当前主配置里这几组最关键:

  • 节点角色
  • 本服名
  • 主服名
  • 允许模板
  • 节点
  • 调度
  • Bungee
  • Redis
  • 兼容

普通单服别开。要做 BC 群组时再进这块。

调试模式

yaml
调试模式: false

排错时临时开,日常运营建议关。

还有一组源码支持但默认文件没展开的配置

当前源码还支持 排行榜 定时重置,只是默认 config.yml 没把这一段直接写出来。你自己加上也会生效。

yaml
排行榜:
  定时重置:
    启用: true
    周期: 每周
    每周重置日: 1
    每月重置日: 1
    重置时间: '04:00'
  模板重置:
    示例副本:
      周期: 每周
      每周重置日: 1
      每月重置日: 1
      重置时间: '04:00'

常见问题

改了配置没生效

优先检查:

  • 改的是不是 plugins/DungeonMaster/config.yml
  • 改完有没有重载或重启
  • 你测试的是不是新开的实例

世界池越跑越重

先看:

  • 预生成数量
  • 空闲池上限
  • 最大实例总数
  • 有没有把 方块还原 当成已经实现的回收模式

保险箱格数不对

除了 默认格数,还要顺手查一下玩家身上有没有 dm.safebox.slots.* 权限。

TQ Minecraft Server Plugin Docs