|Direction:||Server to Client|
|Used By:||Diablo II, Diablo II Lord of Destruction|
Diablo Retail, Diablo Shareware
Starcraft Japanese, Starcraft Broodwar
Starcraft Shareware, Starcraft Original
Warcraft II BNE, Warcraft III The Frozen Throne
Warcraft III Reign of Chaos
Contains all chat events.
* These fields are defunct and should always be received as value
0x00000000 or a debugging value such as
0xbaadf00d (see this article on Wikipedia for more info).
** For STAR/SEXP/SSHR/JSTR, this field is UTF-8 encoded. For all other clients, it is ISO 8859-1 encoded. It must also be no longer than 255 characters; official clients should only be able to send 224 characters (including the null-terminator).
0x01 EID_SHOWUSER: User in channel 0x02 EID_JOIN: User joined channel 0x03 EID_LEAVE: User left channel 0x04 EID_WHISPER: Recieved whisper 0x05 EID_TALK: Chat text 0x06 EID_BROADCAST: Server broadcast 0x07 EID_CHANNEL: Channel information 0x09 EID_USERFLAGS: Flags update 0x0A EID_WHISPERSENT: Sent whisper 0x0D EID_CHANNELFULL: Channel full 0x0E EID_CHANNELDOESNOTEXIST: Channel doesn't exist 0x0F EID_CHANNELRESTRICTED: Channel is restricted 0x12 EID_INFO: Information 0x13 EID_ERROR: Error message 0x15 EID_IGNORE: Notifies that a user has been ignored (DEFUNCT) 0x16 EID_ACCEPT: Notifies that a user has been unignored (DEFUNCT) 0x17 EID_EMOTE: Emote
- This is sent for each user who is already in a channel when you join it, as opposed to EID_JOIN, which is sent when a user joins a channel you have already joined. It is also sent when logged on using D2XP/D2DV and a user requires an update to their statstring - for example, by logging a different character onto a realm.
- This is sent when a user enters the channel you are currently in.
- This is sent when a user exits the channel you are currently in.
- This is sent when a user whispers you.
- This is sent when a user (excluding self) in chat speaks.
- This is sent when a server announcement is being made globally.
- The username supplied for this event is now always
Battle.net. Historically, the username was the name of the Battle.net Administrator who sent the broadcast.
- The flags field for this event is used and indicates what special conditions exist for the channel in question. See Battle.net Flags for more information.
- This is sent to inform the client of an update to one or more user's flags.
- Battle.net usually sends this event for every user in the channel, even if only one user's flags have changed. This behavior can be exploited to detect invisible users, by performing an action (such as an unsquelch) to provoke a flags update. Users included in the flags update whose presence has not been indicated by
EID_SHOWUSERcan then be added to the userlist as invisible. Care should be taken, however, to account for the possibility that an asynchronous send error has occurred. Should an
EID_SHOWUSERevent occur for an invisible user, they should be marked as a normal user, not readded to the userlist.
- The Flags and Ping fields in this packet is equal to the originating user - the one who sent the whisper. In other words,
EID_WHISPERSENTcontains your flags & ping, not those of the person you whispered.
- See info on
- This is sent when attempting to join a channel which your client is not allowed to join.
- This is information supplied by Battle.net. This text is usually displayed by clients in yellow.
- This is error information supplied by Battle.net. This text is usually displayed by clients in red.
- This is sent when any user (including self) uses the emote feature in chat.