Remarks: | Returns a list of available games and their information. Varies depending on product.
* This field is UTF-8 encoded.
For WarCraft III, map information is encoded using the function found here:
- Encoded data:
- (DWORD) Map Flags
- (BYTE) Map Null 1
- (BYTE) Map Width (playable area)
- (BYTE) Map Null 2
- (BYTE) Map Height (playable area)
- (BYTE) Map Null 3
- (DWORD) Map CRC
- (STRING) Map Path
- (STRING) Game Host
- (BYTE) Map Unknown (possibly a STRING with just the null terminator)
- (BYTE)[20] Unknown (probably a SHA1 hash)
- Possible flags (combine the below settings) for Map Flags:
- Game Speed (mask 0x00000003, unique)
- 0x00000000: Slow
- 0x00000001: Normal
- 0x00000002: Fast
- Visibility setting (mask 0x00000F00, unique)
- 0x00000100: Hide Terrain
- 0x00000200: Map Explored
- 0x00000400: Always Visible
- 0x00000800: Default
- Observers setting (mask 0x40003000, unique)
- 0x00000000: No Observers
- 0x00002000: Observers on Defeat
- 0x00003000: Full Observers
- 0x40000000: Referees
- Other advanced host settings (mask 0x07064000, combinable)
- 0x00004000: Teams Together (team members are placed at neighbored starting locations)
- 0x00060000: Lock Teams
- 0x01000000: Full Shared Unit Control
- 0x02000000: Random Hero
- 0x04000000: Random Races
Non-WarCraft III Game Statstring Field:
For other clients, game statring follows the format found here.
WarCraft III Game Type Field (combine the below settings):
- Game Type (mask 0x000000FF, unique)
- 0x00000001: Custom
- 0x00000009: Ladder
- Map Author (mask 0x00006000, combinable)
- 0x00002000: Blizzard
- 0x00004000: Custom
- Battle/Scenario (mask 0x00018000, unique)
- 0x00000000: Battle
- 0x00010000: Scenario
- Map Size (mask 0x000E0000, combinable)
- 0x00020000: Small
- 0x00040000: Medium
- 0x00080000: Huge
- Observers (mask 0x00700000, unique)
- 0x00100000: Allowed observers ("Full Observers" and "Referees" options)
- 0x00200000: Observers on defeat
- 0x00400000: No observers
- Public/Private (mask 0x00000800, unique)
- 0x00000000: Public game
- 0x00000800: Private game
STAR/SEXP/SSHR/JSTR/W2BN Game Type Field:
- Game Type (unique)
- 0x01: Custom (WAR3/W3XP)
- 0x02: Melee
- 0x03: Free For All
- 0x04: One vs One
- 0x05: Capture the Flag
- 0x06: Greed
- 0x07: Slaughter
- 0x08: Sudden Death
- 0x09: Ladder
- 0x10: Iron man ladder (W2BN)
- 0x0A: Use Map Settings
- 0x0B: Team Melee
- 0x0C: Team FFA
- 0x0D: Team CTF
- 0x0F: Top vs. Bottom
STAR/SEXP/SSHR/JSTR/W2BN Sub Game Type Field:
- For Greed:
- 0x01: 2500 resources
- 0x02: 5000 resources
- 0x03: 7500 resources
- 0x04: 10000 resources
- For Slaughter:
- 0x01: 15 minutes
- 0x02: 30 minutes
- 0x03: 45 minutes
- 0x04: 60 minutes
- For Team Melee, Team Free For All, and Team Capture the Flag:
- 0x01: 2 teams
- 0x02: 3 teams
- 0x03: 4 teams
- For Top vs. Bottom:
- 0x01: 1 v 7
- 0x02: 2 v 6
- 0x03: 3 v 5
- 0x04: 4 v 4
- 0x05: 5 v 3
- 0x06: 6 v 2
- 0x07: 7 v 1
- For Ladder:
- 0x00: Disconnects do not count as loss
- 0x01: Disconnects count as loss
- For Other Game Types:
- 0x01: No sub-game type
DRTL/DSHR Game Type Field:
- 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.
- 0x00: Level 1
- 0x01: Level 2 or 3
- 0x02: Level 4 or 5
- 0x03: Level 6 or 7
- 0x04: Level 8 or 9
- 0x05: Level 10 - 12
- 0x06: Level 13 - 16
- 0x07: Level 17 - 19
- 0x08: Level 20 - 24
- 0x09: Level 25 - 29
- 0x0A: Level 30 - 34
- 0x0B: Level 35 - 39
- 0x0C: Level 40 - 47
- 0x0D: Level 48 - 50
Note that fields from Address Family to sin_zero form a sockaddr_in structure.
Valid status codes:
- This field is the 'Game Status' for non-WarCraft III and the 'Status' when no games are listed for both WarCraft III and other clients.
- 0x00: OK
- 0x01: Game doesn't exist
- 0x02: Incorrect password
- 0x03: Game full
- 0x04: Game already started
- 0x05: Spawned CD-Key not allowed
- 0x06: Too many server requests
|
User Comments
For detailed questions and discussion, visit the Battle.net Research Forum
Feb 19, 2011
12:01 AM
Updated for WarCraft III, thanks to RealityRipple.