CMD AUTH LOGON PROOF Server: Difference between revisions

From wowdev
Jump to navigation Jump to search
m (→‎Size: Remove 1.12.1.5875 since it's also true for 1.12.2 and 1.12.3)
(→‎{{Template:Sandbox/PrettyVersion|expansionlevel=2|build=2.4.3.8606}}: Add note that field does not exist before 2.4.0)
Line 25: Line 25:
|}
|}


== {{Template:Sandbox/PrettyVersion|expansionlevel=2|build=2.4.3.8606}} ==
== {{Template:Sandbox/PrettyVersion|expansionlevel=2|build=2}} ==


{| class="wikitable"
{| class="wikitable"
Line 47: Line 47:
| 0x2 || 20 / Little || uint8[20] || server_proof || SRP6 Server proof.
| 0x2 || 20 / Little || uint8[20] || server_proof || SRP6 Server proof.
|-
|-
| 0x16 || 4 / Little || uint32 || account_flag || ACCOUNT_FLAG_GM = 0x00000001,<br>ACCOUNT_FLAG_TRIAL = 0x00000008,<br>ACCOUNT_FLAG_PROPASS = 0x00800000<br>Mangos statically sets this to PROPASS.
| 0x16 || 4 / Little || uint32 || account_flag || ACCOUNT_FLAG_GM = 0x00000001,<br>ACCOUNT_FLAG_TRIAL = 0x00000008,<br>ACCOUNT_FLAG_PROPASS = 0x00800000<br>Mangos statically sets this to PROPASS.<br>This field does not exist {{Template:Sandbox/VersionRange|max_exclusive=2|max_expansionlevel=2|max_build=2.4.0}}.
|-
|-
| 0x20 || 4 / Little || uint32 || hardware_survey_id || ID of a hardware survey that the client should perform. <br>Set to 0 to not use. Can safely be set to 0.
| 0x20 || 4 / Little || uint32 || hardware_survey_id || ID of a hardware survey that the client should perform. <br>Set to 0 to not use. Can safely be set to 0.

Revision as of 15:27, 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)

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.