feat: 掉线重连后自动恢复扩地任务(autoResumeAfterReconnect)
本服会周期性把机器人踢下线(实测约 1~6 分钟一次,踢出原因是 "An internal error occurred in your connection"),每次都会走到「世界已退出,任务停止」。 原来的行为是就此停住 —— 机器人虽然能被原点自救送回真实世界(实测 4/4 成功), 却再也不会继续扩地,于是永远停在原地。 现在世界退出时把本次任务的配置记下来(resumeConfig), 重新进入世界后自动 start() 接上;状态文案改为「世界已退出,等待重连后自动恢复」, 并打印「已重新进入世界,自动恢复扩地任务」。 只有因世界退出而停的那次会登记:手动停止 / 到开垦时段外 / 耐久保护停机 都会在 stop() 里清空 resumeConfig,不会被重连重新拉起。 开关 autoResumeAfterReconnect 默认开启,可关。 测试 470 → 473。
这个提交包含在:
@@ -122,6 +122,15 @@ function defaultConfig() {
|
||||
durabilityGuard: true,
|
||||
/** 耐久保护阈值:剩余耐久百分比 ≤ 该值时回城(1-99) */
|
||||
durabilityThreshold: 15,
|
||||
/**
|
||||
* 掉线重连后是否自动恢复被中断的扩地任务。
|
||||
*
|
||||
* 本服会周期性把机器人踢下线(实测约 1~6 分钟一次),每次都会触发
|
||||
* 「世界已退出,任务停止」。若不自动恢复,任务就永远停在那里 ——
|
||||
* 机器人虽然能被原点自救送回真实世界,却再也不会继续扩地。
|
||||
* 手动停止 / 到时段外 / 耐久保护停机都不会被自动恢复。
|
||||
*/
|
||||
autoResumeAfterReconnect: true,
|
||||
/** 是否启用自动用船过水 */
|
||||
autoBoat: false,
|
||||
/** 触发自动用船的水面最小宽度(格) */
|
||||
@@ -495,6 +504,7 @@ function validateConfig(config) {
|
||||
config.claimEndHour = clampInt(config.claimEndHour, 1, 24, 22);
|
||||
config.eatThreshold = clampInt(config.eatThreshold, 0, 20, 14);
|
||||
config.durabilityThreshold = clampInt(config.durabilityThreshold, 1, 99, 15);
|
||||
config.autoResumeAfterReconnect = config.autoResumeAfterReconnect !== false;
|
||||
config.autoBoatMinWidth = clampInt(config.autoBoatMinWidth, 1, 64, 4);
|
||||
config.autoBoatMinLength = clampInt(config.autoBoatMinLength, 1, 128, 6);
|
||||
config.refreshIntervalSeconds = clampInt(config.refreshIntervalSeconds, 10, 3600, 30);
|
||||
|
||||
在新工单中引用
屏蔽一个用户