mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-05 04:33:51 +00:00
Merge commit 'ea8b0d9305' into chore/game-screen-extract
This commit is contained in:
commit
b6e4e405b6
2 changed files with 12 additions and 11 deletions
|
|
@ -5385,8 +5385,12 @@ void Application::loadOnlineWorldTerrain(uint32_t mapId, float x, float y, float
|
|||
}
|
||||
}
|
||||
}
|
||||
// After 20s, accept any loaded terrain (fallback for unusual spawns)
|
||||
if (!groundReady && elapsed >= 20.0f) {
|
||||
// After 5s with enough tiles loaded, accept terrain as ready even if
|
||||
// the height sample doesn't match spawn Z exactly. This handles cases
|
||||
// where getHeightAt returns a slightly different value than the server's
|
||||
// spawn Z (e.g. terrain LOD, MCNK chunk boundaries, or spawn inside a
|
||||
// building where floor height differs from terrain below).
|
||||
if (!groundReady && elapsed >= 5.0f) {
|
||||
if (auto* tm = renderer->getTerrainManager()) {
|
||||
if (tm->getLoadedTileCount() >= 4) {
|
||||
groundReady = true;
|
||||
|
|
|
|||
|
|
@ -536,19 +536,16 @@ void WardenHandler::handleWardenData(network::Packet& packet) {
|
|||
bool isClassic = (owner_.build <= 6005) && !isTurtle;
|
||||
|
||||
if (!isTurtle && !isClassic) {
|
||||
// WotLK/TBC (AzerothCore, etc.): strict servers BAN for wrong HASH_RESULT.
|
||||
// Without a matching CR entry we cannot compute the correct hash
|
||||
// (requires executing the module's native init function).
|
||||
// Safest action: don't respond. Server will time-out and kick (not ban).
|
||||
// WotLK/TBC: don't respond to HASH_REQUEST without a valid CR match.
|
||||
// ChromieCraft/AzerothCore tolerates the silence (no ban, no kick),
|
||||
// but REJECTS a wrong hash and closes the connection immediately.
|
||||
// Staying silent lets the server continue the session without Warden checks.
|
||||
LOG_WARNING("Warden: HASH_REQUEST seed=", seedHex,
|
||||
" — no CR match, SKIPPING response to avoid account ban");
|
||||
LOG_WARNING("Warden: To fix, provide a .cr file with the correct seed→reply entry for this module");
|
||||
// Stay in WAIT_HASH_REQUEST — server will eventually kick.
|
||||
" — no CR match, skipping response (server tolerates silence)");
|
||||
wardenState_ = WardenState::WAIT_CHECKS;
|
||||
break;
|
||||
}
|
||||
|
||||
// Turtle/Classic: lenient servers (log-only penalties, no bans).
|
||||
// Send a best-effort fallback hash so we can continue the handshake.
|
||||
LOG_WARNING("Warden: No CR match (seed=", seedHex,
|
||||
"), sending fallback hash (lenient server)");
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue