Login Packet

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

Login packets are packets sent by the client to the authentication server as the first connection to the server infrastructure.

All packets start with an opcode field but do not use the same values as the World Packets. The only packets that can start a connection are CMD_AUTH_LOGON_CHALLENGE Client and CMD_AUTH_RECONNECT_CHALLENGE Client which share packet layout.

There are minor differences in the packets between WoW versions, but the layout seems to be stable around BC and later.

The login packets are internally referred to as grunt and the packet layouts hint at it being planned for use for games other than WoW.

The names here are used internally in the clients.

See Login for a higher level overview of the login process.

Opcodes
Name Value Description
Authentication
CMD_AUTH_LOGON_CHALLENGE 0x00 Intial information sent by client and then challenge by server.
CMD_AUTH_LOGON_PROOF 0x01 Proof sent by client and then server.
CMD_AUTH_RECONNECT_CHALLENGE 0x02 Reconnect challenge sent by client and then server.
CMD_AUTH_RECONNECT_PROOF 0x03 Reconnect proof sent by client and then server.
Miscellaneous
CMD_SURVEY_RESULT 0x04 Used for hardware survey.
Realmlist
CMD_REALM_LIST 0x10 Realmlist request sent by client and realmlist information sent by server.
Patching
CMD_XFER_INITIATE 0x30 Used for patching.
CMD_XFER_DATA 0x31 Used for patching.
CMD_XFER_ACCEPT 0x32 Used for patching.
CMD_XFER_RESUME 0x33 Used for patching.
CMD_XFER_CANCEL 0x34 Used for patching.