feat(access): manage spawn bans
Release / release (push) Failing after 11s
CI / build (push) Successful in 57s

This commit is contained in:
dmg
2026-08-08 13:23:29 -04:00
parent d9051e1661
commit edab7f03db
9 changed files with 194 additions and 13 deletions
+6
View File
@@ -45,3 +45,9 @@ description: Chronological record of significant Trigger Spawn design decisions.
- Added custom `/spawn` cooldown grants with safe, friendly duration parsing.
- Added complete access resets and a paginated view of naturally and administratively eligible players.
- Administrative targets resolve online players, persisted names, server-known offline players, and known UUIDs while state remains keyed by UUID.
## 2026-08-08 — Spawn bans
- Added persistent `/spawn` bans, unbans, and paginated ban listing for online and resolvable offline players.
- Banning immediately clears grants, boss progress, and cooldown state; unbanning restores none of them.
- Banned player state cannot retain natural or granted access.
+10 -10
View File
@@ -2,7 +2,7 @@
type: User Story
title: "US-005: Ban and unban spawn access"
description: Let administrators prevent selected players from using or reacquiring spawn teleportation until unbanned.
status: backlog
status: done
---
# US-005: Ban and unban spawn access
@@ -11,15 +11,15 @@ As a **server administrator**, I want to ban and unban players from spawn telepo
## Acceptance criteria
- [ ] `/spawnadmin ban <player>` immediately prevents the player from using `/spawn`.
- [ ] Banning a player clears their administrative grant, enemy progress, and active cooldown.
- [ ] Qualifying kills made while banned are not recorded.
- [ ] A banned player cannot receive an administrative grant until unbanned.
- [ ] `/spawnadmin bans [page]` displays a paginated list of banned players, including offline players.
- [ ] `/spawnadmin unban <player>` removes the ban without restoring any prior grant, enemy progress, or cooldown.
- [ ] An unbanned player begins with no access and can earn access again by defeating a qualifying enemy or receiving a new grant.
- [ ] Ban and unban commands support online players and previously known offline players when they can be resolved safely.
- [ ] Ban state is associated with player UUIDs and survives server and plugin restarts.
- [x] `/spawnadmin ban <player>` immediately prevents the player from using `/spawn`.
- [x] Banning a player clears their administrative grant, enemy progress, and active cooldown.
- [x] Qualifying kills made while banned are not recorded.
- [x] A banned player cannot receive an administrative grant until unbanned.
- [x] `/spawnadmin bans [page]` displays a paginated list of banned players, including offline players.
- [x] `/spawnadmin unban <player>` removes the ban without restoring any prior grant, enemy progress, or cooldown.
- [x] An unbanned player begins with no access and can earn access again by defeating a qualifying enemy or receiving a new grant.
- [x] Ban and unban commands support online players and previously known offline players when they can be resolved safely.
- [x] Ban state is associated with player UUIDs and survives server and plugin restarts.
## Related