C>S 0x09 SID_GETADVLISTEX

Transport Layer: Transmission Control Protocol (TCP)
Application Layer: Battle.net v1 TCP Messages (SID)
Message Id: 0x09
Message Name: SID_GETADVLISTEX
Direction: Client to Server
Used By:
Starcraft OriginalStarcraft BroodwarStarcraft SharewareStarcraft JapaneseDiablo RetailDiablo SharewareDiablo IIDiablo II Lord of DestructionWarcraft II BNE
Message Format:
(does not include protocol header)
(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 and DSHR, Game Type is used to specify a level range, ensuring clients receive a list of games with similarly experienced players.

Possible level 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: resources in multiples of 2500 (0x01 = 2500, 0x02 = 5000, etc.)
  • For Slaughter: minutes in multiples of 15 (0x01 = 15, 0x02 = 30, etc.)
  • For Ladder: indicates if disconnects count as a loss (0x01 = Yes, 0x00 = No)
  • For Team Melee: number of teams (0x01 = 2, 0x02 = 3, etc.)
  • For Team Free For All: number of teams (0x01 = 2, 0x02 = 3, etc.)
  • For Team Capture The Flag: number of teams (0x01 = 2, 0x02 = 3, etc.)
  • For Top vs. Bottom: players-to-team ratio (1–7)
  • For all other game types: 0x01 indicates no sub game type

Viewing Filter:

  • 0xFFFF: Use the combination of values in this packet
  • 0xFF80: Show all games
  • For STAR, SEXP, SSHR, and JSTR: set to 0x30
  • For DRTL and DSHR: game sets to 0xFFFF, but setting to 0x00 disables viewing restrictions and shows all games

Reserved (0):

This value is hardcoded to 0x00 by all games.


Number of Games:

Specifies how many games to list.

  • For a full listing: use 0xFF
  • Default for DRTL and DSHR: 0x19
🔖diablodiablo-iidiablo-ii-lord-of-destructionstarcraftstarcraft-broodwarstarcraft-japanwarcraft-ii
| Edited: RealityRipple

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.