1.9 KiB
1.9 KiB
type, title, description, status
| type | title | description | status |
|---|---|---|---|
| User Story | US-012: Configure and persist game state | Give operators validated configuration and durable defensive storage for all Tyrant behavior. | done |
US-012: Configure and persist game state
As a server operator, I want configurable and durable game behavior so that the plugin remains predictable across restarts and balance changes.
Acceptance criteria
- Configuration covers ranges, durations, cooldowns, inactivity periods, candidate windows, retry intervals, effect levels and caps, mob restrictions, item materials and names, messages, timer behavior, and Vigilante arena boss balance.
- Defaults match the approved user stories, including a 50-block Tyrant range and Follower range, seven-day opt-out, 48-hour inactivity, and 24-hour candidate windows.
- Invalid required configuration prevents partial plugin initialization and produces a clear server log message.
- UUID-keyed state stores lifecycle, current and pending roles, assignments, login history, participation, reign progression, purchases, choices, cooldowns, paused time, item delivery, and captured mobs; the administrator-set arena center is durable across restarts.
- Cooldowns and deadlines use UTC instants and exclude administratively paused time.
- State is saved using atomic replacement where supported so failed writes do not replace valid state with partial data.
- Corrupt, unknown, or invalid records cannot silently grant progression, roles, powers, items, or duplicated mobs.
- Unknown forward-compatible configuration and state fields are preserved where practical.
- Plugin disable removes transient effects and presentation safely while preserving durable state.