1.7 KiB
1.7 KiB
type, title, description, tags, timestamp, story_id, status
| type | title | description | tags | timestamp | story_id | status | ||||
|---|---|---|---|---|---|---|---|---|---|---|
| User Story | Validate Minecraft accounts | Java Edition usernames resolve to canonical Mojang identities with controlled override behavior. |
|
2026-08-01T18:43:58Z | US-004 | verified |
User Story
As a player, I want submitted Minecraft usernames checked against Mojang, so that the server can identify my online-mode Java account reliably.
Acceptance Criteria
- Given a syntactically valid username, when it is submitted, then validation occurs server-side against the fixed Mojang endpoint.
- Given a Mojang match, then the canonical username and compact UUID are stored.
- Given no Mojang match, then the user or administrator must explicitly confirm an unverified override.
- Given malformed input, then it cannot be stored even through an override.
- Given an active UUID or case-insensitive username already registered, then another active registration is rejected.
- Given a later online-mode game login for an unverified account, then its UUID can be safely backfilled after username matching.
Implementation
packages/minecraft/src/index.tspackages/database/src/schema.ts- User and administrator account actions under
apps/web/src/app
Validation
packages/minecraft/test/minecraft.test.ts- Database partial unique indexes preserve active identity invariants.