SID_STARTVERSIONING
| Protocol | BNCS |
|---|---|
| Directions | Client → Server and Server → Client |
| Used by | |
| Status | Historical. Newer games use `SID_AUTH_INFO` for the same job. |
Starts the version check in the older logon: the client names its game, and the server says which check to run.
Client → Server
| Type | Field | Notes | Confidence |
|---|---|---|---|
DWORD |
Platform code | IX86 for Windows. |
✅ Verified |
DWORD |
Product code | For example DRTL or W2BN. |
✅ Verified |
UINT32 |
Version byte | ✅ Verified | |
UINT32 |
Unused | 0. |
✅ Verified |
Server → Client
After SID_CLIENTID, the logon challenge and SID_PING.
| Type | Field | Notes | Confidence |
|---|---|---|---|
FILETIME |
Version-check file time | ✅ Verified | |
STRING |
Version-check file name | The MPQ that holds the version-check code. | ✅ Verified |
STRING |
Version-check formula | Run over the game files to produce the EXE hash sent in SID_REPORTVERSION. |
✅ Verified |
Remarks
UDP test. After this reply the server sends PKT_SERVERPING over UDP to the client's port 6112. A real Warcraft II client keeps Create and Join disabled until that arrives, then confirms with SID_UDPPINGRESPONSE over TCP.
Appears in
Sources and credits
- BNETDocs Atlas server (MIT): message handler used to cross-check the layout
- Command Center: bnetccd session handling: older logon tested with a real Warcraft II client
- BNETDocs, Battle.net Chat Server Protocol Overview: written by Kyro, and edited 11 times since.
- BNETDocs, SID_STARTVERSIONING (client to server): documented by the original BNETDocs contributors, and edited 3 times since.
- BNETDocs, SID_STARTVERSIONING (server to client): documented by the original BNETDocs contributors, and edited 3 times since.
This page is written in our own words. BNETDocs is credited for its research; none of its text is copied. See Credits.