Fix character creation on Turtle WoW (4 extra bytes + IN_PROGRESS handling)

CMSG_CHAR_CREATE was silently dropped by the server because the packet
was 4 bytes too short. Wireshark capture of the real 1.12.1 client
revealed 4 trailing zero bytes after outfitId. Also treat IN_PROGRESS
(code 46) as success since Turtle WoW sends it instead of SUCCESS.
This commit is contained in:
Kelsi 2026-02-17 04:16:27 -08:00
parent de3a8cfa3e
commit d850fe6fc0
2 changed files with 14 additions and 2 deletions

View file

@ -299,6 +299,9 @@ network::Packet CharCreatePacket::build(const CharCreateData& data) {
packet.writeUInt8(data.hairColor);
packet.writeUInt8(data.facialHair);
packet.writeUInt8(0); // outfitId, always 0
// Turtle WoW / 1.12.1 clients send 4 extra zero bytes after outfitId.
// Servers may validate packet length and silently drop undersized packets.
packet.writeUInt32(0);
LOG_DEBUG("Built CMSG_CHAR_CREATE: name=", data.name,
" race=", static_cast<int>(data.race),