fix: skip Warden HASH_RESULT on strict servers when no CR match

Sending a wrong hash to AzerothCore/WotLK servers triggers an
account ban. When no pre-computed challenge-response entry matches
the server seed, skip the response entirely so the server times out
with a kick (recoverable) instead of verifying a bad hash and
banning (unrecoverable). Turtle/Classic servers remain unchanged
as they only log Warden failures.

Also adds RX silence detection and fixes Turtle isTurtle flag
propagation in MEM_CHECK path.
This commit is contained in:
Kelsi 2026-03-16 17:38:25 -07:00
parent a3279ea1ad
commit 6fd32ecdc6
3 changed files with 64 additions and 117 deletions

View file

@ -3149,6 +3149,10 @@ private:
std::future<std::vector<uint8_t>> wardenPendingEncrypted_; // encrypted response bytes
bool wardenResponsePending_ = false;
// ---- RX silence detection ----
std::chrono::steady_clock::time_point lastRxTime_{};
bool rxSilenceLogged_ = false;
// ---- XP tracking ----
uint32_t playerXp_ = 0;
uint32_t playerNextLevelXp_ = 0;