ABaumher / galaxy-integration-steam

Integration with Steam for Galaxy
Other
770 stars 18 forks source link

Play time isn't imported correctly #42

Open DirkPitt1 opened 1 year ago

DirkPitt1 commented 1 year ago

This integration imported games and achievements correctly but it doesn't seem to add play time at all. I waited for a couple of hours just in case if play times just take much time to sync and tried to restart GOG Galaxy but no change.

Some examples: Vigilantes - 52 minutes according to Steam, 0 on GOG Rock 'n' Roll will Never Die - 15 h Steam, 0 GOG Spyro Reignited Trilogy - 7 h Steam, 0 GOG

It looks like it just thinks thete's no play time and last played time. 2023-07-06 20:23:16,191 - galaxy.api.jsonrpc - INFO - Sending notification: method=game_time_import_success, params={'game_time': GameTime(game_id='545600', time_played=None, last_played_time=None)} 2023-07-06 20:23:16,138 - galaxy.api.jsonrpc - INFO - Sending notification: method=game_time_import_success, params={'game_time': GameTime(game_id='1644080', time_played=None, last_played_time=None)} 2023-07-06 22:21:41,281 - galaxy.api.jsonrpc - INFO - Sending notification: method=game_time_import_success, params={'game_time': GameTime(game_id='996580', time_played=None, last_played_time=None)} 2023-07-06 21:21:41,479 - galaxy.api.jsonrpc - INFO - Sending notification: method=game_time_import_success, params={'game_time': GameTime(game_id='1293830', time_played=None, last_played_time=None)}

_plugin-steam-ca27391f-2675-49b1-92c0-896d43afa4f8.log

DirkPitt1 commented 1 year ago

It seems that play times and last played times got updated today, 3 days after the initial import. Maybe it was some steam issue not this integration bug?

2023-07-09 15:22:28,182 - galaxy.api.jsonrpc - INFO - Sending notification: method=game_time_import_success, params={'game_time': GameTime(game_id='544970', time_played=None, last_played_time=None)} 2023-07-09 15:22:28,182 - galaxy.api.jsonrpc - INFO - Sending notification: method=game_time_import_success, params={'game_time': GameTime(game_id='545600', time_played=52, last_played_time=1688217219)} 2023-07-09 15:22:28,182 - galaxy.api.jsonrpc - INFO - Sending notification: method=game_time_import_success, params={'game_time': GameTime(game_id='546220', time_played=81, last_played_time=1633092834)}

plugin-steam-ca27391f-2675-49b1-92c0-896d43afa4f8.log

ABaumher commented 1 year ago

None typically shows up if the data we get from steam is bogus or missing. I don't think we log the full stats info (a lot of the VDF data tends to give us parse errors when we get unexpected data, it's actually really annoying), so it's not something we can really look at without mods to the source code (and now that it's working, it'd be irrelevant).

The next step in the full rework is stepping back and just logging a lot of the steam messages and seeing what we get and when. The old code just sort of got them, stripped all useful metadata, and then sent them off to other random places in the code. This isn't ideal when trying to fix what we handle to work better (updating play time after you quit a game, for example), so maybe we'll see something that points us to why this is weird.

DirkPitt1 commented 1 year ago

Thanks for your answer and all the good work on this integration. Unfortunately play time sync stopped working again. But knowing that in the future this rework could fix this issue, I can live with this problem for now.