Generate Code: All packets

Packet Information

Message ID:0x09
Direction:Server -> Client (Received)
Used By:Starcraft Shareware, Starcraft Broodwar, Diablo Shareware, Diablo II, Warcraft II, Warcraft III: The Frozen Throne, Starcraft, Starcraft Japanese, Diablo, Diablo, Warcraft III
Format:(DWORD) Number of games
If count is 0:
(DWORD) Status
Otherwise, games are listed thus:
For each list item:
WarCraft III:
(DWORD) Game Type
(DWORD) Language ID
(WORD) Address Family (Always AF_INET)
(WORD) Port
(DWORD) Host's IP
(DWORD) sin_zero (0)
(DWORD) sin_zero (0)
(DWORD) Unknown (Public = 0x10, Private = 0x11)
(DWORD) Elapsed time (in seconds)
(STRING) Game name *
(STRING) Game password (always empty)
(BYTE) Free slots (character representing hexadecimal number)
(BYTE)[8] Host counter (characters representing reversed hexadecimal number, ex: '20000000' for second time this host has hosted during his session)
(STRING) Encoded map information
All Other Clients:
(WORD) Game Type
(WORD) Sub Game Type
(DWORD) Language ID
(WORD) Address Family (Always AF_INET)
(WORD) Port
(DWORD) Host's IP
(DWORD) sin_zero (0)
(DWORD) sin_zero (0)
(DWORD) Game Status
(DWORD) Elapsed time (in seconds)
(STRING) Game name *
(STRING) Game password
(STRING) Game statstring
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
(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
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
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
Related:[0x09] SID_GETADVLISTEX (C->S), Game Statstrings

User Comments

For detailed questions and discussion, visit the Research Forum

Feb 19, 2011
12:01 AM

Updated for WarCraft III, thanks to RealityRipple.

BNLS Server Status

= Online       = Offline Server Status v1 v2




= Online       = Offline


Site scripts and design copyrights reserved to Don Cullen.
Contents copyrighted to Blizzard and their parent corporation, Vivendi.
Main credits for contents goes to Arta. View the rest of credits.
Demented Minds copyrights reserved to Don Cullen 2003-present.
Copyright infringements will be prosecuted to the fullest extent allowable by law.
Please view our legal disclaimer and terms of service.