bartok765/galaxy_blizzard_plugin

Blizzard Arcade Collection not showing up from plugin

Opened this issue · 14 comments

I got the Blizzard Arcade Collection and while it shows up in the Battle.net client it doesn't seem to be detected by the plugin. I'm guessing you may need to manually add support/detection for this?

https://github.com/bartok765/galaxy_blizzard_plugin/blob/master/src/definitions.py contains strings for individual games around line 88 , so we probably need a new string there.
Do you find it on https://account.blizzard.com/api/games-and-subs ?

It doesn't show up there, no - at least for me that just seems to list Overwatch and HOTS and Destiny 2.

Poking around the Galaxy log, it does look like it's detecting that the game is installed and then essentially going "WARNING - [rtro] is not known blizzard game. Skipping"

If I'm understanding the way definitions.py works we'd just need the short internal name (which it looks like is "rtro") and the magic number to be able to add it - I guess the question is where do the magic numbers come from haha?

plugin-battlenet-ba170431-0649-482f-863b-d248592f1842.txt

Hi, @micpp42 does #52 works for you? @jordantram is the numerical id available in https://account.blizzard.com/api/games-and-subs?

OK, so it doesn't seem to be fully working for me but it's entirely possible I'm doing something wrong or something is funny. Replicating the changes in #52 in my local definitions.py file does make a line about adding the game to my installed games show up in the log - but it does not appear to actually appear in Galaxy.

plugin-battlenet-ba170431-0649-482f-863b-d248592f1842.txt

@micpp42 in log I see:
2021-02-23 21:13:05,623 - root - WARNING - Skipping unknown game with titleId: 114631173
I suppose it is for Destiny 2 from https://account.blizzard.com/api/games-and-subs ?

EDIT
yea, I forgot we removed Destiny2 because it was removed from Battlen.net some time ago

@micpp42 could you take a look for the issue above?

@micpp42 in log I see:
2021-02-23 21:13:05,623 - root - WARNING - Skipping unknown game with titleId: 114631173
I suppose it is for Destiny 2 from https://account.blizzard.com/api/games-and-subs ?

Yeah, seems to be the titleId listed for Destiny 2 in my games-and-subs

Is it separate launchable/installable item in battle.net? I see that you can purchase this collection in 3 different packs - but those includes mostly other "extra" in-game benefits for different blizzard games. Could you put a screenshot how it looks in battlenet after purchase?

Here's how it shows in battle.net - shows as a separate installable item like any other game
image

image

ok, thanks. And what do you see in https://account.blizzard.com/games after you login?

if yes can you:

  • run devtools Ctrl + Shift + I
  • go to Network tab
  • filter for XHR
  • reload the page
  • search though requests to find arcade string somewhere or maybe 1381257807

It does not show up on the https://account.blizzard.com/games page for some reason
Yes I think this is weird too

Possibly helpful: so when I go to https://account.blizzard.com/transactions and pick the "America" region I can see "The Celebration Collection: Essentials Pack" showing up as a transaction - this is the bundle that included the Arcade collection.

Ah, so the same problem as for Activision games: #24

In logs in %localappdata%/Battle.net/Logs we can see lines like that:

  • [GSAccountProvider] {Main} Querying account level info for account
  • [GSAccountProvider] {Main} Querying game accounts for region:
  • ...

the latter is about game accounts so probably similar as https://account.blizzard.com/games lists. But this game bundle does not have in-game account - maybe that is the reason you didn't found it there?

We need to find better solution to query games ownership info, not particular game account info.
I wonder if we can spot blizzard internal API requests.

One idea is to parse transactions. It looks ugly - we have to hardcode more things, and I'm not sure they have the same format for all regions

Another idea is to check local file
%LocalAppData\Local\Battle.net\Account there is your account id folder and database inside. Maybe that should be parsed to get onwership list.

the drawback is we have to rely on local content - so plugin will return different data if you're not logged in to battlnet locally.