• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 12:54
CEST 18:54
KST 01:54
  • 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
TL.net Map Contest #21: Voting10[ASL20] Ro4 Preview: Descent11Team TLMC #5: Winners Announced!3[ASL20] Ro8 Preview Pt2: Holding On9Maestros of the Game: Live Finals Preview (RO4)5
Community News
Chinese SC2 server to reopen; live all-star event in Hangzhou7Weekly Cups (Oct 13-19): Clem Goes for Four0BSL Team A vs Koreans - Sat-Sun 16:00 CET6Weekly Cups (Oct 6-12): Four star herO85.0.15 Patch Balance Hotfix (2025-10-8)80
StarCraft 2
General
RotterdaM "Serral is the GOAT, and it's not close" DreamHack Open 2013 revealed The New Patch Killed Mech! Chinese SC2 server to reopen; live all-star event in Hangzhou Team Liquid Map Contest #21 - Presented by Monster Energy
Tourneys
SC2's Safe House 2 - October 18 & 19 INu's Battles #13 - ByuN vs Zoun Tenacious Turtle Tussle Sparkling Tuna Cup - Weekly Open Tournament $1,200 WardiTV October (Oct 21st-31st)
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 496 Endless Infection Mutation # 495 Rest In Peace Mutation # 494 Unstable Environment Mutation # 493 Quick Killers
Brood War
General
Is there anyway to get a private coach? The Lose More Card BW General Discussion BSL Season 21 OGN to release AI-upscaled StarLeague from Feb 24
Tourneys
300$ 3D!Community Brood War Super Cup #4 [ASL20] Semifinal B Azhi's Colosseum - Anonymous Tournament [Megathread] Daily Proleagues
Strategy
[I] TvZ Strategies and Builds [I] TvP Strategies and Build Roaring Currents ASL final Current Meta
Other Games
General Games
Nintendo Switch Thread Stormgate/Frost Giant Megathread Path of Exile Dawn of War IV ZeroSpace Megathread
Dota 2
Official 'what is Dota anymore' discussion LiquidDota to reintegrate into TL.net
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread SPIRED by.ASL Mafia {211640}
Community
General
Things Aren’t Peaceful in Palestine The Chess Thread US Politics Mega-thread Russo-Ukrainian War Thread Men's Fashion Thread
Fan Clubs
The herO Fan Club!
Media & Entertainment
Series you have seen recently... Anime Discussion Thread [Manga] One Piece Movie Discussion!
Sports
MLB/Baseball 2023 2024 - 2026 Football Thread Formula 1 Discussion NBA General Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
Certified Crazy
Hildegard
The Heroism of Pepe the Fro…
Peanutsc
Rocket League: Traits, Abili…
TrAiDoS
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1157 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
Wardi Open
14:30
October Qualifier #2
WardiTV1120
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
UpATreeSC 79
BRAT_OK 69
MindelVK 15
StarCraft: Brood War
Britney 35708
Calm 3909
Rain 2076
Jaedong 1037
Horang2 810
Bisu 793
Light 599
Mini 560
EffOrt 523
Larva 454
[ Show more ]
firebathero 437
Shuttle 388
Soma 353
ZerO 297
actioN 213
Snow 207
Soulkey 137
Pusan 132
Free 85
ggaemo 78
Rush 77
sSak 74
Killer 34
Dewaltoss 32
Shinee 23
Movie 22
sorry 21
Bale 15
scan(afreeca) 14
Sacsri 13
Aegong 10
NaDa 5
Hm[arnc] 4
Noble 4
Mong 1
Dota 2
Gorgc6008
qojqva3910
Dendi1446
Fuzer 267
canceldota86
Counter-Strike
fl0m886
byalli366
FunKaTv 49
Other Games
singsing2330
FrodaN847
ceh9587
Lowko401
Skadoodle134
ArmadaUGS108
C9.Mang099
KnowMe82
B2W.Neo70
QueenE60
Mew2King57
Trikslyr49
ZerO(Twitch)23
Organizations
Counter-Strike
PGL392
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• Reevou 1
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• Noizen28
League of Legends
• Jankos3104
• TFBlade846
Other Games
• Shiphtur119
Upcoming Events
PiGosaur Monday
7h 6m
Replay Cast
17h 6m
OSC
23h 6m
Tenacious Turtle Tussle
1d 6h
The PondCast
1d 17h
OSC
1d 19h
WardiTV Invitational
2 days
Online Event
2 days
RSL Revival
3 days
RSL Revival
3 days
[ Show More ]
WardiTV Invitational
3 days
Afreeca Starleague
4 days
Snow vs Soma
Sparkling Tuna Cup
4 days
WardiTV Invitational
4 days
CrankTV Team League
4 days
RSL Revival
5 days
Wardi Open
5 days
CrankTV Team League
5 days
Replay Cast
6 days
WardiTV Invitational
6 days
CrankTV Team League
6 days
Liquipedia Results

Completed

Acropolis #4 - TS2
WardiTV TLMC #15
HCC Europe

Ongoing

BSL 21 Points
ASL Season 20
CSL 2025 AUTUMN (S18)
C-Race Season 1
IPSL Winter 2025-26
EC S1
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual

Upcoming

SC4ALL: Brood War
BSL Season 21
BSL 21 Team A
BSL 21 Non-Korean Championship
RSL Offline Finals
RSL Revival: Season 3
Stellar Fest
SC4ALL: StarCraft II
CranK Gathers Season 2: SC II Pro Teams
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
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.