Warcraft II: Battle.net Edition: logon to chat
How Warcraft II: Battle.net Edition connects with the older logon, including its hashed CD key and the UDP test.
| # | Client | Server | What happens | Confidence | |
|---|---|---|---|---|---|
| 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
- Command Center: PROTOCOL-NOTES.md: UDP behaviour captured from a real Warcraft II client on September 9, 2026
- BNETDocs Atlas server (MIT)
- BNETDocs, Battle.net Chat Server Protocol Overview: written by Kyro, and edited 11 times since.
This page is written in our own words. BNETDocs is credited for its research; none of its text is copied. See Credits.