StarCraft and Brood War: logon to chat

STARSEXP

How StarCraft and Brood War up to version 1.16.1 connect, pass the version check, log on and join a channel.

#ClientServerWhat happensConfidence
1 0x01 Protocol byte: BNCS follows. Verified
2 SID_AUTH_INFO Names the game (STAR or SEXP), platform and version byte. Verified
3 SID_PING Latency check. Verified
4 SID_PING Echo of the server's value. ⚠️ Single source
5 SID_AUTH_INFO Logon type 0x00 (X-SHA-1), server token, and the version check to run. Verified
6 PKT_SERVERPING UDP UDP test to the client's port 6112. Verified
7 SID_AUTH_CHECK EXE hash and one CD key. Verified
8 SID_AUTH_CHECK 0x000 when the version and key pass. Verified
Optional, in roughly this order: icons, terms of service and profile
9 SID_GETICONDATA ⚠️ Single source
10 SID_GETFILETIME For icons_STAR.bni. ⚠️ Single source
11 SID_UDPPINGRESPONSE Confirms the UDP test. ⚠️ Single source
12 SID_GETICONDATA ⚠️ Single source
13 SID_GETFILETIME For tos_USA.txt, then bnserver.ini. ⚠️ Single source
14 SID_READUSERDATA ⚠️ Single source
15 SID_GETFILETIME One reply for each request. ⚠️ Single source
16 SID_READUSERDATA ⚠️ Single source
Only when the player creates a new account
17 SID_CREATEACCOUNT2 Password hashed once. Verified
18 SID_CREATEACCOUNT2 0x00 created, or 0x04 if the name is taken. Verified
Logging on
19 SID_LOGONRESPONSE2 Salted password proof. Verified
20 SID_LOGONRESPONSE2 0x00 logged on. Verified
Entering chat
21 SID_ENTERCHAT Verified
22 SID_GETCHANNELLIST ⚠️ Single source
23 SID_JOINCHANNEL Flags 0x01 (first join). Verified
24 SID_ENTERCHAT The client's unique name and statstring. Verified
25 SID_GETCHANNELLIST Verified
26 SID_CHATEVENT EID_CHANNEL, then EID_SHOWUSER for each user in the channel. Verified

Remarks

Versions covered. This sequence is for StarCraft and Brood War up to 1.16.1. Version 1.18 and later connect differently.

When SID_PING is sent. Official Battle.net sends SID_PING once SID_AUTH_INFO arrives. Command Center sends it as soon as the connection opens, and real clients accept that too.

Brood War 1.16.1 may send SID_STOPADV before logon finishes. That's normal and shouldn't be treated as an error.

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