全局设置 config.yml
plugins/CloudDungeon/config.yml 是全服设置。每个副本自己的设置在 dungeons/<副本>/config.yml,见 副本设置。
改完执行 /cd admin reload。标「重启」的项目要重启服务器才会生效。进行中的副本会用旧设置跑完。
副本世界 world(重启)
所有副本都在同一个常驻的虚空世界里,按「格子」分开进行。开副本时只是在空格子里用 FAWE 在后台贴上地图,不会建立或卸载任何世界,所以开再多场都不会因为载入世界而卡服。
world:
name: cloud_dungeons
slot-spacing: 1024
columns: 32
max-slots: 64
wipe-on-start: true
| 项目 | 默认 | 说明 |
|---|---|---|
name | cloud_dungeons | 副本世界名称,开服时自动建立。请不要拿来放别的东西 |
slot-spacing | 1024 | 每一格的间距(格),最少 256,会自动调成 16 的倍数。地图长宽不能超过「间距 − 128」,默认地图最大 896×896 |
columns | 32 | 一排几格,超过就换下一排 |
max-slots | 64 | 最多同时存在几格(= 最多同时进行的副本 + 预热数) |
wipe-on-start | true | 开服时清掉上次留下的副本区块。副本内容每次都会重新贴上,建议保持 true |
大厅与离开指令
lobby: ""
leave-command: [leave]
| 项目 | 说明 |
|---|---|
lobby | 离开副本后送去哪里。空白 = 回到进副本前的位置;也可以填 "世界,x,y,z,yaw,pitch" 一律送到大厅 |
leave-command | 离开副本的快捷指令:第一个是指令名称,后面是别名;[] = 不注册,只用 /cd leave。和其他插件撞名时仍然可以用 /clouddungeon:leave |
编辑模式 editor(重启)
editor:
world: cloud_dungeons_editor
管理员编辑模式用的虚空世界,和副本世界分开,每个副本有自己的一格,盖到一半的东西会 留着。见 编辑模式。
贴图 paste
paste:
allow-main-thread: false
有 FastAsyncWorldEdit 时,贴图一律在后台执行,不占主线程。
只装了 WorldEdit、没有 FAWE 时,false = 拒绝开副本(建议,贴一张大地图会让全服冻结好几秒);true = 硬贴。
预热 prewarm
事先把热门副本的地图贴在空格子里,开副本时直接使用,几乎秒开。
prewarm:
enabled: true
max-total: 8
min-tps: 18
| 项目 | 默认 | 说明 |
|---|---|---|
enabled | true | 预热总开关 |
max-total | 8 | 全部副本合计最多预热几份 |
min-tps | 18 | 服务器 TPS 低于这个值时暂停预热 |
每个副本要预热几份写在副本 config.yml 的 prewarm:(默认 0)。只有使用单一张地图的副本会预热。一场结束、格子清理后会自动补上;保存地图时会丢弃旧版本的预热。/cd admin prewarm 查看状态、/cd admin prewarm <副本> [数量] 手动多预热几份。
组队 party
party:
max-size: 5
invite-timeout: 60
ready-check: true
ready-timeout: 30
start-max-distance: 0
party-chat-in-dungeon: false
| 项目 | 默认 | 说明 |
|---|---|---|
max-size | 5 | 队伍人数上限 |
invite-timeout | 60 | 邀请几秒后失效(最少 5) |
ready-check | true | 队长开始挑战时,要全员按「准备」才出发;false = 直接出发 |
ready-timeout | 30 | 准备确认几秒后超时取消(最少 5) |
start-max-distance | 0 | 队员离队长超过几格就不能出发,0 = 不限 |
party-chat-in-dungeon | false | 在副本里打字默认只有队友看得到(开头加 ! 发到公开频道) |
见 组队、准备与快速配对。
跨服 network(重启)
network:
enabled: false
server: ""
dungeon-server: ""
arrival-timeout: 30
start-delay: 2
| 项目 | 默认 | 说明 |
|---|---|---|
enabled | false | 开启跨服。server 或 dungeon-server 没填时自动停用并警告 |
server | 这台服务器在代理端设置里的名称 | |
dungeon-server | 开副本的那台服务器名称(这台就是副本服务器时填一样的名字) | |
arrival-timeout | 30 | 队友几秒内没到齐:人数够就先开,不够就送回去(最少 10) |
start-delay | 2 | 人到齐后等几秒再开始(让背包同步把入场券带过来) |
见 跨服。
快速配对 queue
queue:
enabled: true
fill-wait: 20
| 项目 | 默认 | 说明 |
|---|---|---|
enabled | true | 快速配对开关 |
fill-wait | 20 | 只凑到最少人数时,等几秒看看还有没有人加入(凑满最大人数立刻出发) |
副本流程 dungeon
dungeon:
start-countdown: 5
end-delay: 20
fail-end-delay: 8
reset-time: "04:00"
weekly-reset-day: MONDAY
refund-on-shutdown: true
refund-on-crash: true
max-instances: 32
| 项目 | 默认 | 说明 |
|---|---|---|
start-countdown | 5 | 开场倒数秒数。副本 config.yml 可以用 countdown: 覆盖 |
end-delay | 20 | 通关后几秒把大家送回去(可以看结算、捡东西),最少 3。副本可用 end-delay: 覆盖 |
fail-end-delay | 8 | 失败后几秒送回去,最少 3。副本可用 fail-end-delay: 覆盖 |
reset-time | "04:00" | 每日次数的重置时间(服务器时区) |
weekly-reset-day | MONDAY | 每周次数的重置日:MONDAY ~ SUNDAY,在这一天的 reset-time 重置 |
refund-on-shutdown | true | 停服时进行中的副本:退还入场券、金钱、次数与体力 |
refund-on-crash | true | 当机导致副本中断:下次开服自动退还(玩家上线时补发) |
max-instances | 32 | 全服最多同时进行几场。每个副本另外可以用 max-instances: 限制自己 |
reset-time 或 weekly-reset-day 写错会改用默认值并在重载时警告。退还的细节见 掉线与当机保护。
掉线 disconnect
disconnect:
grace: 180
all-offline-timeout: 300
counts-as-death: false
max-reconnects: 3
全服默认,副本 config.yml 可以用同样的 disconnect: 只改想改的项目。说明见 掉线与当机保护。
副本限制 rules
rules:
block-break: false
block-place: false
# …共 28 项
blocked-items: []
bound-item-lore: ["副本限定"]
commands:
mode: whitelist # whitelist / blacklist / leave-only / all(也可写 白名单 / 黑名单 / 只能离开 / 全部)
list: [cd, clouddungeon, dungeon, msg, tell, w, r, reply]
message: "" # 被挡下时的提示;空 = 用 lang.yml 的 rules.command-blocked
全服默认,副本 config.yml 可以用 rules: 只写想改的项目。全部规则见 副本限制。
commands决定副本里能用哪些指令:whitelist只开放list里的、blacklist只挡list里的、leave-only只能离开、all不限制。list可以写子指令(cd party)和前缀(home*)。离开副本的指令一定可以用。详见 副本内的指令。- 副本的
rules.commands会整份取代这里的设置(mode和list一起),不是合并。 - 旧写法
allowed-commands: [...](= 白名单)、blocked-commands: [...](= 黑名单)仍然可以用。
计分板 scoreboard 与王条 bossbar
scoreboard:
enabled: true
title: "&b&l✦ 云 副 本 ✦"
lines: [...]
member-line: "{status} &f{name} {health_bar}"
hooks:
on-enter: []
on-leave: []
bossbar:
enabled: true
color: PURPLE
overlay: NOTCHED_10
| 项目 | 说明 |
|---|---|
scoreboard.enabled / title / lines | 全服默认的右侧计分板,副本可以覆盖 |
scoreboard.member-line | {members} 每位队员一行的格式(只能在这里设置) |
scoreboard.hooks.on-enter / on-leave | 进出副本时执行的指令,用来暂时关掉其他计分板插件。掉线时也会执行 on-leave,重连回副本再执行 on-enter |
bossbar.enabled / color | 王条开关与颜色,副本可以覆盖 |
bossbar.overlay | 王条样式:PROGRESS NOTCHED_6 NOTCHED_10 NOTCHED_12 NOTCHED_20 |
变量与写法见 计分板、王条与音效。
体力 stamina
开副本消耗体力,体力随时间回复。适合限制每天能打几场、又不想用固定次数的服务器。
stamina:
enabled: false
max: 100
regen-amount: 1
regen-interval: 60s
| 项目 | 默认 | 说明 |
|---|---|---|
enabled | false | 体力开关 |
max | 100 | 体力上限 |
regen-amount | 1 | 每次回复几点 |
regen-interval | 60s | 多久回复一次(可写 30s、5m、1h) |
每个副本消耗多少写在副本 config.yml 的 requirements.stamina。玩家 /cd stamina 查看;管理员 /cd stamina <玩家> [set|add|take] <数量> 修改;PlaceholderAPI %clouddungeon_stamina%、%clouddungeon_stamina_max%。
数据库 database(重启)
保存每个玩家的次数、冷却、通关记录、排行榜、体力,以及入场券账本、待补发物品与返回位置。
database:
type: sqlite
table-prefix: cd_
mysql:
host: localhost
port: 3306
database: clouddungeon
user: root
password: ""
params: "useSSL=false&characterEncoding=utf8&serverTimezone=UTC"
| 项目 | 说明 |
|---|---|
type | sqlite(单服,文件 plugins/CloudDungeon/data.db)或 mysql(多台分流共用次数与排行榜;跨服必须用 mysql) |
table-prefix | 数据表前缀,只能用英文、数字、下划线 |
mysql.* | MySQL 连接信息;params 是附加在连接地址后面的参数 |
云界面 cloudui
cloudui:
enabled: true
装了 云界面 CloudUI 时,副本大厅、我的队伍、准备确认、我的记录与排行榜使用云界面画面(详见 菜单自定义)。设成 false 就一律使用箱子菜单。玩家拒绝资源包时会自动改用箱子菜单,不需要另外设置。
其他
debug: false
debug: true 时控制台会输出更多副本运行信息,脚本出错时附上详细错误,排查问题时再开。