FriendsOfGalaxy/galaxy-integration-steam

Steam offline bug

Opened this issue Β· 499 comments

Describe the bug
While trying to log in to steam with plugin in the GOG app tries to load but it always ends with a message "Offline. Try again."

To Reproduce

  1. Launch GOG Galaxy
  2. Try to log in with your steam account
  3. The "Offline" message should pop up

Expected behavior
An expcted behaviour should be the abillity to log in and synchronise my games within the GOG Galaxy launcher

Just chiming in to say that I have this issue as well.

Same here.

I have it too. It seems to have started in the last GOG update (2.0.60, I think).

4nd commented

+1

Same here

Hi, I have the same problem.

I had steam integration running. But in the last days y need reinstall GOG because when try update I have a error. The updater recommended reinstall Galaxy, and I did it.

All integrations are running, except steam. I try download, and I try use old plugin (I had backup) always have de same error.
I see in the menu "Offline. Try again."
And my steam plugin log:
2023-03-09 23:17:20,644 - steam_network.websocket_client - ERROR - Failed to establish authenticated WebSocket connection RuntimeError('Session is closed')
2023-03-09 23:17:20,644 - root - ERROR - Task exception was never retrieved

I'm login correctly sure. I closed old GOG configuration in steam security tool.
But when steam gard musth show my code, appear a message Translation: only you mush use code if you phone don't have internet access.

Steam wants you use QR code. Capture with your phone and continue. It is possible this is the problem?

I also have this issue as of the last GOG update.

I was having some problems updating GOG, due to having the standalone and also the Epic Games version both installed.
Uninstalling both and reinstalling just the standalone version fixed that problem.
And now I'm having this issue when trying to connect GOG to Steam.
After I login to Steam in the pop-up window and inserting the code from the Steam app, I just have the "Offline Retry" next to the "Disconnect" button.

I have the same issue.

asgump commented

+1

RaveVR commented

I hope someone still working on this cuz I got the same issue, why it happened all of sudden. I shouldn't update GOG Galaxy.

+1

+1

same issue

+1

+1

Same for me - uninstalled and reinstalled several times, manually gone through and deleted all references to GOG in my system files. Tried installing an older version also, but that didn't work. Still just get 'Steam offline'.

Same case here.

+1

Same here, took a few hours to check what was happening.
Everything seems fine, except the plugins never gets a ClientNewLoginKey message from Steam, which makes the authentication call time out and be reported as error to Gog Galaxy.
Behind the scene, everything seems to be synchronizing fine as the authentication round completes otherwise successfully.

I looked at updating the protobuf model, and while there are some suspicious changes and deprecation, it is hard to tell whether there has been major protocol changes just by looking at data definitions.

Note that this is not an isolated issue, looking at this one on SteamKit.
SteamRE/SteamKit#1197

weblue commented

is it possible to manually switch for public_profiles for now? I deleted my old plugin folder (and my saved profile, I'm guessing), so I'm not sure how the public_profiles BackendMode will get my profile name

Edit:

public_profiles prompts for SteamID64, so that's at least figured out. It also fails with the "Offline" and bad retry link

crw614 commented

is it possible to manually switch for public_profiles for now? I deleted my old plugin folder (and my saved profile, I'm guessing), so I'm not sure how the public_profiles BackendMode will get my profile name

Edit:

public_profiles prompts for SteamID64, so that's at least figured out. It also fails with the "Offline" and bad retry link

public_profiles doesn't work too

weblue commented

This repo features pretty outdated documentation. Been trying to follow the README UPDATE PROTOBUF FILES, but invoke command doesn't work with the instructions given (step 3 in the update protobuf readme)

Getting this set up on a windows env has been a nightmare, and I'm not even sure I have the right .proto files (grabbed the ones from ValvePython/steam repo)

weblue commented

@FriendsOfGalaxy I do not think this is can be fixed by outside coders due to the lack of a tasks.py for the invoke command (or fixed documentation, if I'm misunderstanding).

+1 Is this integration abandoned?

+1 Is this integration abandoned?

I desperately hope not - 90% of my library is steam. Is there a workaround?

Yep, same issue. Started after latest GoG Galaxy update for me. It's really frustrating that out of 13 integrations (not including the "official" ones), 7 of them don't work now.

It sure looks abandoned, the last update was on November 4, 2021. It's a pitty GoG doesn't invest some ressources in maintaining the integrations. Without Steam integration, GoG Galaxy is pretty much pointless. :( Of course, anybody with the proper background could fix it. I don't have the proper background, though :(
Maybe we can ask ChatGPT ;)

Krynh commented

+1 Is this integration abandoned?

Yes. Last activity from @FriendsOfGalaxy was on the 8th September 2021

This repo features pretty outdated documentation. Been trying to follow the README UPDATE PROTOBUF FILES, but invoke command doesn't work with the instructions given (step 3 in the update protobuf readme)

Getting this set up on a windows env has been a nightmare, and I'm not even sure I have the right .proto files (grabbed the ones from ValvePython/steam repo)

I went through this part, I could generate from the Steam proto linked in the documentation using the protobuf compiler directly.
Using the old referenced version of protobuf (3.18.1) gives a matching output, with the updated definitions of course.

The issue with this whole Steam WebSocket based protocol is that, AFAIK, this is not an official public API.
I expect this is reverse engineered from the Steam client itself, and it looks like something significant might have changed there in the login process.
Someone will have to catch up on that front first before this can be fixed I am afraid.

I wonder if the SteamLibrary integration code from Playnite could be of any help:
https://github.com/JosefNemec/PlayniteExtensions/tree/master/source/Libraries/SteamLibrary

+1

smeep0 commented

+1

+1

+1. I saw someone make a fork with a commit about an hour ago, don't know if they're gonna try to do a pull request with a fix or if that's unrelated.

Also having the same problem for the past few days.

+1. I saw someone make a fork with a commit about an hour ago, don't know if they're gonna try to do a pull request with a fix or if that's unrelated.

Sounds good. What happens with a PR if the owner of the repo is no longer active? Can it be approved by someone else?

Got it at least buildable now..
Still working on a fix but it's a start: https://github.com/thibmo/galaxy-integration-steam/tree/fix_steam_2023_01

Managed to pull all info, just not getting the "remember me" token :/
Working on fixing that.

CMsgClientUpdateMachineAuthResponse never gets sent, a cloo

thibmo, thanks for your efforts! Good luck

@thibmo many thanks for all your efforts, very much appreciated!
Will you changes be pulled into the FoG Master Branch (and hence be a new version number triggering an update of the plugin), or do we have to apply any fixes on our own?
Or, are you planning to keep your own branch up to date with own version numbers?

again, many thanks
Rei

I'll just make a PR. mhm
It's a bit challenging working through this thing, not knowing the proper auth flow, which seems to have changed.

as one of the many here without any clue on coding, we simply have (and do!) trust you!
again, thanks for picking this up!

@thibmo yes the auth flow seems to have competely changed last year AFAIK, maybe this helps:
SteamRE/SteamKit#1125

SteamRE/SteamKit#1129
Yeah I just noticed it. Time to completely rewrite auth I guess.. smile

hello, here to report since i updated from windows10 to windows11 i have this issue, dunno if it has something to do with that, thought i would be usefull

No. It is a general and global issue. Main Devs haven't updated the integration since a long time, but it seems other Devs are helping right now. LetΒ΄s hope they can be succesful.

gOOvER commented

Someone should for FriendsOfGalaxy and start again. Looks like, FriendsOfGalaxy is dead

gOOvER commented

I found
https://playnite.link/

and switched to this.

To be honest I am also trying out playnite myself now.. after being a GOG Galaxy fan all these years since it came out.

I found https://playnite.link/

and switched to this.

Nowhere near as nice of an interface or as simple to use as GOG Galaxy. The answer to wanting to have the Steam integration functionality restored in GOG Galaxy isn't "switch to a completely different launcher".

i saw some people talking about this playnite app and after some time figuring out how to set some plugins and themes, have to say its a really good alternative to gog galaxy, it even has a gog theme that feels a lot like the real thing, for now and since it seems the community in this app is more active, i will be using this one

I found https://playnite.link/

and switched to this.

Ok I tried, it's just amazing how much customization is possible. No turning back now, just too good

I found https://playnite.link/
and switched to this.

Ok I tried, it's just amazing how much customization is possible. No turning back now, just too good

I have been using it for roughly a year, now. It is indeed absolutely great! The only thing I really miss which GoG does pretty well: you can't synchronize across devices. If you play a game on your laptop/Steam Deck and on your PC, you have to manually update the play count on the devices, or depending on the platform, also the playtime. But that's only an issue if you even care about those statistics ;) I am currently using Playnite as my main launcher on the PC, and GoG Galaxy on the laptop for that reason.

Guys, we're getting off track here, take the Playnite stuff somewhere else please.

RaveVR commented

i saw some people talking about this playnite app and after some time figuring out how to set some plugins and themes, have to say its a really good alternative to gog galaxy, it even has a gog theme that feels a lot like the real thing, for now and since it seems the community in this app is more active, i will be using this one

Indeed, it's decent, i checked it and i just can't get over it, i even downloaded this GOG theme. I don't feel it, it's weird, not many options and features like GOG Galaxy has. This issue is dedicated to GOG Galaxy and let it stay that way, a replacement application has been given for those who are willing and let's finish the Playnite topic. I just add downloaded games on Steam with option "Add game manually" and I will continue to use our Galaxy application. Let's hope someone who knows how, will get this done.

wp4nuv commented

Has anyone considered using their web API at https://steamcommunity.com/dev?snr=
I agree that, at this point, whatever login functions exist, they were based on an older Steam client. Steam has revamped its login process to use QR codes as the preferred method.

I've created a fork so I can try my hand at this. I'm not really into the Python ecosystem, so if anyone knows how to create a workable build (including manifest.json, etc.) I would be much obliged.

I've created a fork so I can try my hand at this. I'm not really into the Python ecosystem, so if anyone knows how to create a workable build (including manifest.json, etc.) I would be much obliged.

pip3 (or pip) install fog.buildtools invoke source is here

invoke release from the source dir of this

PS: I use Python maybe once a year, but found this with about 3 minutes of Googling. It's not rocket surgery.

@steakknife interesting, I guess your google-fu is better than mine. However, I still can't get this to build. It looks like the humblebundle and amazon integrations have a tasks.py file defining a release task.

Bertaz commented

@thibmo maybe you already found it, but this is a live implementation of SteamRE/SteamKit#1129.

Might also be useful to look at the rest of JustArchiNET/ArchiSteamFarm steam authentication code

@steakknife interesting, I guess your google-fu is better than mine. However, I still can't get this to build. It looks like the humblebundle and amazon integrations have a tasks.py file defining a release task.

Hi, @thibmo's forked branch has updated instructions on the README for how to build and test. I was able to follow through each step successfully to build the Steam integration from scratch. Hope that helps.

I have the same issue too. I see the latest version of this integration is kinda old - Nov 4, 2021.

Is there any solution for mac users? 32-bit version of python 3.7.9 doesn't exist for mac to build from source :(

I started having this issue for the first time today

@steakknife interesting, I guess your google-fu is better than mine. However, I still can't get this to build. It looks like the humblebundle and amazon integrations have a tasks.py file defining a release task.

Hi, @thibmo's forked branch has updated instructions on the README for how to build and test. I was able to follow through each step successfully to build the Steam integration from scratch. Hope that helps.

I tried all this and it's all greek to me, can you please help me out? It sounds like you fixed yours?

I found this in logs. Maybe can be of help. I am not familiar with Python.

2023-03-23 22:44:01,369 - galaxy.task_manager - ERROR - Task manager plugin internal: exception raised in task 1 (shutdown)
Traceback (most recent call last):
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\galaxy\task_manager.py", line 21, in task_wrapper
    result = await coro
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\galaxy\api\plugin.py", line 283, in shutdown
    await asyncio.wait_for(self.shutdown(), 30)
  File "D:\obj\Windows-Release\37win32_Release\msi_python\zip_win32\tasks.py", line 416, in wait_for
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\plugin.py", line 190, in shutdown
    await self._backend.shutdown()
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\backend_steam_network.py", line 148, in shutdown
    await self._cancel_task(self._steam_run_task)
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\backend_steam_network.py", line 153, in _cancel_task
    await task
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\websocket_client.py", line 102, in run
    await run_task
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\protocol_client.py", line 192, in run
    await self._protobuf_client.run()
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\protocol\protobuf_client.py", line 92, in run
    packet = await asyncio.wait_for(self._socket.recv(), 0.1)
  File "D:\obj\Windows-Release\37win32_Release\msi_python\zip_win32\tasks.py", line 416, in wait_for
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\websockets\protocol.py", line 474, in recv
    "cannot call recv while another coroutine "
RuntimeError: cannot call recv while another coroutine is already waiting for the next message
2023-03-23 22:44:01,372 - steam_network.websocket_client - DEBUG - Expected WebSocket disconnection
2023-03-23 22:44:01,372 - steam_network.websocket_client - INFO - Closing websocket
2023-03-23 22:44:01,372 - steam_network.websocket_client - INFO - Closing protocol client
2023-03-23 22:44:01,372 - steam_network.websocket_client - ERROR - Failed to establish authenticated WebSocket connection RuntimeError('Session is closed')
2023-03-23 22:44:01,373 - root - ERROR - Task exception was never retrieved
future: <Task finished coro=<WebSocketClient.run() done, defined at [REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\websocket_client.py:74> exception=RuntimeError('Session is closed')>
Traceback (most recent call last):
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\websocket_client.py", line 77, in run
    await self._ensure_connected()
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\websocket_client.py", line 199, in _ensure_connected
    async for ws_address in self._websocket_list.get(self.used_server_cell_id):
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\websocket_list.py", line 38, in get
    sockets = await self._fetch_new_list(cell_id)
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\websocket_list.py", line 33, in _fetch_new_list
    servers = await self._http_client.get_servers(cell_id)
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\steam_http_client.py", line 18, in get_servers
    response = await self._http_client.get(url)
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\http_client.py", line 22, in get
    return await self._request("GET", url, *args, **kwargs)
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\http_client.py", line 19, in _request
    return await self._session.request(method, url, *args, **kwargs)
  File "[REDACTED]\AppData\Local\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\aiohttp\client.py", line 399, in _request
    raise RuntimeError("Session is closed")
RuntimeError: Session is closed

Can anyone please fix this or find a solution to have this work? I can throw you 5 or 10 bucks via pay pal sometime around the 1st

@FaithTheSlayer I concur, I would also throw in another 10€ as a bugfixing bounty!

@steakknife interesting, I guess your google-fu is better than mine. However, I still can't get this to build. It looks like the humblebundle and amazon integrations have a tasks.py file defining a release task.

Hi, @thibmo's forked branch has updated instructions on the README for how to build and test. I was able to follow through each step successfully to build the Steam integration from scratch. Hope that helps.

Really needs a built download available. Most people aren't going to want to install Python just for this. Trying to build other people's source is a pain in the backside, and the average user isn't going to have a clue anyway.

  1. Installed python 3.7.9 winget install Python.Python.3.7
  2. protoc-3.18.1 -> protoc.exe in %LOCALAPPDATA%\Programs\Python\Python37
  3. $env:PATH += ";${env:LOCALAPPDATA}\Programs\Python\Python37"
  4. Grab the code @ 9ef43407c389a39382e539d7956acfa4415aca72
  5. Extract somewhere
  6. pip install -r requirements\dev.txt
  7. inv generate-protobuf-messages build test pack # note: test_integration.py fails, but it's unrelated
  8. inv install # installs to the local machine
  9. Start GOG
  10. (No change as of 9ef4340.)

I found this in logs. Maybe can be of help. I am not familiar with Python.

2023-03-23 22:44:01,369 - galaxy.task_manager - ERROR - Task manager plugin internal: exception raised in task 1 (shutdown)

More than likely, authentication failed because of a protobuf problem where the client didn't send what the server expected. The server hung up while the client tried to read from a closed connection. I wouldn't put much effort into this because it's clearly deprecated and abandoned. Any multiple game platform app should be a compiled native app because performance of GOG Galaxy written in Python is comparable to the speed of the DMV. It needs a rewrite rather than trying to keep it on ECMO in the code hospital when it needs hospice and to pull the plug.

  1. Installed python 3.7.9 winget install Python.Python.3.7
  2. protoc-3.18.1 -> protoc.exe in %LOCALAPPDATA%\Programs\Python\Python37
  3. $env:PATH += ";${env:LOCALAPPDATA}\Programs\Python\Python37"
  4. Grab the code @ 9ef43407c389a39382e539d7956acfa4415aca72
  5. Extract somewhere
  6. pip install -r requirements\dev.txt
  7. inv generate-protobuf-messages build test pack # note: test_integration.py fails, but it's unrelated
  8. inv install # installs to the local machine
  9. Start GOG
  10. (No change as of 9ef4340.)

Soo by no changes I take it this didn't work?

Would it be worth checking out OAuth authentication instead? (https://partner.steamgames.com/doc/webapi_overview/oauth)

  1. Installed python 3.7.9 winget install Python.Python.3.7

    1. protoc-3.18.1 -> protoc.exe in %LOCALAPPDATA%\Programs\Python\Python37

    2. $env:PATH += ";${env:LOCALAPPDATA}\Programs\Python\Python37"

    3. Grab the code @ 9ef43407c389a39382e539d7956acfa4415aca72

    4. Extract somewhere

    5. pip install -r requirements\dev.txt

    6. inv generate-protobuf-messages build test pack # note: test_integration.py fails, but it's unrelated

    7. inv install # installs to the local machine

    8. Start GOG

    9. (No change as of 9ef4340.)

@steakknife
Did this solve the issue?

  1. Installed python 3.7.9 winget install Python.Python.3.7

    1. protoc-3.18.1 -> protoc.exe in %LOCALAPPDATA%\Programs\Python\Python37
    2. $env:PATH += ";${env:LOCALAPPDATA}\Programs\Python\Python37"
    3. Grab the code @ 9ef43407c389a39382e539d7956acfa4415aca72
    4. Extract somewhere
    5. pip install -r requirements\dev.txt
    6. inv generate-protobuf-messages build test pack # note: test_integration.py fails, but it's unrelated
    7. inv install # installs to the local machine
    8. Start GOG
    9. (No change as of 9ef4340.)

@steakknife Did this solve the issue?

I've been waiting 4 days for an answer to that lol

Same problem for me also.

gOOvER commented

Same problem for me also.

everyone have this problem and sind FoG is dead, there are not really updates anymore

I've given up on GOG Galaxy and switched to Playnite. It authenticated my steam account on the first try with no issues.

gOOvER commented

same for me; Galaxy was fine; Playnite is a lot better

I would love a fix because I like how GOG Galaxy groups a game and shows the icons in which platform you have it. Playnite repeats them all. You can have the same game in Epic, Steam, gog, Humble, Playstation, 4 or 5 times repeated

gOOvER commented

I would love a fix because I like how GOG Galaxy groups a game and shows the icons in which platform you have it. Playnite repeats them all. You can have the same game in Epic, Steam, gog, Humble, Playstation, 4 or 5 times repeated

https://playnite.link/addons.html#felixkmh_DuplicateHider_Plugin

;)

Only shown 1 time with a little icon in the corner where you own the game

I was able to make it work somehow by two small fixes in %LOCALAPPDATA%\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\backend_steam_network.py file:

  1. _get_websocket_auth_step(self) function (line 186): comment out or delete exception raising and return success operation code instead (timeout value was also decreased to 20 seconds, not sure if it has affected something):
async def _get_websocket_auth_step(self):
        try:
            result = await asyncio.wait_for(
                self._websocket_client.communication_queues["plugin"].get(), 20
            )
            return result["auth_result"]
        except asyncio.TimeoutError:
            return UserActionRequired.NoActionRequired
            #raise BackendTimeout() 
  1. _handle_two_step(self, params, fail, finish) function (line 229): explicitly return Authentication object instead of self._check_public_profile(). Without this edit the plugin shows warning "2FA authentication failed, falling back to public profile" but still imports Steam library.
        if result != UserActionRequired.NoActionRequired:
            return next_step_response(fail, finish)
        else:
            self._auth_data = None
            self._store_credentials(self._user_info_cache.to_dict())
            return Authentication(self._user_info_cache.steam_id, self._user_info_cache.persona_name)
  1. Restart GOG Galaxy and re-enter Steam credentials.

I was able to make it work somehow by two small fixes in %LOCALAPPDATA%\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\backend_steam_network.py file:

Can confirm, this worked for me as well

Same issue.

I was able to make it work somehow by two small fixes in %LOCALAPPDATA%\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\backend_steam_network.py file:

1. `_get_websocket_auth_step(self)` function (line 186): comment out or delete exception raising and return success operation code instead (timeout value was also decreased to 20 seconds, not sure if it has affected something):
2. `_handle_two_step(self, params, fail, finish)` function (line 229): explicitly return Authentication object instead of `self._check_public_profile()`. Without this edit the plugin shows warning  "2FA authentication failed, falling back to public profile" but still imports Steam library.
3. Restart GOG Galaxy and re-enter Steam credentials.

Can confirm, this fixed it!

But, to add to my last reply - even if this is a working, temporary fix, we still need a long term solution. The next time Steam change their API or access requirements, things might be (even more) dire without any active development on the integration.

I was able to make it work somehow by two small fixes in %LOCALAPPDATA%\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\backend_steam_network.py file:

The file was one directory higher for me.

The sync took a long while, but it did update the library and gametime.
Though restarting the galaxy client makes it go to "offline" again and clicking "retry" does absolutely nothing.

At least for me.

I was able to make it work somehow by two small fixes in %LOCALAPPDATA%\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\backend_steam_network.py file:

I wonder if I have a bigger problem, I don't even have the backend_steam_network.py file in my folder.

I was able to make it work somehow by two small fixes in %LOCALAPPDATA%\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\backend_steam_network.py file:

Few problems.

  1. I don't have this file in steam_network folder, even if i delete whole plugin and download it again.
  2. My backend_steam_network.py file is directly in steam_ca27391f-2675-49b1-92c0-896d43afa4f8 folder.
  3. If i edit this file with Notepad++ and save it. I do not even get ask for Steam Credentials, it just goes straight to Plugin has crashed.

I also try with https://github.com/thibmo/galaxy-integration-steam/tree/fix_steam_2023_01 looks promising, but 0 results, cause i probably don't understand something. Any help please? I really would love to make it work in any way ^_^

Yes, restarted GOG and tried to do everything when GOG was disabled, also in task manager.

Dorque commented

I was able to make it work somehow by two small fixes in %LOCALAPPDATA%\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8\steam_network\backend_steam_network.py file:

The file was one directory higher for me.

The sync took a long while, but it did update the library and gametime. Though restarting the galaxy client makes it go to "offline" again and clicking "retry" does absolutely nothing.

At least for me.

Yeah this looks to be a temporary solution only. The plugin does log in with username+password+2FA successfully, but the plugin is not grabbing the token correctly to use for subsequent authentication calls, like when you restart galaxy. This temporary fix makes it continue even without getting the correct token.

I have been looking through the code for days but am not familiar with the way it uses web sockets to authenticate so have not been successful in figuring out how to get, store, and authenticate with this token.

Yeah no, this solution is just crashing for me. I don't think step 2 lines up with what's showing up in the code. Also backend_steam_network.py is also in the folder above steam_network for me.

Yeah no, this solution is just crashing for me. I don't think step 2 lines up with what's showing up in the code. Also backend_steam_network.py is also in the folder above steam_network for me.

for everyone that's crashing; make sure your indentation is correct. Python annoyingly cares about whitespace. Each indent should be 4 spaces, no tabs. So if something is indented twice that's 8 spaces, three times is 12 spaces, etc.

Yeah no, this solution is just crashing for me. I don't think step 2 lines up with what's showing up in the code. Also backend_steam_network.py is also in the folder above steam_network for me.

for everyone that's crashing; make sure your indentation is correct. Python annoyingly cares about whitespace. Each indent should be 4 spaces, no tabs. So if something is indented twice that's 8 spaces, three times is 12 spaces, etc.

Someone could share please, a working file backend_steam_network.py with no mistakes for all of us? please?

Someone could share please, a working file backend_steam_network.py with no mistakes for all of us? please?

Attached mine. Yes, it's actually in the root folder of plugin, apparently I've copy-pasted incorrect directory path. Just extract the archive contents into "%LOCALAPPDATA%\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8" folder.
backend_steam_network.zip

Someone could share please, a working file backend_steam_network.py with no mistakes for all of us? please?

Attached mine. Yes, it's actually in the root folder of plugin, apparently I've copy-pasted incorrect directory path. Just extract the archive contents into "%LOCALAPPDATA%\GOG.com\Galaxy\plugins\installed\steam_ca27391f-2675-49b1-92c0-896d43afa4f8" folder. backend_steam_network.zip

Worked like a charm! Thanks, great work for sharing ready file. It is something and i am happy till my games will dissappear. I hope that someone will get this done for the future.