1 encounter memory persistence
forgejo-actions edited this page 2026-07-11 12:38:13 +00:00

Encounter Memory Persistence

Encounter memory persistence records durable encounter defeat, respawn, and eligibility state so mobs and encounters do not reset incorrectly across service restarts.

How It Works

Encounter memory records are keyed by memory scope, encounter ID, spawner ID, and derived memory key. Lifecycle policies decide whether memory is cooldown-based, dungeon-run scoped, calendar-based, manual, or absent.

Writes use newer-wins conflict behavior for defeat and eligibility timestamps so late or repeated writes do not roll memory backward.

How To Use It

Choose the narrowest memory scope that matches gameplay intent: realm, zone, dungeon run, party, account, character, or none. Use persistent memory for respawn and eligibility rules that must survive server restart. Use transient memory for purely local encounter pacing.

Hosted zones load only the memory snapshots relevant to their targets during startup.

Invariants

Memory keys must be deterministic. Newer defeat and eligibility timestamps should not be overwritten by older observations. Hosted-zone filtering must not load unrelated encounter memory. Manual lifecycle records should change only through intentional admin or gameplay actions.

Debugging

If an encounter respawns too soon, check scope and memory key derivation. If it never respawns, inspect eligibility timestamps and lifecycle policy. If only one hosted zone is wrong, verify startup load filtering for that zone.