mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
ed09d4ae54
It's not guaranteed that deflate output will be smaller than the input. In some cases zlib-ng (Z_BEST_SPEED) compression is causing packets to increase in size and exceed m_max_packet_size. This results in the packets never being fully received by the client. Currently this is most reproducible in the spell_book section of the OP_PlayerProfile message. After using #scribespells this portion of the player profile has a lot of incrementing spellids which may be affecting the compression algorithm. The client never processes the player profile (MSG_SEND_PC) message and times out on zone entry. This isn't necessarily a bug with zlib-ng since it inflates back to the original input and normal zlib could do this too, but the current netcode doesn't handle this.