Warcraft II: Battle.net Edition: logon to chat

W2BN

How Warcraft II: Battle.net Edition connects with the older logon, including its hashed CD key and the UDP test.

#ClientServerWhat happensConfidence
1 0x01 Protocol byte: BNCS follows. Verified
2 SID_CLIENTID2 Sent back to back with the next two messages. ⚠️ Single source
3 SID_LOCALEINFO ⚠️ Single source
4 SID_STARTVERSIONING Names the game (W2BN) and version byte. Verified
5 SID_CLIENTID Registration fields, all zero. Verified
6 SID_LOGONCHALLENGEEX UDP code and server token. Verified
7 SID_PING Verified
8 SID_PING ⚠️ Single source
9 SID_STARTVERSIONING The version check to run. Verified
10 PKT_SERVERPING UDP UDP test to the client's port 6112. The client doesn't probe first; it waits for this. Create and Join stay disabled until it arrives. Verified
11 SID_REPORTVERSION EXE hash. Verified
12 SID_REPORTVERSION 0x02 when the version passes. Verified
13 SID_UDPPINGRESPONSE Confirms the UDP test over TCP. Verified
14 SID_CDKEY2 Hashed CD key. ⚠️ Single source
15 SID_CDKEY2 0x01 accepted. ⚠️ Single source
Optional: icons, terms of service and server list
16 SID_GETICONDATA ⚠️ Single source
17 SID_GETICONDATA ⚠️ Single source
18 SID_GETFILETIME For the icons file, tos_USA.txt and bnserver.ini. ⚠️ Single source
19 SID_GETFILETIME One reply for each request. Files are then downloaded over BNFTP. ⚠️ Single source
Only when the player creates a new account
20 SID_CREATEACCOUNT ⚠️ Single source
21 SID_CREATEACCOUNT 0x01 created. ⚠️ Single source
Logging on
22 SID_LOGONRESPONSE Verified
23 SID_LOGONRESPONSE 0x01 logged on. Verified
Entering chat
24 SID_ENTERCHAT ⚠️ Single source
25 SID_GETCHANNELLIST ⚠️ Single source
26 SID_JOINCHANNEL Flags 0x01 (first join). ⚠️ Single source
27 SID_ENTERCHAT Verified
28 SID_GETCHANNELLIST Verified
29 SID_CHATEVENT Verified

Remarks

The GOG release. The edition of Warcraft II: Battle.net Edition sold by GOG logs on with this same sequence. What differs is the version check:

  • It reports a newer game version, around 2.0.2.1. The original's final version is 2.02.
  • One of the game files its version check hashes is slightly different, so its EXE hash doesn't match the original's.

A server that restricts game versions has to accept the GOG edition's version and hash separately from the original's. The exact values will be added here once they're captured.

Sources and credits

This page is written in our own words. BNETDocs is credited for its research; none of its text is copied. See Credits.

Last edited September 16, 2026 by John Leighow.
Edit on GitHub | Page history