CMD AUTH LOGON PROOF Server: Difference between revisions

From wowdev
Jump to navigation Jump to search
(Add introductory text)
m (→‎Size: Remove 1.12.1.5875 since it's also true for 1.12.2 and 1.12.3)
Line 56: Line 56:
= Size =
= Size =


For version {{Template:Sandbox/VersionRange|min_expansionlevel=1|max_expansionlevel=1|max_build=1.12.1.5875}} if the result is not [[Login_Packet_Results|SUCCESS]] (0x00) the packet is 2 bytes. If it is SUCCESS the packet is 26 bytes.
For version {{Template:Sandbox/VersionRange|max_expansionlevel=1|max_build=1}} if the result is not [[Login_Packet_Results|SUCCESS]] (0x00) the packet is 2 bytes. If it is SUCCESS the packet is 26 bytes.


For version {{Template:Sandbox/VersionRange|min_expansionlevel=2|min_build=2}} if the result is not [[Login_Packet_Results|SUCCESS]] (0x00) the packet is 4 bytes. If it is SUCCESS the packet is 38 bytes.
For version {{Template:Sandbox/VersionRange|min_expansionlevel=2|min_build=2}} if the result is not [[Login_Packet_Results|SUCCESS]] (0x00) the packet is 4 bytes. If it is SUCCESS the packet is 38 bytes.


{{Login Packet Categories}}
{{Login Packet Categories}}

Revision as of 14:32, 2 June 2021

CMD_AUTH_LOGON_PROOF_Server is a Login Packet sent by the server after receiving a CMD_AUTH_LOGON_PROOF_Client. It is followed by a CMD_REALM_LIST_Client from the client.

Packet Layout

Vanilla (1.1.2.4125)

AuthLogonProof_Server
Offset Size Type Name Description
Header
0x0 1 / - uint8 command LOGIN_PROOF (0x1)
0x1 1 / - uint8 result The fields below are only included if this is LOGIN_OK (0x0).
Body
0x2 20 / Little uint8[20] server_proof SRP6 Server proof.
0x16 4 / Little uint32 hardware_survey_id ID of a hardware survey that the client should perform.
Set to 0 to not use. Can safely be set to 0.

BC (2.4.3.8606)

AuthLogonProof_Server
Offset Size Type Name Description
Header
0x0 1 / - uint8 command LOGIN_PROOF (0x1)
0x1 1 / - uint8 result The fields below are only included if this is SUCCESS (0x0).
If this is not SUCCESS (0x0) two padding bytes are added after this.
- 2 / - uint16 result_padding Only included if error is not SUCCESS (0x00).
Body
0x2 20 / Little uint8[20] server_proof SRP6 Server proof.
0x16 4 / Little uint32 account_flag ACCOUNT_FLAG_GM = 0x00000001,
ACCOUNT_FLAG_TRIAL = 0x00000008,
ACCOUNT_FLAG_PROPASS = 0x00800000
Mangos statically sets this to PROPASS.
0x20 4 / Little uint32 hardware_survey_id ID of a hardware survey that the client should perform.
Set to 0 to not use. Can safely be set to 0.
0x24 2 / Little uint16 unknown_flags Mangos describes as "some flags (AccountMsgAvailable = 0x01)" and statically sets to 0.

Size

For version ≤ Vanilla (1) if the result is not SUCCESS (0x00) the packet is 2 bytes. If it is SUCCESS the packet is 26 bytes.

For version ≥ BC (2) if the result is not SUCCESS (0x00) the packet is 4 bytes. If it is SUCCESS the packet is 38 bytes.