Message Id:0x22
Direction:Client to Server
Used By:Starcraft Original, Starcraft Broodwar
Starcraft Shareware, Starcraft Japanese
Diablo Retail, Diablo Shareware
Diablo II, Diablo II Lord of Destruction
Warcraft II BNE

(UINT32) Product ID *
(UINT32) Product version
(STRING) Game Name
(STRING) Game Password


Notifies that the client has joined a game. This is what causes you to receive "Your friend entered a game called _." from if you are mutual friends with this client.

SID_LEAVECHAT (0x10) does not need to be sent after this, since this does what LEAVECHAT does but with an added notification.

  • This can be any valid Product ID, even if you are not connected with that ID.

Ripple Chat Bot is awesome for this... Open RCB, connect, enter a channel or something... Press Ctrl+P to open the Packet Builder.

  • Packet ID: 22
  • String: The client ID your using (I used NB2W, while using Diablo II)
  • DWORD: Anything you want... (I used 79 which is 4F)
  • NTString: A game that's currently online (find one with /games).
  • NTString: The password, leave blank if no password. Press Send and then type "/whoami", or look at the channel you were in and notice your not in it.

I have messed with this packet enough to know that, the first DWORD must be a valid game ID (doesn't have to be your current client) and the second DWORD can be anything you wish (0-255).

I assume these:

  • The first DWORD is used to tell other clients that you are or are not playing the same game id as they are.
  • The second DWORD is used to tell other clients that you are or are not playing the same game version as they are.