C>S 0x22 SID_NOTIFYJOIN
|Transport Layer:||Transmission Control Protocol (TCP)|
|Application Layer:||Battle.net v1 TCP Messages (SID)|
|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
(does not include protocol header)
Notifies Battle.net that the client has joined a game. This is what causes you to receive "Your friend entered a game called _." from Battle.net 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.