BNETDocs
C>S 0x09 SID_GETADVLISTEX
Message Id:0x09
Message Name:SID_GETADVLISTEX
Direction:Client to Server
Used By:Diablo II, Diablo II Lord of Destruction
Diablo Retail, Diablo Shareware
Starcraft Japanese, Starcraft Broodwar
Starcraft Shareware, Starcraft Original
Warcraft II BNE
Format:

(UINT16) Game Type
(UINT16) Sub Game Type
(UINT32) Viewing Filter
(UINT32) Reserved (0)
(UINT32) Number of Games
(STRING) Game Name
(STRING) Game Password
(STRING) Game Statstring

Remarks

Retrieves a list of games.

Game Type:

For STAR/SEXP/SSHR/JSTR and W2BN, a value of 0 indicates that any type is acceptable.
Possible game types:
0x00: All
0x02: Melee
0x03: Free for all
0x04: one vs one
0x05: CTF
0x06: Greed
0x07: Slaughter
0x08: Sudden Death
0x09: Ladder
0x10: Iron man ladder
0x0A: Use Map Settings
0x0B: Team Melee
0x0C: Team FFA
0x0D: Team CTF
0x0F: Top vs. Bottom
For DRTL/DSHR, Game Type is used to specify a 'level range'. This ensures that clients receive a list of games containing players whose experience is similar to their own.
Possible ranges:
0x00: Level 1
0x01: 2 - 3
0x02: 4 - 5
0x03: 6 - 7
0x04: 8 - 9
0x05: 10 - 12
0x06: 13 - 16
0x07: 17 - 19
0x08: 20 - 24
0x09: 25 - 29
0x0A: 30 - 34
0x0B: 35 - 39
0x0C: 40 - 47
0x0D: 48 - 50
For all other games, Game Type can be set to 0x00.

Sub Game Type:

For Greed, this is resources in multiples of 2500 (0x01 = 2500, 0x02 = 5000, etc).
For Slaughter, this is minutes in multiples of 15 (0x01 = 15, 0x02 = 30, etc).
For Ladder, this indicates if disconnects count as a loss (0x01 = Yes, 0x00 = No).
For Team Melee, this is the number of teams (0x01 = 2, 0x02 = 3, etc).
For Team Free For All, this is the number of teams (0x01 = 2, 0x02 = 3, etc).
For Team Capture The Flag, this is the number of teams (0x01 = 2, 0x02 = 3, etc).
For Top vs. Bottom, this is the players to team ratio (1-7).
For any other game type, it is 0x01 which indicates no sub game type.

Viewing Filter:

0xFFFF is used to use the combination of values in this packet.
0xFF80 is used to show all games.
For STAR/SEXP/SSHR/JSTR, viewing filter is set to 0x30.
For DRTL/DSHR, viewing filter is set to 0xFFFF by the game, but setting it to 0x00 will disable any viewing limitations, letting you view all games.

Reserved (0):

This value is hardcoded to 0x00 by all games.

Number of Games:

This is the number of games to list. For a full listing, it's safe to use 0xFF. By default, DRTL/DSHR sets this to 0x19.
Comments
Ozzapoo

Any chance you could revise this, and include the values for WAR3 and W3XP in?

Heinermann

Condition 3 is 0xFFFF for SEXP as well.

Heinermann

or 0xFF80 for All Games

Caaaaarrrrlll

Updated according to Frost's documentation as well as the information here.

Thank you for your contributions.

Frostslayer

I don't know if the second DWORD value is zero in ALL games and ALL versions. I do know that it is hard-coded in the current version of Starcraft: Broodwar, though.