[claude] TES3MP server hardening — multi-player stability & anti-grief (#860) #1321

Merged
claude merged 1 commits from claude/issue-860 into main 2026-03-24 02:13:58 +00:00

1 Commits

Author SHA1 Message Date
Alexander Whitestone
e0e988915b feat: TES3MP server hardening — multi-player stability & anti-grief (#860)
Some checks failed
Tests / lint (pull_request) Failing after 30s
Tests / test (pull_request) Has been skipped
Add infrastructure.world.hardening module with:

- MultiClientStressRunner: run 6+ concurrent automated clients via
  asyncio.gather, meeting the Phase 8 multi-player stability target
- QuestArbiter: first-come-first-served quest-state locking to resolve
  conflicts when multiple agents advance the same quest simultaneously
- AntiGriefPolicy: sliding-window rate limiter + blocked-action set
  (destroy, kill_npc, steal, grief, cheat, spawn_item) for community
  agent deployments
- RecoveryManager: periodic JSONL snapshots of adapter state with
  restore-by-id or latest-snapshot recovery on restart
- WorldStateBackup: timestamped JSON backup files with manifest and
  configurable rotation (max_backups=10 default)
- ResourceMonitor: CPU/RAM/disk sampling via psutil (when available)
  with stdlib fallback; peak_cpu/peak_memory helpers for load reports

61 tests added covering all six components.

Fixes #860

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 22:13:05 -04:00