fix: increase world packet size limit from 16KB to 32KB

The 0x4000 (16384) limit was too conservative and could disconnect the
client when the server sends large packets such as SMSG_GUILD_ROSTER
with 500+ members (~30KB) or SMSG_AUCTION_LIST with many results.
Increase to 0x8000 (32768) which covers all normal gameplay while still
protecting against framing desync from encryption errors.
This commit is contained in:
Kelsi 2026-03-20 17:49:49 -07:00
parent f712d3de94
commit 7c5bec50ef

View file

@ -668,7 +668,7 @@ void WorldSocket::tryParsePackets() {
closeSocketNoJoin(); closeSocketNoJoin();
return; return;
} }
constexpr uint16_t kMaxWorldPacketSize = 0x4000; constexpr uint16_t kMaxWorldPacketSize = 0x8000; // 32KB — allows large guild rosters, auction lists
if (size > kMaxWorldPacketSize) { if (size > kMaxWorldPacketSize) {
LOG_ERROR("World packet framing desync: oversized packet size=", size, LOG_ERROR("World packet framing desync: oversized packet size=", size,
" rawHdr=", std::hex, " rawHdr=", std::hex,