Navigation
Generate Code: All packets
Packets
Quick Jump: [ help ]
Battle.net v1 Messages [ + ]
Battle.net v2 Messages [ + ]
Battle.net UDP Messages [ + ]
|
Game Statstrings
Game Statstrings
STAR/SEXP/JSTR/SSHR/W2BN Statstrings are comma delimited, and most fields can be null. Each field is a different format, but they all stick to numeric integers, hexadecimal strings (in lower case), or plaintext strings. The encoding Latin1 is recommended for correct viewing; map names may be UTF-8 or anything else, but will still show up as Latin1 to the client.
STAR/SEXP:
0,1,2,3,4,5,6,7,8,9,10,11
- 0 Saved Game
- Null: This game is not saved.
- Hex String: This is a saved game. The hex string is a DWORD, and is probably a checksum of the save file.
- 1 Map Size
- Null: 128x128
- Two Digit Number: Width and Height of the map, divided by 32.
- Ex: 43 = 4*32 x 3*32 = 128x96
- 2 Max Players
- Null: 8 Player Map
- Value: Number of players allowed on the map, plus 10.
- Ex: 16 = 6 players
- 3 Speed
- 0x00: Slowest
- 0x01: Slower
- 0x02: Slow
- 0x03: Normal
- 0x04/Null: Fast
- 0x05: Faster
- 0x06: Fastest
- 4 Approval
- 0x00: Not Approved
- 0x01: Blizzard Approved
- 0x02: Ladder Approved
- 0x03: PGL Approved
- 0x04: KBK Approved
- 0x05: CompUSA Approved
- 5 Game Type
- 0x02: Melee
- 0x03: Free for All
- 0x04: One vs One
- 0x05: Capture the Flag
- 0x06: Greed
- 0x07: Slaughter
- 0x08: Sudden Death
- 0x09: Ladder
- 0x0A: Use Map Settings
- 0x0B: Team Melee
- 0x0C: Team Free For All
- 0x0D: Team Capture the Flag
- 0x0F: Top vs Bottom
- 0x20: PGL
- 6 Unknown
- This field has only been observed to be Null.
- 7 Game Parameter
- This field is based on the Game Type:
- Melee, Free for All, One vs One, Capture the Flag, Sudden Death, Use Map Settings, PGL
- 0x01: None
- Greed
- 0x01: 2500 Resources
- 0x02: 5000 Resources
- 0x03: 7500 Resources
- 0x04: 10000 Resources
- Slaughter
- 0x01: 15 Minutes
- 0x02: 30 Minutes
- 0x03: 45 Minutes
- 0x04: 60 Minutes
- Ladder
- 0x01: None
- 0x02: Disconnect Counts as a Loss
- Team Melee, Team Free for All, Team Capture the Flag
- 0x01: 2 Teams
- 0x02: 3 Teams
- 0x03: 4 Teams
- Top vs Bottom
- Team Ratios, as gathered by the following Equation:
- val[7] vs (val[2] - 10 - val[7])
- Ex: if (val[2] = 16, val[7] = 2), then "2 vs 4"
- 8 CD-Key Checksum
- This is a hex string DWORD checksum of the creator's CDKey as generated by call #502 of Storm.dll (SStrHash).
- 9 Tileset
- 0x00/Null: Badlands
- 0x01: Space Platform
- 0x02: Installation
- 0x03: Ashworld
- 0x04: Jungle
- 0x05: Desert
- 0x06: Arctic
- 0x07: Twilight
- 10 Replay
- 0x00/Null: Not a Replay
- 0x01: Game Replay
- 11 Creator/Map
- Game's Creator [0x0D] Map Name [0x0D]
JSTR:
0,1,2,3,4,5,6,7,8,9
- 0 Saved Game (Unsure)
- Null: This game is not saved.
- Hex String: This is a saved game. The hex string is a DWORD, and is probably a checksum of the save file.
- 1 Map Size
- Null: 128x128
- Two Digit Number: Width and Height of the map, divided by 32.
- Ex: 43 = 4*32 x 3*32 = 128x96
- 2 Max Players
- Null: 8 Player Map
- Value: Number of players allowed on the map, plus 10.
- Ex: 16 = 6 players
- 3 Speed
- 0x00: Slowest
- 0x01: Slower
- 0x02: Slow
- 0x03: Normal
- 0x04/Null: Fast
- 0x05: Faster
- 0x06: Fastest
- 4 Approval
- 0x00: Not Approved
- 0x01: Blizzard Approved
- 0x02: Ladder Approved
- 0x03: PGL Approved
- 0x04: KBK Approved
- 0x05: CompUSA Approved
- 5 Game Type
- 0x02: Melee
- 0x03: Free for All
- 0x04: One vs One
- 0x05: Capture the Flag
- 0x06: Greed
- 0x07: Slaughter
- 0x08: Sudden Death
- 0x09: Ladder
- 0x0A: Use Map Settings
- 0x0B: Team Melee
- 0x0C: Team Free For All
- 0x0D: Team Capture the Flag
- 0x0F: Top vs Bottom
- 0x20: PGL
- 6 Game Parameter
- This field is based on the Game Type:
- Melee, Free for All, One vs One, Capture the Flag, Sudden Death, Use Map Settings, PGL
- 0x01: None
- Greed
- 0x01: 2500 Resources
- 0x02: 5000 Resources
- 0x03: 7500 Resources
- 0x04: 10000 Resources
- Slaughter
- 0x01: 15 Minutes
- 0x02: 30 Minutes
- 0x03: 45 Minutes
- 0x04: 60 Minutes
- Ladder
- 0x01: None
- 0x02: Disconnect Counts as a Loss
- Team Melee, Team Free for All, Team Capture the Flag
- 0x01: 2 Teams
- 0x02: 3 Teams
- 0x03: 4 Teams
- Top vs Bottom
- Team Ratios, as gathered by the following Equation:
- val[7] vs (val[2] - 10 - val[7])
- Ex: if (val[2] = 16, val[7] = 2), then "2 vs 4"
- 7 CD-Key Checksum
- This is a hex string DWORD checksum of the creator's CDKey as generated by call #502 of Storm.dll (SStrHash).
- 8 Tileset
- 0x00/Null: Badlands
- 0x01: Space Platform
- 0x02: Installation
- 0x03: Ashworld
- 0x04: Jungle
- 0x05: Desert
- 0x06: Arctic
- 0x07: Twilight
- 9 Creator/Map
- Game's Creator [0x0D] Map Name [0x0D]
SSHR:
,1,2,3,4,5,6,7,8,9
- 1 Map Size
- Null: 128x128
- Two Digit Number: Width and Height of the map, divided by 32.
- Ex: 43 = 4*32 x 3*32 = 128x96
- 2 Max Players
- Null: 2 Player Map
- Value: Number of players allowed on the map, plus 10.
- Ex: 16 = 6 players
- 3 Speed
- 0x00: Slowest
- 0x01: Slower
- 0x02: Slow
- 0x03: Normal
- 0x04/Null: Fast
- 0x05: Faster
- 0x06: Fastest
- 4 Approval
- 0x00: Not Approved
- 0x01: Blizzard Approved
- 0x02: Ladder Approved
- 0x03: PGL Approved
- 0x04: KBK Approved
- 0x05: CompUSA Approved
- 5 Game Type
- 0x02: Melee
- 6 Game Parameter
- 0x01: None
- 7 Checksum
- This is a hex string DWORD checksum that seems to always be 2ac374b3, probably because SSHR has no CDKey and only one map.
- 8 Tileset
- 0x00/Null: Badlands
- 9 Creator/Map
- Game's Creator [0x0D] Map Name [0x0D]
W2BN:
0,1,2,3,4,5,6,7,8,9
- 0 Saved Game
- Null: This game is not saved.
- Hex String: This is a saved game. The hex string is a WORD, and is probably a checksum of the save file.
- 1 Map Size
- Null: 128x128
- Two Digit Number: Width and Height of the map, divided by 32.
- Ex: 43 = 4*32 x 3*32 = 128x96
- 2 Max Players
- Null: 8 Player Map
- Value: Number of players allowed on the map, plus 10.
- Ex: 16 = 6 players
- 3 Speed
- 0x00: Slowest
- 0x01: Even Slower
- 0x02: Slower
- 0x03: Slow
- 0x04: Normal
- 0x05/Null: Fast
- 0x06: Faster
- 0x07: Even Faster
- 0x08: Fastest
- 4 Approval
- 0x00: Not Approved
- 0x01: Blizzard Approved
- 0x02: Ladder Approved
- 0x03: PGL Approved
- 0x04: KBK Approved
- 0x05: CompUSA Approved
- 5 Game Type
- 0x02: Melee
- 0x03: Free for All
- 0x04: One vs One
- 0x09: Ladder
- 0x0A: Use Map Settings
- 0x0F: Top vs Bottom
- 0x10: Iron Man Ladder
- 6 Game Parameter
- This field is based on the Game Type:
- Melee, Free for All, One vs One, Use Map Settings, Iron Man Ladder
- 0x01: None
- Ladder
- 0x01: None
- 0x02: Disconnect Counts as a Loss
- Top vs Bottom
- Team Ratios, as gathered by the following Equation:
- val[7] vs (val[2] - 10 - val[6])
- Ex: if (val[2] = 16, val[6] = 2), then "2 vs 4"
- 7 CD-Key Checksum
- This is a hex string DWORD checksum of the creator's CDKey as generated by call #502 of Storm.dll (SStrHash).
- 8 Game Settings
- This field is a bitwise-based hex string, containing specific game settings.
- Each Setting section has a bitwise mask, which should be applied to read the setting. Bitwise fields may be combined, Specific fields can only have one option.
- Options - 0xF00 Mask - Bitwise
- 0x200: One Peon
- 0x400: Fixed Order
- Resources - 0x23000 Mask - Specific
- 0x00/Null: Default
- 0x1000: Low
- 0x2000: Medium
- 0x3000: High
- 0x20000: Random
- Tileset - 0x1C000 Mask - Specific
- 0x00/Null: Default
- 0x4000: Forest
- 0x8000: Winter
- 0xC000: Wasteland
- 0x14000: Random
- 0x1C000: Orc Swamp
- 9 Creator/Map
- Game's Creator [0x0D] Map Name [0x0D]
DRTL/DSHR:
Diablo Statstrings are instead [0x0D] delimited and use the following pattern:
- 0 Difficulty
- 0x00: Normal
- 0x01: Nightmare
- 0x02: Hell
- 1 Creator
- The name of the game's creator
- 2 Creator Statstring
- The statstring of the game's creator. See Chat Statstrings for the format of this field.
D2DV/D2XP:
Diablo II game statstrings are either Null or contain a single digit, usually a 1 or a 2. No information has yet been documented on it.
WAR3/W3XP:
Warcraft III games use a completely different format for SID_GETADVLISTEX, and do not contain a "Statstring" in the classic sense.
|
ALERT
We recommend you use Firefox to view this site. This site has been optimized for Firefox.
|
|
User Comments
For detailed questions and discussion, visit the Battle.net Research Forum
Mar 27, 2008
03:30 PM
If the map name has a 0x0D or a 0x0A, then others will not be able to join.
They will receive a "Unable to join game." message from Battle.net and the information screen will be blank.
(Tested on Starcraft Broodwar)
Im going to play safe and assume that this is because Starcraft cannot parse the invalid statstring.
Oct 03, 2008
02:29 PM
I have done some packet analyzing and I found out the first unknown value. It is the number of players allowed on the map. If the value is blank, then it is an 8 player map, values 12-17 are 2 player maps - 7 player maps.
And #7 does not seem to be the checksum of the map, since it seems to be the same value for me no matter what map I pick.
The other unknown value is set to 1 for a replay game, and set to blank if not.
Also, there is a parameter that lies before the map size... before the first comma and after the game password. The field contains a DWORD in it only when you host a saved game. I am not sure what this data means.
Aug 23, 2009
11:51 AM
The statstring format for Starcraft needs to be updated... I made my bot send the SID_STARTADVEX3 following these specifications and it had the blank info come up.
Now, that is not saying I do not have a working statstring, because I do. I may find time later on to update this with my working statstring, and ansichart's findings.
Apr 09, 2010
09:24 PM
Got this info regarding Starcraft Shareware games. Will be doing the rest of them soon as well:
Game Statstring: ,33,12,6,,2,1,2ac374b3,,RealityRipple(0x0D)Byways(0x0D)
Map Size: 33 3*32,3*32 96x96
Players: 12 2 players
Game Speed: 6 Fastest
Approval: - Not Implemented/No Approval/Unknown
Game Type: 2 Melee
Parameter: 1 See above Parameter
Checksum: 2ac374b3
Tileset: blank Badlands
Creator: RealityRipple
MapName: Byways
As for the checksum, http://forum.valhallalegends.com/index.php?topic=17702.msg182264#msg182264 will explain how it is created.
Jun 30, 2010
06:07 AM
That looks about right.
Sep 02, 2010
10:11 PM
Going to check back on these, it's from old research of mine.
DRTL:
Status: 0
Game Type: 7
Language ID: 67698688
Address Family: 0
Port: 2
Host IP: -1290215401
???: 0
???2: 0
Game Status: 0
Time Elapsed: 101580800
Game Name: asdf
Game Pass:
Game Statstring: 0
Host: UssRustolium16 LTRD 19 0 0 101 16 79 105 19312 0
Sep 30, 2010
08:36 PM
7: the Hex Dword is actually a CDKey Hash hashed by SStrHash()
Sep 30, 2010
09:16 PM
Mhmm. Talking to Frost now.
Oct 03, 2010
11:24 PM
Updated.
Feb 25, 2011
04:46 AM
Just want you to know that the hash is easily broken on older games and updating to an installation with a Digital Key is highly recommended.