如何解析StarCraft 2重放文件(.sc2replay)?有API吗?
我知道Sc2gears,但它不能完全满足我的需要。
发布于 2011-04-04 12:24:53
星际争霸2回放被存储为MPQ,一种由暴雪开发和使用的压缩文件格式。在Wiki页面的底部,您还可以找到指向MPQ解析器的链接。
也许您还想看看以下开源项目:经纱 (用Java编写的星际争霸2重放解析器)或phpsc2replay (用PHP编写的重放解析器)。
更新:到目前为止,还有一个Python库可以读取大量重播数据:sc2reader。这很可能是目前可用的最佳选择(截至2013年3月)。
更新2018年:sc2reader现在由ggtracker
维护。无论如何,sc2reader
现在托管在PyPi上,所以最好的方法就是在sc2readers pypi页面上找到pip install sc2reader
。
发布于 2014-09-09 19:36:32
披露:我是“Scelight和Sc2gears”的作者。
暴雪发布了一个官方的、开源的SC2Replay文件解析器库,名为用python编写的s2protocol:
https://github.com/Blizzard/s2protocol
这是最完整的,最新的,官方的重播解析器。它被认为是参考实现。不过,这是相当低的水平。
还有一个名为斯塞莱的项目(它是Sc2gears的继承者)。在Scelight中有一个设置(一个组合框):Skill level
。如果将其设置为Developer
(首先需要解决一个很小的编程任务来证明开发人员解锁它的技能),就会在replays的检查选项卡中为打开的回放显示大量新信息,这些信息只针对开发人员,包括回放的内部结构,包括每一段回放、十六进制查看器等等。
Scelight还有一个名为外部模块API的扩展接口,它有一个记录良好的API。External提供了对SC2Replay解析器的访问,并且在这里可以在线获得低级别和高级重放内部数据结构的tools.The javadoc:
https://scelightop.appspot.com/scelight-ext-mod-api/
Scelight和Sc2gears都是开源的,您可以看到它们是如何做到的(这两个项目都有超过10万行代码):
发布于 2013-03-06 18:02:21
前一段时间,我一直在分析SC2重放文件。您可以查看我所做的工作,以及我能够反向工程的内容(以及底层有帮助的站点的链接):
https://gamedev.stackexchange.com/questions/10622
复制相似问题