• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 00:20
CEST 06:20
KST 13:20
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Classic wins Code S Season 2 (2025)13Code S RO4 & Finals Preview: herO, Rogue, Classic, GuMiho0TL Team Map Contest #5: Presented by Monster Energy6Code S RO8 Preview: herO, Zoun, Bunny, Classic7Code S RO8 Preview: Rogue, GuMiho, Solar, Maru3
Community News
Weekly Cups (June 16-22): Clem strikes back0Weekly Cups (June 9-15): herO doubles on GSL week4Firefly suspended by EWC, replaced by Lancer12Classic & herO RO8 Interviews: "I think it’s time to teach [Rogue] a lesson."2Rogue & GuMiho RO8 interviews: "Lifting that trophy would be a testament to all I’ve had to overcome over the years and how far I’ve come on this journey.8
StarCraft 2
General
Weekly Cups (June 16-22): Clem strikes back Classic wins Code S Season 2 (2025) Weekly Cups (June 9-15): herO doubles on GSL week The SCII GOAT: A statistical Evaluation TL Team Map Contest #5: Presented by Monster Energy
Tourneys
EWC 2025 Online Qualifiers (May 28-June 1, June 21-22) WardiTV Mondays RSL: Revival, a new crowdfunded tournament series Sparkling Tuna Cup - Weekly Open Tournament SOOPer7s Showmatches 2025
Strategy
How did i lose this ZvP, whats the proper response Simple Questions Simple Answers [G] Darkgrid Layout
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 479 Worn Out Welcome Mutation # 478 Instant Karma Mutation # 477 Slow and Steady Mutation # 476 Charnel House
Brood War
General
Who wrote this nonsense about Flash? bonjwa.tv: my AI project that translates BW videos BGH Auto Balance -> http://bghmmr.eu/ BW General Discussion StarCraft & BroodWar Campaign Speedrun Quest
Tourneys
[BSL20] ProLeague Bracket Stage - LB Round 4 & 5 [ASL19] Grand Finals [BSL20] ProLeague Bracket Stage - WB Finals & LBR3 The Casual Games of the Week Thread
Strategy
Simple Questions, Simple Answers I am doing this better than progamers do. [G] How to get started on ladder as a new Z player
Other Games
General Games
What do you want from future RTS games? Stormgate/Frost Giant Megathread Path of Exile Nintendo Switch Thread Beyond All Reason
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread UK Politics Mega-thread Echoes of Revolution and Separation
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [\m/] Heavy Metal Thread Korean Music Discussion
Sports
2024 - 2025 Football Thread TeamLiquid Health and Fitness Initiative For 2023 NHL Playoffs 2024 Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
How Pro Gamers Cope with Str…
TrAiDoS
StarCraft improvement
iopq
Heero Yuy & the Tax…
KrillinFromwales
I was completely wrong ab…
jameswatts
Need Your Help/Advice
Glider
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 33921 users

Parse SC2 Replays

Forum Index > SC2 General
Post a Reply
azndsh
Profile Blog Joined August 2006
United States4447 Posts
Last Edited: 2010-05-10 20:27:16
April 26 2010 09:59 GMT
#1
I know at least several people are working on this... I'm actually doing this for a class project. Maybe someone else will find this useful, or if anyone has stuff to share/contribute that'd be cool as well.

Background
StarCraft 2 replays (.SC2Replay) files are actually MPQ files that you can open with any MPQ editor. There are also MPQ libraries or bindings available online for C, Python, PHP, and probably a few other languages.

Each MPQ file contains a (listfile) that tells you what files are inside, though listing the files is actually optional and was often omitted in older Blizzard games.

Replays

The version and duration are stored at the beginning of the replay in plain view, without MPQ archiving.

Pre Patch 9, most of the metadata was stored in a file called replay.info, and this contained a lot of information that was relatively straightforward to read just by opening it in a text editor and ignoring the unprintable characters.

Patch 9 (0.11.0.15097) changed the way a lot of the information was stored and probably broke most replay parsers.

As of build 15133, the (listfile) shows and contains
  • replay.details (basic metadata)
  • replay.initData (unknown)
  • replay.attribute.events (unknown)
  • replay.game.events (actions)
  • replay.message.events (chat, ping)
  • replay.smartcam.events (presumably player cameras)
  • replay.sync.events (presumably consistency checks)

So far, I've only really looked at the replay.details file, and it's possible to read:
  • players (name.identifier, race, winner, color)
  • map
  • timestamp
  • server
  • game speed

PM me if you want more detailed info on the replay.details file.

Anyway, just putting this thread out there in case anyone else is also interested in or working on this. I'll try to update this as more gets figured out.
TArujo
Profile Joined September 2009
Portugal1687 Posts
April 26 2010 10:07 GMT
#2
hmm cool, i think older parsers (pre-patch 9) couldn't show the winners, good job
prOxi.swAMi
Profile Blog Joined November 2004
Australia3091 Posts
April 26 2010 10:17 GMT
#3
I will be doing this soon for a website I'm working on in C#.

What language are you using?
Oh no
azndsh
Profile Blog Joined August 2006
United States4447 Posts
April 26 2010 10:30 GMT
#4
I'm using Python because I don't actually know any real programming languages (Java is terrible for bit-whacking)
got_quail
Profile Joined March 2010
Canada11 Posts
April 26 2010 10:36 GMT
#5
Awesome, was wondering how to get started on this. I'm a beginner programmer but thought I would give it a shot this May. Thanks for the info.
Bentie
Profile Joined April 2010
Australia18 Posts
April 26 2010 10:38 GMT
#6
On April 26 2010 19:17 prOxi.swAMi wrote:
I will be doing this soon for a website I'm working on in C#.

What language are you using?

This sounds good. So one can just watch replays through the site?
ArdentZeal
Profile Joined March 2010
Germany155 Posts
April 26 2010 11:27 GMT
#7
On April 26 2010 19:38 Bentie wrote:
Show nested quote +
On April 26 2010 19:17 prOxi.swAMi wrote:
I will be doing this soon for a website I'm working on in C#.

What language are you using?

This sounds good. So one can just watch replays through the site?


You would have to implement the game engine itsself for this. So i would guess no

I think he talks about a replay database, with a nice layout displaying all the important information.
Zeiryuu
Profile Joined March 2010
Philippines231 Posts
April 27 2010 02:52 GMT
#8
This is nice...Actually I just finished a libary-like tool that displays replay information. Patch 9 just broke my parser. I'm using C#. Would really appreciate the information you can share about the new replay format.
Please log in or register to reply.
Live Events Refresh
Next event in 6h 40m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nina 251
RuFF_SC2 172
ROOTCatZ 58
StarCraft: Brood War
Sea 7200
Leta 1079
Icarus 6
Dota 2
monkeys_forever560
League of Legends
JimRising 729
Counter-Strike
summit1g11028
Fnx 1672
Super Smash Bros
C9.Mang0733
Mew2King406
Westballz58
Heroes of the Storm
Khaldor151
Other Games
WinterStarcraft477
Maynarde174
NeuroSwarm150
Organizations
Other Games
gamesdonequick1579
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 16 non-featured ]
StarCraft 2
• Berry_CruncH187
• Hupsaiya 70
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Azhi_Dahaki108
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Doublelift5591
• Rush628
• Stunt221
Upcoming Events
Wardi Open
6h 40m
Replay Cast
1d 5h
WardiTV European League
1d 11h
PiGosaur Monday
1d 19h
WardiTV European League
2 days
Replay Cast
2 days
The PondCast
3 days
Replay Cast
3 days
BSL: ProLeague
5 days
SOOP
6 days
[ Show More ]
Sparkling Tuna Cup
6 days
BSL: ProLeague
6 days
Liquipedia Results

Completed

Rose Open S1
2025 GSL S2
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
BSL Season 20
Acropolis #3
KCM Race Survival 2025 Season 2
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
Championship of Russia 2025
RSL Revival: Season 1
Murky Cup #2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025
YaLLa Compass Qatar 2025
PGL Bucharest 2025

Upcoming

CSLPRO Last Chance 2025
CSLPRO Chat StarLAN 3
K-Championship
uThermal 2v2 Main Event
SEL Season 2 Championship
Esports World Cup 2025
HSC XXVII
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.