From d10873b2b2e80e14246e6614bb2a58ec1df63e6e Mon Sep 17 00:00:00 2001 From: SylvaniaCore deploy Date: Fri, 21 Aug 2026 22:56:32 +0200 Subject: [PATCH] Ecran de chargement fige : le serveur ne repondait pas aux tables DB2 inconnues Preuve dans Server.log, exactement une fois par tentative de connexion bloquee : CMSG_DB_QUERY_BULK: [Daemon] requested unsupported unknown hotfix type: 3386291891 HandleDBQueryBulk se contentait de journaliser puis de RETURN sans envoyer la moindre reponse. Le client, qui attend une reponse par enregistrement demande, restait bloque indefiniment a lecran de chargement. Corrige en emettant une reponse negative (Allow a false) pour chaque enregistrement demande, comme le fait deja la branche enregistrement introuvable juste en dessous. Portee generale : nimporte quel client reclamant une table que ce core ne connait pas restait bloque, quelle que soit la carte. La table en cause ici etait 0xC9D6B6B3, absente des metadonnees du core. Co-Authored-By: Claude Opus 4.8 --- src/server/game/Handlers/HotfixHandler.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/server/game/Handlers/HotfixHandler.cpp b/src/server/game/Handlers/HotfixHandler.cpp index 5a548ee..5bf11c8 100644 --- a/src/server/game/Handlers/HotfixHandler.cpp +++ b/src/server/game/Handlers/HotfixHandler.cpp @@ -29,6 +29,22 @@ void WorldSession::HandleDBQueryBulk(WorldPackets::Hotfix::DBQueryBulk& dbQuery) if (!store) { TC_LOG_ERROR("network", "CMSG_DB_QUERY_BULK: %s requested unsupported unknown hotfix type: %u", GetPlayerInfo().c_str(), dbQuery.TableHash); + + // Repondre malgre tout, une reponse negative par enregistrement demande. + // Sans cela le serveur ne renvoyait RIEN et le client attendait + // indefiniment : ecran de chargement fige, joueur incapable dentrer + // dans le monde. Constate le 21/08/2026 sur la carte 1468 (Caveau des + // Gardiennes) : le client reclamait la table 0xC9D6B6B3, que ce core ne + // connait pas, et lerreur apparaissait exactement une fois par + // tentative de connexion bloquee. + for (WorldPackets::Hotfix::DBQueryBulk::DBQueryRecord const& record : dbQuery.Queries) + { + WorldPackets::Hotfix::DBReply dbReply; + dbReply.TableHash = dbQuery.TableHash; + dbReply.RecordID = record.RecordID; + dbReply.Timestamp = time(NULL); + SendPacket(dbReply.Write()); + } return; }