mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-04 06:29:42 +02:00
fix: respawn disabled state not persisted across server restarts
When /respawn/stop was called, the controller was stopped but remained in the respawnControllers map. This caused persistSessionState() to still read config.enabled=true and save respawnEnabled=true to state.json. On server restart, the respawn controller would be re-enabled because state.json had respawnEnabled=true. Fix: Remove controller from map and clear any timed respawn when /respawn/stop is called, so persistSessionState() correctly sets respawnEnabled=false. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -790,6 +790,16 @@ export class WebServer extends EventEmitter {
|
||||
|
||||
controller.stop();
|
||||
|
||||
// Remove controller from map so persistSessionState doesn't save respawnEnabled: true
|
||||
this.respawnControllers.delete(id);
|
||||
|
||||
// Clear any timed respawn
|
||||
const timerInfo = this.respawnTimers.get(id);
|
||||
if (timerInfo) {
|
||||
clearTimeout(timerInfo.timer);
|
||||
this.respawnTimers.delete(id);
|
||||
}
|
||||
|
||||
// Clear persisted respawn config
|
||||
this.screenManager.clearRespawnConfig(id);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user