google-deepmind / pysc2

StarCraft II Learning Environment
Apache License 2.0
8.04k stars 1.16k forks source link

Failed to open the map archive: #25

Closed yukang2017 closed 7 years ago

yukang2017 commented 7 years ago

After I run the command 'python -m pysc2.bin.play --replay 0a0acb390e984a69e57406bc40a57e910b6bf8e352cbfa93f5ee7be6acca5e70.SC2Replay' to play a replay downloaded from the replay packs 3.16.1 - Pack 1, I receive this error:

pysc2.lib.remote_controller.RequestError: SC2APIProtocol.ResponseReplayInfo.Error.ParsingError: 'Possible corruption - Failed to open the map archive: /Users/Shared/Blizzard/Battle.net\Cache/fd/88/fd8898dbe586fa967760980debcad0ce20610fb447cd0697c109d4ebf7d1d5cf.s2ma'

However, I check the Cache folder, the required file is there.

Thanks!

H-Park commented 7 years ago

Can you open the replay in question in the official blizzard released game? If you don't have a copy of the game, feel free to send me the replay and I will attempt to play it for you in the game.

yukang2017 commented 7 years ago

Thank you. It's not a big problem. I can play it on Linux, but cannot on Mac in the official blizzard released game. The replay file is download from https://github.com/Blizzard/s2client-proto#downloads

rayenough commented 7 years ago

@TuringsEgo I have the same problem in Linux. I downloaded replay packs from blizzard sc2 github site, extracted to replay folder, can't load replay from it. However I can load replays played by me.

H-Park commented 7 years ago

I am not a blizzard or google employee

I downloaded the replay pack and the replay in question loaded fine for me in game, in windows.

What all have you tried to fix the issue? Would you clear you cache and try loading the replay (and map) from a more permanent file location?

KevinCalderone commented 7 years ago

@rayenough Did you extract the Battle.net folder as well?

rayenough commented 7 years ago

@KevinCalderone Blizzard only provided compressed replays files, didn't see battle.net folder inside the compressed file.

KevinCalderone commented 7 years ago

@rayenough Please see issue #9. We made a mistake when uploading the pack initially. It has been reuploaded and now includes the Battle.net folder. Sorry for the confusion.

Here is the new download link: http://blzdistsc2-a.akamaihd.net/ReplayPacks/3.16.1-Pack_1-fix.zip

HaibeiZhu commented 5 years ago

Actually I got the same error even with the Battle.net folder.

pysc2.lib.remote_controller.RequestError: SC2APIProtocol.ResponseReplayInfo.Error.ParsingError: 'Could not open initData for the replay: C:\Users\xx\AppData\Local\Temp\StarCraft II\TempReplayInfo.SC2Replay'

Is it because of the map files? Thanks

GoingMyWay commented 4 years ago

Actually I got the same error even with the Battle.net folder.

pysc2.lib.remote_controller.RequestError: SC2APIProtocol.ResponseReplayInfo.Error.ParsingError: 'Could not open initData for the replay: C:\Users\xx\AppData\Local\Temp\StarCraft II\TempReplayInfo.SC2Replay'

Is it because of the map files? Thanks

Hi, @zhuseashell Have you fixed it?

HaibeiZhu commented 4 years ago

Actually I got the same error even with the Battle.net folder. pysc2.lib.remote_controller.RequestError: SC2APIProtocol.ResponseReplayInfo.Error.ParsingError: 'Could not open initData for the replay: C:\Users\xx\AppData\Local\Temp\StarCraft II\TempReplayInfo.SC2Replay' Is it because of the map files? Thanks

Hi, @zhuseashell Have you fixed it?

Hi @GoingMyWay Actually, I haven't fixed it. I used Blizzard/s2client-proto directly to parse replay data.

GoingMyWay commented 4 years ago

Actually I got the same error even with the Battle.net folder. pysc2.lib.remote_controller.RequestError: SC2APIProtocol.ResponseReplayInfo.Error.ParsingError: 'Could not open initData for the replay: C:\Users\xx\AppData\Local\Temp\StarCraft II\TempReplayInfo.SC2Replay' Is it because of the map files? Thanks

Hi, @zhuseashell Have you fixed it?

Hi @GoingMyWay Actually, I haven't fixed it. I used Blizzard/s2client-proto directly to parse replay data.

This bug occurred when I want to play the replay file.

HaibeiZhu commented 4 years ago

Actually I got the same error even with the Battle.net folder. pysc2.lib.remote_controller.RequestError: SC2APIProtocol.ResponseReplayInfo.Error.ParsingError: 'Could not open initData for the replay: C:\Users\xx\AppData\Local\Temp\StarCraft II\TempReplayInfo.SC2Replay' Is it because of the map files? Thanks

Hi, @zhuseashell Have you fixed it?

Hi @GoingMyWay Actually, I haven't fixed it. I used Blizzard/s2client-proto directly to parse replay data.

This bug occurred when I want to play the replay file.

I think if you just want to play (or parse) the replays, you could directly use the Blizzard API. However, if you need to do RL research, then you would need to fix this issue. Although I didn't fix this, I guess this may be related to your game installation.

GoingMyWay commented 4 years ago

Actually I got the same error even with the Battle.net folder. pysc2.lib.remote_controller.RequestError: SC2APIProtocol.ResponseReplayInfo.Error.ParsingError: 'Could not open initData for the replay: C:\Users\xx\AppData\Local\Temp\StarCraft II\TempReplayInfo.SC2Replay' Is it because of the map files? Thanks

Hi, @zhuseashell Have you fixed it?

Hi @GoingMyWay Actually, I haven't fixed it. I used Blizzard/s2client-proto directly to parse replay data.

This bug occurred when I want to play the replay file.

I think if you just want to play (or parse) the replays, you could directly use the Blizzard API. However, if you need to do RL research, then you would need to fix this issue. Although I didn't fix this, I guess this may be related to your game installation.

Hi, I want to play the replay to make videos for my research project presentation. Do you know how to use the API of Blizzard to play the replay?

HaibeiZhu commented 4 years ago

Actually I got the same error even with the Battle.net folder. pysc2.lib.remote_controller.RequestError: SC2APIProtocol.ResponseReplayInfo.Error.ParsingError: 'Could not open initData for the replay: C:\Users\xx\AppData\Local\Temp\StarCraft II\TempReplayInfo.SC2Replay' Is it because of the map files? Thanks

Hi, @zhuseashell Have you fixed it?

Hi @GoingMyWay Actually, I haven't fixed it. I used Blizzard/s2client-proto directly to parse replay data.

This bug occurred when I want to play the replay file.

I think if you just want to play (or parse) the replays, you could directly use the Blizzard API. However, if you need to do RL research, then you would need to fix this issue. Although I didn't fix this, I guess this may be related to your game installation.

Hi, I want to play the replay to make videos for my research project presentation. Do you know how to use the API of Blizzard to play the replay?

Sure, you could check the repo of "Blizzard/s2client-api", and then check the function of "s2client-api/examples/replay.cc". "replay.cc" can help you with play replays. You may need to slightly modify the code.

GoingMyWay commented 4 years ago

Actually I got the same error even with the Battle.net folder. pysc2.lib.remote_controller.RequestError: SC2APIProtocol.ResponseReplayInfo.Error.ParsingError: 'Could not open initData for the replay: C:\Users\xx\AppData\Local\Temp\StarCraft II\TempReplayInfo.SC2Replay' Is it because of the map files? Thanks

Hi, @zhuseashell Have you fixed it?

Hi @GoingMyWay Actually, I haven't fixed it. I used Blizzard/s2client-proto directly to parse replay data.

This bug occurred when I want to play the replay file.

I think if you just want to play (or parse) the replays, you could directly use the Blizzard API. However, if you need to do RL research, then you would need to fix this issue. Although I didn't fix this, I guess this may be related to your game installation.

Hi, I want to play the replay to make videos for my research project presentation. Do you know how to use the API of Blizzard to play the replay?

Sure, you could check the repo of "Blizzard/s2client-api", and then check the function of "s2client-api/examples/replay.cc". "replay.cc" can help you with play replays. You may need to slightly modify the code.

Thanks, that is that CPP code, OK, I will try it.

GoingMyWay commented 4 years ago

Actually I got the same error even with the Battle.net folder. pysc2.lib.remote_controller.RequestError: SC2APIProtocol.ResponseReplayInfo.Error.ParsingError: 'Could not open initData for the replay: C:\Users\xx\AppData\Local\Temp\StarCraft II\TempReplayInfo.SC2Replay' Is it because of the map files? Thanks

Hi, @zhuseashell Have you fixed it?

Hi @GoingMyWay Actually, I haven't fixed it. I used Blizzard/s2client-proto directly to parse replay data.

This bug occurred when I want to play the replay file.

I think if you just want to play (or parse) the replays, you could directly use the Blizzard API. However, if you need to do RL research, then you would need to fix this issue. Although I didn't fix this, I guess this may be related to your game installation.

Hi, I want to play the replay to make videos for my research project presentation. Do you know how to use the API of Blizzard to play the replay?

Sure, you could check the repo of "Blizzard/s2client-api", and then check the function of "s2client-api/examples/replay.cc". "replay.cc" can help you with play replays. You may need to slightly modify the code.

Hi, the s2clientprotocol/sc2api.pb.h is not found, how can I get them?

H-Park commented 4 years ago

@yukang2017 is this still a problem? I have it when I run pysc2.bin.replay_info, but I get around it but explicitly setting the game version in run_configs.get(version={VERSION}).

@GoingMyWay your issue is unrelated to PySC2, but I'm not convinced it's an issue with Blizzard/s2client-api itself, but rather how you're compiling replay.cc.

mrquorr commented 4 years ago

I was having this issue running on Windows 10. I think the issue was that the replay was from an old game version. I fixed it by running the replay on the game client so it downloaded the necessary files by itself.

miguelgondu commented 3 years ago

One small comment: this just happened to me on MacOS. For some reason it was reading the Battle.net in /Users/Shared/Blizzard/Battle.net. I fixed it by copying the Battle.net folder from /Applications/StarCraft II/Battle.net into that one.