Packets/Login/TheBurningCrusade
Jump to navigation
Jump to search
Opcodes and Errors
Name | Value | Description |
---|---|---|
Authentication | ||
LOGIN_CHALL | 0x00 | Intial information sent by client and then challenge by server. |
LOGIN_PROOF | 0x01 | Proof sent by client and then server. |
RECON_CHALL | 0x02 | Reconnect challenge sent by client and then server. |
RECON_PROOF | 0x03 | Reconnect proof sent by client and then server. |
SURVEY_RESULT | 0x04 | Used for hardware survey. |
Realmlist | ||
REALMLIST | 0x10 | Realmlist request sent by client and realmlist information sent by server. |
Patching | ||
XFER_INITIATE | 0x30 | Used for patching. |
XFER_DATA | 0x31 | Used for patching. |
XFER_ACCEPT | 0x32 | Used for patching. |
XFER_RESUME | 0x33 | Used for patching. |
XFER_CANCEL | 0x34 | Used for patching. |
Name | Value | Client Message |
---|---|---|
SUCCESS | 0x00 | |
FAIL_UNKNOWN0 | 0x01 | "Unable to Connect" |
FAIL_UNKNOWN1 | 0x02 | "Unable to Connect" |
FAIL_BANNED | 0x03 | "The World of Warcraft account has been closed and is no longer available for use. Please go to http://www.wow-europe.com/en/misc/banned.html for further information. |
FAIL_UNKNOWN_ACCOUNT | 0x04 | "The information you have entered is not valid. Please check the spelling of the account name and password. If you need help in retrieving a lost or stolen password and account, see http://www.wow-europe.com for more information." |
FAIL_INCORRECT_PASSWORD | 0x05 | "The information you have entered is not valid. Please check the spelling of the account name and password. If you need help in retrieving a lost or stolen password and account, see http://www.wow-europe.com for more information." |
FAIL_ALREADY_ONLINE | 0x06 | "This account is already logged into World of Warcraft. Please check the spelling and try again." |
FAIL_NO_TIME | 0x07 | "You have used up your prepaid time for this account. Please purchase more to continue playing." |
FAIL_DB_BUSY | 0x08 | "Could not log in to World of Warcraft at this time. Please try again later." |
FAIL_VERSION_INVALID | 0x09 | "Unable to validate game version. This may be caused by file corruption or the interference of another program. Please visit http://www.wow-europe.com/en/support/ for more information and possible solutions to this issue." |
LOGIN_DOWNLOAD_FILE | 0x0A | "Downloading" |
FAIL_INVALID_SERVER | 0x0B | "Unable to Connect" |
FAIL_SUSPENDED | 0x0C | "The World of Warcraft account has been temporarily suspended. Please go to http://www.wow-europe.com/en/misc/banned.html for further information. |
FAIL_NO_ACCESS | 0x0D | "Unable to Connect" |
SUCCESS_SURVEY | 0x0E | "Success!" Pressing cancel either shows a cached realmlist or "Retrieving realm list". |
FAIL_PARENTALCONTROL | 0x0F | "Access to this account has been blocked by parental controls. Your settings may be changed in your account preferences at http://www.worldofwarcraft.com." |
FAIL_LOCKED_ENFORCED | 0x10 | Does not appear to be valid on 1.12.1. |
Challenge packets
Offset | Size / Endianness | Type | Name | Description |
---|---|---|---|---|
0x0 | 1 / - | uint8 | command | LOGIN_CHALL (0x0), AuthReconnectionChallenge_Client has RECON_CHALL (0x2). |
0x1 | 1 / - | uint8 | protocol_version | 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] | gamename | Always null terminated 'WoW\0' string. |
0x8 | 3 / - | uint8[3] | version | [0x02, 0x04, 0x03] for 2.4.3. |
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. |