wiki:SC2ReplayFormat

Version 2 (modified by mseifert, 11 years ago) (diff)

Added documentation of replay.info

Sc2Replay

WARP currently supports the extraction of the following information from .SC2Replay files:

  • Player name
  • Player race
  • Player color
  • Game duration
  • Game version
  • Chat log
  • Map preview

The following is a documentation of SC2Replay files.

File Structure

SC2Replay files contain an mpq archive with 8 files. The archive starts at an offset of 1024 bytes. The types used in this documentation are:

TypeDescription
int8A single byte.
int16Two bytes.
int32Four bytes.
stringOne byte that represents the length of the following string. The string has as many characters, as the byte's value
bytesXA number of bytes whose functions and grouping are unknown, where X represents the number of bytes.

All types are Big-Endian.

replay.info

This file contains information about the players and the game in general. All offsets are relative to the described block, unless specified otherwise.

The first part of this file simply stores the player names.

OffsetTypeDescription
0x00int8 Number of player names that are contained in this block. This value usually is 0x10 i.e. 16.

Now, for each player, the entry looks the following:

OffsetTypeDescription
0x00stringPlayer name.
stringLengthbytes5Unknown.

The unknown values always seem to be 0, except for the last two players. The name of the second last player is always an empty string, the name of the last player is always "Dflt".

The player block is followed by:

OffsetTypeDescription
0x00bytes9Unknown. Probably something that has to do with the map.
0x09stringSome kind of checksum or hash. Usually 76 bytes long (75 without the length indicator of the string).