S>C 0x65 SID_FRIENDSLIST
Transport Layer: | Transmission Control Protocol (TCP) |
---|---|
Application Layer: | Battle.net v1 TCP Messages (SID) |
Message Id: | 0x65 |
Message Name: | SID_FRIENDSLIST |
Direction: | Server to Client |
Used By: | Starcraft Original, Starcraft Broodwar Warcraft III Reign of Chaos, Warcraft III The Frozen Throne |
Message Format: (does not include protocol header) |
|
Remarks
This packet contains the current user's Friends List. If the friend is offline, their Product id
is 0x00
. Location
is only supplied when it is relevant; for example, if Status
is set to offline (0x00
), the location string will be empty.
-
Possible bitwise values for
Status
:0x01: Mutual 0x02: DND 0x04: Away
-
Possible values for
Location id
:0x00: Offline 0x01: Not in chat 0x02: In chat 0x03: In a public game 0x04: In a private game 0x05: In a private game and mutual friend
Whether you are a particular user's friend causes different behavior when receiving information about the type of game the user is in (this is true when receiving friend updates, too). When the Location
field is 0x04
, the user is in a password-protected game, and you are not on that user's friends list. When it is 0x05
, the user is in a password-protected game, and you are on that user's friends list.
For example, let's say MyndFyre
is logging on and Arta[vL]
is on his friends list. Arta[vL]
is also in a password-protected game. MyndFyre
is not on Arta[vL]
's friends list. MyndFyre
will receive location 0x04
for Arta[vL]
and the Location name
parameter will be an empty string. And, if MyndFyre
were to type in /f l
, Battle.net would respond with SID_CHATEVENT
saying 1. Arta[vL] is in a private game.
On the other hand, if Arta[vL]
had listed MyndFyre
as a friend, then on logon, MyndFyre
will receive location 0x05
for Arta[vL]
and the name of the password-protected game will come through the Location name
parameter of the message. If MyndFyre
were to type in /f l
, Battle.net would respond with 1. Arta[vL] is in the private game vL.
Comments
Enum in wc3tft beta:
Unknown:
Couldn't find the values for these, but you can guess where they go anyway.
BNET_FRIEND_MUTUAL_FRIEND
BNET_FRIEND_DND
BNET_FRIEND_AFK
BNET_FRIEND_ONLINE
Location:
0 BNET_FRIEND_OFFLINE
2 BNET_FRIEND_IN_CHANNEL
3 BNET_FRIEND_IN_PUBLIC_GAME
4 BNET_FRIEND_IN_PRIVATE_GAME
5 BNET_FRIEND_IN_PASSWORD_GAME