跳转到内容

配置文件

主配置文件位于 plugins/QueDP/config.yml,用于控制插件的全局行为。

# 语言设置(对应 lang/ 目录下的语言文件)
language: zh_CN
# 是否启用 SimpleComponent 富文本支持
enableSimpleComponent: false
# 调试模式(开启后输出详细日志)
debug: false

控制地图模板的 schematic 文件是否在启动时预转换。预转换后创建副本时无需实时转换,避免卡服。

schematic-preconvert:
# 是否在服务器启动时自动预转换所有 schematic 文件
# true: 启动时异步转换,创建地牢时秒开(推荐)
# false: 创建地牢时实时转换,会卡服 3-5 秒
enabled: true
database:
# 数据库类型: YAML, SQLITE, MYSQL
type: YAML
# MySQL 设置(当 type 为 MYSQL 时使用)
host: localhost
port: 3306
database: quedp
user: root
password: password
world:
# 预复制:按最近开本热度自动给每个副本提前备好世界目录,开本免复制
prewarm:
enabled: true
# 单个副本最多备几份
max: 4
# 所有备用目录合计占用上限(MB)
max-disk-mb: 2048
# 同时最多几个副本在创建世界,超出的排队,0 = 不限
concurrent-limit: 3

预复制怎么定份数:插件记录每个副本的开本时间,取”5 分钟内最多同时开了几个”作为峰值。近 1 天的峰值全算,一周内的峰值打对折,一周没人开就归零。周末冲高、工作日自动收缩、下周末再冲回来,不用手填。记录存在 prewarm-stats.yml,重启后接着用;备用目录放在 instances/.prewarm,关服不删,下次启动按模板指纹认领,改过图的自动作废。

并发上限:多个队伍同时开本时,超过上限的排队并提示前面还有几个,轮到时自动进入,避免同时复制打满磁盘。预复制命中时开本只是一次目录改名,排队几乎感觉不到。

dungeon:
# 实例清理超时时间(秒)- 兜底安全机制
# 用于清理异常情况:玩家全掉线、实例卡死、创建失败等
# 正常完成的地牢会立即清理,无需等待此时间
instance-timeout: 7200

拦截玩家用末影珍珠、紫颂果、传送门等手段逃出副本世界。命令传送、插件传送以及副本正常结束的传送都不受影响。

dungeon:
anti-escape:
# 是否启用
enabled: true
# 处理模式:
# BLOCK - 取消传送,玩家留在副本原地(推荐)
# TELEPORT_BACK - 取消传送并拉回副本出生点
# FAIL - 允许离开,但整个副本判定失败
mode: BLOCK
字段类型默认值说明
enabledBooleantrue是否启用防逃逸拦截
modeStringBLOCK处理模式:BLOCK / TELEPORT_BACK / FAIL
dungeon:
# 每日进入次数的重置时刻(HH:mm),全服统一;上限在副本 config.yml 的 requirements.daily_limit 里配
daily_reset: "04:00"
# 掉线保护:掉线后保留副本位置等待重连的秒数,0 = 不启用
reconnect:
timeout: 180
script: |- # 可选,重连成功后执行,@trigger = 回归的玩家
action.message('@trigger', '&a欢迎回来!')

每日次数是懒重置:没有定时任务,玩家进本时比较记录日期与当前逻辑日期,不同就清零;04:00 之前算前一天。

掉线保护期间该玩家不算存活也不算死亡;全队都掉线时实例按无人处理直接清理,超时未回的玩家会被正式移出,下次登录回到进本前的位置。

party:
# 队伍最大人数
max-size: 4
# 邀请超时时间(秒)
invite-timeout: 60
# 是否强制将共享范围锁定为「仅副本内」
# 开启后玩家无法把战利品/经验共享改为全局
force-dungeon-only-share-scope: false
# 队伍仓库
storage:
# 是否启用队伍仓库功能
enabled: true
name:
# 队伍名称最大长度
max-length: 20
# 是否允许颜色代码
allow-color: false
字段类型默认值说明
max-sizeInt4队伍最大人数
invite-timeoutInt60邀请超时时间(秒)
force-dungeon-only-share-scopeBooleanfalse开启后队伍共享范围被强制锁定为「仅副本内」
storage.enabledBooleantrue关闭后整体禁用队伍仓库功能
performance:
# 每个副本世界的实体数量上限
entity-limit: 100
leaderboard:
# 是否启用排行榜
enabled: true
# 每页显示条目数
entries-per-page: 10
# 数据保留天数
retention-days: 30
# 排行榜更新间隔(秒)
update-interval: 60
statistics:
# 是否启用统计系统
enabled: true
# 副本结束后是否自动显示统计
auto-show: true
# 是否追踪伤害数据
track-damage: true
# 是否追踪承受伤害
track-damage-taken: true
# 是否追踪治疗数据
track-healing: false
# 统计显示时长(秒)
display-duration: 30

体力系统用于限制玩家进入副本的频率。玩家进入地牢时消耗体力,体力会随时间自动回复。

stamina:
# 是否启用体力系统
enabled: true
# 最大体力值
max-stamina: 100
# 每次回复多少点
recovery-rate: 1
# 回复间隔(秒)
recovery-interval: 60
字段类型默认值说明
enabledBooleantrue关闭后所有地牢不消耗体力
max-staminaInt100玩家体力上限
recovery-rateInt1每次回复的体力点数
recovery-intervalInt60回复间隔(秒)

管理员可通过命令管理玩家体力:

  • /dg admin stamina <玩家> — 查看体力
  • /dg admin stamina <玩家> set <数值> — 设置体力
  • /dg admin stamina <玩家> add <数值> — 增加体力
  • /dg admin stamina <玩家> reset — 重置为满体力
update:
# 是否检查更新
check: true
# 是否通知在线管理员
notify: true
# 是否自动下载更新(不推荐,建议手动)
auto-download: false
# 检查间隔(小时,0 = 仅启动时检查)
check-interval: 6
字段类型默认值说明
checkBooleantrue是否启用更新检查
notifyBooleantrue有更新时是否通知拥有 quedp.admin 权限的在线玩家
auto-downloadBooleanfalse是否自动下载新版本 jar
check-intervalInt6检查间隔(小时),0 表示仅服务器启动时检查一次