From a5d527d0cf6350ff7e67f41f74e0a4bce72c5990 Mon Sep 17 00:00:00 2001 From: Jett <55758076+Jettford@users.noreply.github.com> Date: Wed, 15 Dec 2021 18:45:42 +0000 Subject: [PATCH] client fdb checksum bug --- dWorldServer/WorldServer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/dWorldServer/WorldServer.cpp b/dWorldServer/WorldServer.cpp index b735cb89..eec3bcb6 100644 --- a/dWorldServer/WorldServer.cpp +++ b/dWorldServer/WorldServer.cpp @@ -867,6 +867,7 @@ void HandlePacket(Packet* packet) { std::string username = PacketUtils::ReadString(0x08, packet, true); std::string sessionKey = PacketUtils::ReadString(74, packet, true); std::string theirFdbChecksum = PacketUtils::ReadString(packet->length - 33, packet, false); + theirFdbChecksum = theirFdbChecksum.substr(0, 32); // sometimes client puts a null terminator at the end of the checksum and sometimes doesn't; weird if (Game::config->GetValue("check_fdb") == "1" && fdbChecksum != "") { // if fdbChecksum is empty, likely means we are a character server. uint32_t gmLevel = 0;