Technikfrage: Starcraft Replays binaer auslesen

AIL

Mitglied seit
17.03.2001
Beiträge
1.966
Reaktionen
0
Ort
Ilmenau
Nunja, SC2Gears konnte das vor Patch 1.1

Seitdem kann es das nicht mehr. Grund ist offembar eine Änderung des Formates.

Da 1.1 schon sehr lange draußen ist, scheint niemand außer Blizzard die Spezifikation des Formates zu kennen.

Wie man das ohne irgendwelche Spezifikationen rausbekommen soll, ist mir unklar. Wenn ich da mit 'nem Editor reinschaue sehe ich jedenfalls keinerlei Ansatz.
 
Mitglied seit
30.08.2010
Beiträge
45
Reaktionen
0
Hallo,

danke fuer deine Antwort - SC2Gears schaue ich mir mal an! Ich habe gerade recht interessante Klassen gefunden, sogar in PHP, mit dem ich das vorhatte (C# hatte ich auch ueberlegt).

http://code.google.com/hosting/search?q=label:starcraft
bzw.
http://code.google.com/p/phpsc2replay/

Scheinbar ist das Grundformat MPQ. Sagt mir zwar nichts und wenn ich die PHP-Klasse dafuer angucke, scheint das auch sehr "binaer" zu sein (wer haetts gedacht), aber damit kann ich schonmal was anfangen.

Vielleicht hat ja jemand aber noch naehere Infos oder Erfahrungen.
 
Mitglied seit
05.08.2010
Beiträge
11
Reaktionen
0
Ich hab auch schon einen kleinen Parser dafür geschrieben, für Matchinformationen und Chat.
Produktion kannst du aber vergessen, das liegt an der Art, wie diese Informationen gespeichert werden:
Wenn du z.B. eine Einheit/ein Gebäude bauen willst, wo du nur einmal genug Mins/Gas für hast, aber die Taste mehrmals drückst, werden auch mehrere Baubefehle aufgezeichnet.
Die Starcraft-Engine kann das verarbeiten, ein externer Parser wohl nicht.
APM ist ebenfalls aus dem selben Grunde sehr schwer möglich.

Im übrigen hat Blizzard im Patch 1.1 die ganzen Ability Codes ( und auch andere Kleinigkeiten ) geändert, sodass alle bisher angesammelten Informationen (phpsc2replay) auch nicht mehr stimmen.
 

AIL

Mitglied seit
17.03.2001
Beiträge
1.966
Reaktionen
0
Ort
Ilmenau
Kannst du Rassen und Gewinner rauslesen? Wenn ja genügt das ja schonmal der Anforderung, dass man seine eigenen Win/Loss-Ratios analysieren kann.
 
Mitglied seit
05.08.2010
Beiträge
11
Reaktionen
0
Also, ich habe mal eben nachgesehen ... folgende Sachen funktionieren noch:
-Map
-Player Namen, Farben, Rassen, Teams, Handicap ( auch wenn man das wohl nie braucht )
-Winner müsste auch gehen, muss das gleich mal mit paar Replays testen, wo ich noch weiss, wer gewonnen hat :D

Hatte das ganze in C# geschrieben, werde nochmal die Tage über den Code gehen und ihn dann veröffentlichen, wenn Interesse besteht.
 

Deleted_504925

Guest
Also, ich habe mal eben nachgesehen ... folgende Sachen funktionieren noch:
-Map
-Player Namen, Farben, Rassen, Teams, Handicap ( auch wenn man das wohl nie braucht )
-Winner müsste auch gehen, muss das gleich mal mit paar Replays testen, wo ich noch weiss, wer gewonnen hat :D

Hatte das ganze in C# geschrieben, werde nochmal die Tage über den Code gehen und ihn dann veröffentlichen, wenn Interesse besteht.
geht das auch mit 1.1. ?
den scgears kann seit dem patch keine daten mehr auslesen
 
Mitglied seit
05.08.2010
Beiträge
11
Reaktionen
0
So, ich habe das ganze mal ein wenig schöner gemacht und nun gibts auch was zu gucken :D

Einmal gibts die Binary-Version, also nur die ausführbaren Dateien, für alle, die wissen wollen, wie es nun aussieht:
http://dl.dropbox.com/u/2807226/ReplayParserBin.zip
Einfach ein Replay per Drag and Drop reinziehen und er zeigt Map, Teams und Gewinner an.
Bisher noch nicht sehr funktionell im Bezug auf die Auswertung von vielen Replays, daran werde ich aber noch arbeiten.

Wer den Quellcode haben will, kann ihn gerne haben, aber ich würde euch bitten, mir dafür einen PN zu schreiben ( will ihn in der jetzigen Version noch nicht komplett veröffentlichen ).

Und es gibt noch einen Screenshot:
ReplayParser.PNG


Das ganze ist bisher noch nicht sehr weit entwickelt, aber da werde ich die nächsten Tage/Wochen wohl noch dran arbeiten ;)
 
Mitglied seit
12.08.2010
Beiträge
304
Reaktionen
0
ICH hab ne FRAGE *meld*

Bin gerade Fantasielos: Wofür will man so einen Parser schreiben? (mir fallen schon ein Paar Gründe ein wie Kathegorisierung, Persistierung ... ) Also genauer, was wollt ihr damit machen? xD
 
Mitglied seit
17.03.2002
Beiträge
226
Reaktionen
0
Website
insidevienna.blogspot.com
Nunja, SC2Gears konnte das vor Patch 1.1

Seitdem kann es das nicht mehr. Grund ist offembar eine Änderung des Formates.
s2gears 3.0 kommt bald (hab die sprach.xml gestern bekommen) und wenn sie in 1.2 nichts am replay code geändert haben, dann sollte sc2gears ab morgen oder so wieder einsatzbereit sein.

ICH hab ne FRAGE *meld*
Bin gerade Fantasielos: Wofür will man so einen Parser schreiben?
(statistische) Analyse von Replays.
 
Mitglied seit
20.09.2010
Beiträge
229
Reaktionen
0
s2gears 3.0 kommt bald (hab die sprach.xml gestern bekommen) und wenn sie in 1.2 nichts am replay code geändert haben, dann sollte sc2gears ab morgen oder so wieder einsatzbereit sein.

Die neue Version von SC2 Gears (3.0) ist schon zumindest seit heute draußen.

MMn ein super Tool
 
Oben