Blizzard / s2client-proto

StarCraft II Client - protocol definitions used to communicate with StarCraft II.
MIT License
3.76k stars 430 forks source link

unable to play 4.4.0 65895 replays using cmd-line client + protocol #110

Closed ttinies closed 5 years ago

ttinies commented 5 years ago

SITUATION:

I wanted to extract some game information from replays from WCS Valencia 2018 using Blizzard's API protocol. However, it appears an automatically downloaded Battle.net cache does not sufficiently enable a manual launch of the replay using an older version of the game client which allows protocol connections.

PROBLEM STATEMENT:

Cannot play older replays using an older version of the SC2 game client manually launched offline with a valid connection to a compatible API client.

ERROR MESSAGE:

SC2APIProtocol.ResponseStartReplay.Error.LaunchError: 'The launch of this game makes reference to mod or map dependencies which are no longer available.'

STEPS TO REPRODUCE:

  1. remove existing Battle.net folder from the main SC2 application folder.
  2. Modify the command-line launch with the -PrePopulateCache option per these instructions.
    • Adding this option on the command line directly when launching a Base***** version also launches the downloader application, but it crashes.
  3. Place all WCS 2018 - Valencia replays in the main SC2 application folder \ Replays. (For good measure, I also placed the replay files inside the C:\Users\ME\Documents\StarCraft II\Accounts\#######\1-S2-1-####\Replays\Multiplayer folder where other replays are located.)
  4. Click 'Play' on the Blizzard game launcher.
    • A new window appears informing that additional downloads are required.
    • Game data is downloaded successfully; the window indicates as such.
  5. Execute the following command: C:/Program Files (x86)/StarCraft II\Versions\Base65895\SC2_x64.exe -listen 127.0.0.1 -port 16857 -dataDir C:/Program Files (x86)/StarCraft II\ -tempDir C:\Users\ME\AppData\Local\Temp\sc-a0tio9gx\ -displayMode 1 -dataVersion BF41339C22AE2EDEBEEADC8C75028F7D
    • the Base65895 version is downloaded previously when viewing a replay that was played with this game version -- i.e. a WCS Valencia 2018 replay.
    • this exact command works just fine when supplying a different replay in the StartReplay request.
    • the replay is able to launch when double clicking the .SC2Replay file directly.
ttinies commented 5 years ago

combined with issue #109