S>C 0x50 SID_AUTH_INFO
Transport Layer: | Transmission Control Protocol (TCP) |
---|---|
Application Layer: | Battle.net v1 TCP Messages (SID) |
Message Id: | 0x50 |
Message Name: | SID_AUTH_INFO |
Direction: | Server to Client |
Used By: | Starcraft Original, Starcraft Broodwar Diablo II, Diablo II Lord of Destruction Warcraft III Reign of Chaos, Warcraft III The Frozen Throne |
Message Format: (does not include protocol header) |
|
Remarks
Returns server parameters and a versioning challenge.
Logon type:
0x00
: Broken SHA-1 (STAR/SEXP/D2DV/D2XP)0x01
: NLS Version 1 (WAR3Beta/STAR/SEXP/D2DV/D2XP)0x02
: NLS Version 2 (WAR3/W3XP)
* - Support for NLS Version 1 was added to STAR and SEXP in patch 1.15.2
and has been supported by D2DV and D2XP since at least patch 1.10
. Battle.net has never enabled NLS Version 1 for these products.
Server Token: a randomly generated value that is unique to your session and is used to calculate the Hashed Key Data
field in C>S SID_AUTH_CHECK as well as the XSHA-1 double-hashed Password Hash
field in C>S SID_LOGONRESPONSE2.
UDP value: A randomly generated value used to associate this connection with its corresponding UDP and MCP connections. Used in PKT_CONNTEST2 and MCP_STARTUP.
CheckRevision MPQ filetime and CheckRevision MPQ filename are used by products to send BNFTP requests to obtain CheckRevision.
CheckRevision Formula: This value is the 4th parameter passed to CheckRevision() calls. The formula is always null-terminated, but may contain non-printable and non-UTF8 characters.
128-byte Server signature: This field is an RSA signature that's exclusively sent to and verified by WarCraft III. Its purpose is to prevent WarCraft III clients from connecting to third-party servers. Verification implementation can be found in BNCSUtil's nls_check_signature() function.
After completing the version checking process, the client should proceed with an account logon using the mechanism specified here (SID_LOGONRESPONSE2 for 0x00
and SID_AUTH_ACCOUNTLOGON for 0x01
and 0x02
).
Using a different login type than the one given may result in an IP ban.
Comments
(This is an old comment which was later clarified, the following may no longer be valid.)
JSTR
clients on the IX86
platform receive an empty CheckRevision Formula
from official Battle.net, with MPQ set to ver-IX86-0.mpq
.
Packet Dump from Wireshark:
00000000 01 ff 50 3a 00 00 00 00 00 36 38 58 49 52 54 53 ..P:.... .68XIRTS
00000010 4a d3 00 00 00 00 00 00 00 c0 a8 00 17 2c 01 00 J....... .....,..
00000020 00 09 04 00 00 09 04 00 00 55 53 41 00 55 6e 69 ........ .USA.Uni
00000030 74 65 64 20 53 74 61 74 65 73 00 ted Stat es.
00000000 ff 25 08 00 de 37 ef 58 .%...7.X
00000008 ff 50 28 00 00 00 00 00 a1 8b c6 b7 ee 15 08 00 .P(..... ........
00000018 00 8b 51 03 70 5f c7 01 76 65 72 2d 49 58 38 36 ..Q.p_.. ver-IX86
00000028 2d 30 2e 6d 70 71 00 00 -0.mpq..