Diablo: logon to chat
![]()
How Diablo and Diablo Shareware connect with the older logon. Diablo has no CD key, so there's no key check.
| # | 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 (DRTL or DSHR) and version byte. |
⚠️ Single source | |
| 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. | ⚠️ Single source | |
| 10 | SID_REPORTVERSION |
→ | EXE hash. | ⚠️ Single source | |
| 11 | ← | SID_REPORTVERSION |
0x02 when the version passes. |
⚠️ Single source | |
| Only when the player creates a new account | |||||
| 12 | SID_CREATEACCOUNT |
→ | Password hashed once. | ⚠️ Single source | |
| 13 | ← | SID_CREATEACCOUNT |
0x01 created. |
⚠️ Single source | |
| Logging on | |||||
| 14 | SID_LOGONRESPONSE |
→ | Salted password proof, using the token from SID_LOGONCHALLENGEEX. |
⚠️ Single source | |
| 15 | ← | SID_LOGONRESPONSE |
0x01 logged on. |
⚠️ Single source | |
| 16 | SID_UDPPINGRESPONSE |
→ | See the note below: unresolved for Diablo. | 🛑 Unknown | |
| Entering chat | |||||
| 17 | SID_ENTERCHAT |
→ | ⚠️ Single source | ||
| 18 | SID_GETCHANNELLIST |
→ | ⚠️ Single source | ||
| 19 | SID_JOINCHANNEL |
→ | Flags 0x01 (first join). |
⚠️ Single source | |
| 20 | ← | SID_ENTERCHAT |
⚠️ Single source | ||
| 21 | ← | SID_GETCHANNELLIST |
⚠️ Single source | ||
| 22 | ← | SID_CHATEVENT |
EID_CHANNEL, then EID_SHOWUSER for each user. |
⚠️ Single source | |
Remarks
Not yet checked against a real Diablo client. Most steps are marked ⚠️ because this order comes from one source, BNETDocs' record of official clients. The server's first three replies are confirmed by a second source, the Atlas server. A capture from a real Diablo client would settle the rest.
UDP. BNETDocs lists Diablo among games that confirm the UDP test with SID_UDPPINGRESPONSE. It also notes that official Battle.net always showed Diablo users with the No UDP flag. Command Center currently assumes Diablo never runs the test. Treat this as unresolved.
Sources and credits
- BNETDocs Atlas server (MIT): the server's three replies to
SID_CLIENTID2, in order - 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.