Message Id:0x65
Direction:Server to Client
Used By:Starcraft Original, Starcraft Broodwar
Warcraft III Reign of Chaos, Warcraft III The Frozen Throne

(UINT8) Number of entries

For each entry:
  (STRING) Account name
    (UINT8) Status
    (UINT8) Location id
   (UINT32) Product id
  (STRING) Location name


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, 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, would respond with 1. Arta[vL] is in the private game vL.

| Edited:

no one has commented yet.