BNETDocs: Redux is no longer updated, this subdomain exists for archival purposes only. Visit the main site.


Generate Code: All packets

Packet Information

Message ID:0x50
Message Name:SID_AUTH_INFO
Direction:Client -> Server (Sent)
Used By:Starcraft Broodwar, Diablo II, Warcraft III: The Frozen Throne, Starcraft, Diablo, Warcraft III
Format:(DWORD) Protocol ID (0)
(DWORD) Platform ID
(DWORD) Product ID
(DWORD) Version Byte
(DWORD) Product language*
(DWORD) Local IP for NAT compatibility*
(DWORD) Time zone bias*
(DWORD) Locale ID*
(DWORD) Language ID*
(STRING) Country abreviation
(STRING) Country
Remarks:Sends information about the Client to

*These fields can be set to zero without breaking logon.

Protocol ID:'s current Protocol ID is 0.
Platform ID:
A DWORD specifying the client's platform (IX86, PMAC, XMAC, etc).
Product ID:
A DWORD specifying the client's game.
The client's version byte.
Product Language:
This field is under investigation. It can safely be set to 0.
MPQ Locale ID:
This field is part of Blizzards multi-lingual MPQ system. Is used to specify which version of an MPQ should be used when the MPQ is available in multiple languages.
Local IP:
This is the local network IP of the client, in network byte order.
Timezone bias:
The difference, in minutes, between UTC and local time. The client calculates this value by subtracting the Local Time from the System Time, having converted both to Filetime structures, and then converting the resultant offset to minutes by diving it by 600,000,000. If you wish to understand the mechanism involved, read Microsoft's documentation on File times.
Language ID, Country Abbreviation, and Country:
These values can be retrieved by querying the system's locale information.
Language ID can be retrieved using the GetUserDefaultLangID API.
Country Abbreviation & Country can be retrieved using the GetLocaleInfo API to request the LOCALE_SABBREVCTRYNAME and LOCALE_SENGCOUNTRY, respectively.
Related:[0x50] SID_AUTH_INFO (S->C)

User Comments

For detailed questions and discussion, visit the Research Forum

Dec 01, 2007
02:04 AM

Local IP address in network byte order can be determined using the inet_addr API (

Region can be determined by joining LOCALE_SISO639LANGNAME and LOCALE_SISO3166CTRYNAME together after they have been determined by the GetLocaleInfo API e.g.:
Region = GetLocaleInfo(LOCALE_SISO639LANGNAME) & GetLocaleInfo(LOCALE_SISO3166CTRYNAME)

Jul 08, 2009
06:39 AM

The product ID can use W2BN / WarCraft II BNE. I saw MirageBot by Chriso using it when I network-logged it, and it works just fine as of June 8th, 2009. All I am saying is, W2BN does not have to use the older version (CLIENTID packets), and that it can use this newer version (SID_AUTH_INFO, SID_AUTH_CHECK, SID_LOGONRESPONSE2, SID_ENTERCHAT).

In an interesting topic, I wonder (have not tested) if it is possible to supply CHAT to the product ID, instead of an actual binary client like STAR or WAR3. If you could do this, then the ol' Chat-icon that was seen back before 2005 may still be able to be seen around the

We recommend you use Firefox to view this site. This site has been optimized for Firefox.

Get Firefox
BNLS Server Status

= Online       = Offline Server Status v1 v2




= Online       = Offline


Site scripts and design copyrights reserved to Don Cullen.
Contents copyrighted to Blizzard and their parent corporation, Vivendi.
Main credits for contents goes to Arta. View the rest of credits.
Demented Minds copyrights reserved to Don Cullen 2003-present.
Copyright infringements will be prosecuted to the fullest extent allowable by law.
Please view our legal disclaimer and terms of service.