CMD AUTH LOGON CHALLENGE Client

From wowdev
Revision as of 19:02, 20 May 2021 by Deadbeef (talk | contribs) (Initial commit)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Packet Layout

CMD_AUTH_LOGON_CHALLENGE Client
Offset Size / Endianness Type Name Description
0x0 1 / - uint8 opcode 0x0 for CMD_AUTH_LOGON_CHALLENGE, CMD_AUTH_RECONNECT_CHALLENGE always has 0x2.
0x1 1 / - uint8 protocol_version 8 for 2.4.3 connection and reconnection. 3 for 1.12 connection attempts and 2 for 1.12 reconnection attempts. Unknown for 1.1.
0x2 2 / Little uint16 size length of package minus the size of the command,
protocol_version and size fields (4 bytes).
The size can be calculated as 30 (0x1E) + account_name_len,
see that field for a maximum.
0x4 4 / Little uint8[4] game_name Always null terminated 'WoW\0' string.
0x8 3 / - uint8[3] version [0x01, 0x01, 0x02] for 1.1.2. [0x01, 0x0C, 0x01] for 1.12.1.
0xB 2 / Little uint16 build 4125, aka Revision
0xD 4 / Big uint8[4] platform eg '\0x86'. Has a leading zero for 'x86'.
0x11 4 / Big uint8[4] os eg '\0Win'. Has a leading zero for 'Win'.
0x15 4 / Big uint8[4] locale eg 'enUS'
0x19 4 / Little uint32 worldregion_bias Offset in minutes from UTC time,
eg. 180 means 180 minutes
0x1D 4 / Big uint32 ip client_ip
0x21 1 / - uint8 account_name_lenth Length of the account_name field in bytes.
The client can only send 16 characters,
but this can still be more than 16 bytes if non-ASCII characters are used.
0x22 account_name_len / Big uint8[account_name_len] account_name UTF-8 encoded uppercase string of the username.
Not all unicode characters are uppercased correctly.