S>C 0x0B SID_GETCHANNELLIST

Transport Layer:Transmission Control Protocol (TCP)
Application Layer:Battle.net v1 TCP Messages (SID)
Message Id:0x0B
Message Name:SID_GETCHANNELLIST
Direction:Server to Client
Used By:Starcraft Original, Starcraft Broodwar
Starcraft Shareware, Starcraft Japanese
Diablo Retail, Diablo Shareware
Diablo II, Diablo II Lord of Destruction
Warcraft II BNE, Warcraft III Reign of Chaos
Warcraft III The Frozen Throne
Message Format:
(does not include protocol header)
(STRING) [] Channel names

Remarks

Contains a list of available channels, each terminated by a null byte. The last item should be empty (just a null byte), indicating the end of the list.

For some reason, Diablo II adds extra data to the channel list (as can be seen in game), and older clients list blocked channels, such as Warez and Backstage.

| Edited: Anonymous

Comments

Leaky

the channel list is seperated by a 0x0D 0x00

Caaaaarrrrlll

Actually, no it's <strong>not</strong> separated by 0x0D 0x00.

It is separated by null-terminators (0x00). You should keep reading until you come across an empty string, or a double 0x00. Of course, you can always keep reading until you reach the end of the packet length, then removing the last channel (if empty), which works also.