Packets/Login/TheBurningCrusade: Difference between revisions

From wowdev
Jump to navigation Jump to search
(Initial creation. Client challenge appears to be the same across all versions up to and including 9.0.0.)
 
m (Add packet categories)
Line 113: Line 113:
| 0x22 || account_name_len / Big || uint8[account_name_len] || account_name || UTF-8 encoded uppercase string of the username.<br> Not all unicode characters are uppercased correctly.
| 0x22 || account_name_len / Big || uint8[account_name_len] || account_name || UTF-8 encoded uppercase string of the username.<br> Not all unicode characters are uppercased correctly.
|}
|}
[[Category:Packet]]
[[Category:Packet/Login]]

Revision as of 01:14, 17 May 2021

Opcodes and Errors

Opcodes
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.
Error codes
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

AuthLogonChallenge_Client
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.