掉线与当机保护
掉线重连
玩家在副本里掉线后,位置会保留一段时间(grace 秒)。这段时间内重新登录,会直接回到副本里:回到掉线的位置(如果那个位置已经不在副本范围内,就回到当前存档点),状态恢复,队友会收到「回来了」的提示。
# plugins/CloudDungeon/config.yml(全服默认)
disconnect:
grace: 180 # 掉线后保留几秒;0 = 掉线就直接离开副本
all-offline-timeout: 300 # 全队都掉线时,副本暂停最多几秒
counts-as-death: false # 掉线算死亡一次
max-reconnects: 3 # 每场最多重连几次,-1 = 不限
每个副本可以在自己的 config.yml 写同样的 disconnect:,只写想改的项目,例如 Boss 战不允许掉线逃跑:
# dungeons/<副本>/config.yml
disconnect:
grace: 60
counts-as-death: true
max-reconnects: 1
| 项目 | 说明 |
|---|---|
grace | 掉线后保留的秒数。超过还没回来,就算离开副本,队友会收到通知;他下次登录时直接回到进副本前的位置 |
all-offline-timeout | 全队都掉线时副本暂停的最长秒数(最少 10),超过判定失败 |
counts-as-death | 活着的时候掉线 = 死亡一次、扣一条命;命用完了,重连回来就是出局(旁观) |
max-reconnects | 每人每场最多重连几次;用完了再掉线,登录时不会回到副本,而是送回原处 |
其他规则:
- 副本正在准备中(还在贴地图、还没传送进去)时有人下线:整场取消,入场券全部退还。
- 副本已经在结算倒数时掉线:直接算离开,不保留位置。
- 掉线的人在计分板上显示为离线符号;掉线不会触发
/leave的离开流程,其他队员继续打。 - 有队员处于掉线保留中时,即使在场的人全部倒下也不会马上判定团灭,要等掉线的人回来或超时;所有人都超时(或离开)后副本判定失败。
- 触发组有
quit/rejoin两种类型,可以在掉线、重连时执行脚本,见 触发组。
全队掉线暂停
全队都掉线时副本会暂停:时间限制停止计算、怪物不再行动、怪物组 / 任务组 / 触发组都停住,王条显示「全队掉线,副本暂停中」。第一个人回来就继续。
提示
暂停期间每个人的 grace 也一起暂停,全队掉线时能等多久只看 all-offline-timeout,超过才判定失败。
有人回来、副本继续之后,其他还没回来的人的 grace 从暂停前剩下的秒数接着倒数。
离开副本后去哪里
离开副本(通关、失败、/leave、被踢、超时)时:
- 回到进副本前的位置,恢复原本的游戏模式与飞行状态,清掉副本给的药水效果(
environment.clear-effects-on-leave: false时保留)、时间、天气、世界边界。 config.yml填了lobby: "世界,x,y,z,yaw,pitch"时一律送到大厅。- 物品 lore 含有
rules.bound-item-lore文字(默认「副本限定」)的物品会被收走,见 副本限制。 - 开了跨服时,送回原本的分流,见 跨服。
进副本时的返回位置会存进数据库,所以即使中途当机,下次登录也能回到正确的地方。
被其他插件传送出副本世界(例如 /spawn、/home)也算离开副本。
停服
正常关服(/stop)时,进行中的副本全部结束,玩家被送回原处。
dungeon:
refund-on-shutdown: true # 停服时进行中的副本:退还入场券、金钱、次数与体力
当机补偿
服务器崩溃、断电、被强制关闭时,副本来不及正常 结束。下次开服时插件会自动处理上次没结束的场次:
dungeon:
refund-on-crash: true # 当机中断的副本:下次开服自动退还
- 入场券与金钱:开场时入场券先被「押着」并记在数据库的账本里。还没进场就当机的一定会退;已经进场的,
refund-on-crash: true时也退。 - 进入次数与体力:一并退还。
- 玩家不在线也没关系:退还的入场券、体力会记成「待补发」,玩家下次登录时自动发到背包(背包满了会掉在脚边),并提示补发了几样东西。离线时获得的通关奖励也用同样的方式补发。
- 位置:当机时人在副本里的玩家,下次登录会被送回进副本前的位置,并恢复游戏模式。
- 登录时如果出现在副本世界、但不属于任何进行中的副本(也没有返回记录),会被送到大厅或主世界出生点。有
clouddungeon.admin的 管理员不受影响。 - 登录时背包里带着副本限定物品(例如当机时带出来的),会被收走。
控制台会显示「上次有 N 场副本没有正常结束:已退还 N 份入场券、N 次进入次数」。
另外,每个副本可以设置挑战失败也退还入场券(ticket.refund-on-fail: true),见 副本设置。主动 /leave 离开不会退还。
编辑模式当机
管理员编辑到一半当机,下次登录会自动还原背包、位置与游戏模式,见 编辑模式。