CMD AUTH LOGON PROOF Server: Difference between revisions

From wowdev
Jump to navigation Jump to search
Line 39: Line 39:
| 0x0 || 1 / - || uint8 || command || LOGIN_PROOF (0x1)  
| 0x0 || 1 / - || uint8 || command || LOGIN_PROOF (0x1)  
|-
|-
| 0x1 || 1 / - || uint8 || result || The fields below are only included if this is SUCCESS (0x0).<br>If this is not SUCCESS (0x0) two padding bytes are added after this.
| 0x1 || 1 / - || uint8 || result || The fields below are only included if this is [[Login_Packet_Results|SUCCESS]] (0x0).<br>If this is not [[Login_Packet_Results|SUCCESS]] (0x0) two padding bytes are added after this.
|-
|-
| - || 2 / - || uint16 || result_padding || Only included if error is not SUCCESS (0x00).
| - || 2 / - || uint16 || result_padding || Only included if error is not [[Login_Packet_Results|SUCCESS]] (0x00).
|-
|-
!colspan="5"| Body
!colspan="5"| Body

Revision as of 17:57, 11 August 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 SUCCESS (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)

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.
This field does not exist < BC (2.4.0).
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.