Skip to content

Redesign Warden around database-backed client profiles - #475

Merged
MadMaxMangos merged 52 commits into
masterfrom
feature/warden-redesign-base
Aug 18, 2026
Merged

Redesign Warden around database-backed client profiles#475
MadMaxMangos merged 52 commits into
masterfrom
feature/warden-redesign-base

Conversation

@MadMaxMangos

@MadMaxMangos MadMaxMangos commented Aug 17, 2026

Copy link
Copy Markdown
Member

Summary

  • replace the legacy Warden implementation with a typed WardenServer/WardenManager architecture and grouped opcode handler
  • preserve the Classic wire protocol while matching retail-style pre-world module negotiation, hashing, initialization, and recurring checks
  • load and atomically publish exact database-backed check profiles for 5875/enUS, 6005/enGB, and 6141/zhCN
  • add strict packet budgeting, transactional result decoding, exact module custody, and fail-closed startup validation
  • separate audit-only evidence from actionable incidents, require isolated confirmation, kick confirmed actionable mismatches, and retain repeated-incident escalation
  • add concise lifecycle/health logging, full source headers, inline protocol comments, configuration validation, and focused security boundaries

Why

The previous implementation mixed fixed checks, transport, policy, and persistence, contained incompatible module-initialization checksums, and could not represent exact client profiles safely. This redesign follows the delivered 1.12.x module's verified behavior and keeps check policy in reviewed database rows instead of hardcoded runtime payloads.

Dependencies

Operator impact

Apply the required database updates before startup. The server now requires World 22/06/003, Character 22/05/004, and Realm 22/04/001; missing, empty, malformed, incomplete, or over-budget catalogues stop startup before player admission. Distributed configuration documents exact-profile admission and enforcement modes. mangosd ConfVersion advances to 2026081700, so older local configuration files trigger the existing stale-config warning.

Validation

  • Claude Opus 5/max security/correctness review plus one focused re-review; all substantiated blocking/important findings closed
  • clean RelWithDebInfo build with PlayerBots and Eluna enabled
  • 130/130 Warden tests and 1/1 database-version test passed
  • 10/10 selected realmd/protocol/build/Warden integration gates passed
  • five malformed-catalogue startup cases failed closed before listener startup
  • clean live acceptance on 5875/enUS, 6005/enGB, and 6141/zhCN
  • Lua/MPQ mismatch and unavailable outcomes remained audit-only and deduplicated
  • profileless Observe initialized without sending an empty check plan
  • controlled check 1566 required confirmation, created one incident, kicked immediately, and did not ban at count one

This change is Reviewable

@MadMaxMangos
MadMaxMangos marked this pull request as ready for review August 17, 2026 19:34
@codacy-production

codacy-production Bot commented Aug 17, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 1304 complexity · 77 duplication

Metric Results
Complexity 1304
Duplication 77

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@AppVeyorBot

Copy link
Copy Markdown

@MadMaxMangos
MadMaxMangos force-pushed the feature/warden-redesign-base branch from a6a3bdf to 3270623 Compare August 17, 2026 22:53

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3270623a86

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/game/WorldHandlers/World.cpp Outdated
@AppVeyorBot

Copy link
Copy Markdown

@MadMaxMangos
MadMaxMangos merged commit 7bf3435 into master Aug 18, 2026
7 of 8 checks passed
@MadMaxMangos
MadMaxMangos deleted the feature/warden-redesign-base branch August 18, 2026 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants