Open phtran72 opened 4 years ago
Hi @phtran72 thanks for giving your repro.
Both computers are on the same network (router/modem/ISP).
Both machines are always on, and both usually have Galaxy running. It's just that if I connect to steam on one Galaxy client, then when the Galaxy client on the other computer has to reconnect, Steam goes "Offline retry". A 100% method to reproduce is to open Galaxy on one computer, connect to steam, then close Galaxy. Go to the other computer, start Galaxy and steam won't connect. Disconnect and reconnect to steam works, but then when I go back to the first computer and start Galaxy, steam won't connect for it.
I usually have the Steam client running alongside the Galaxy client. None of my clients autostart, but after playing a few games, both Steam and Galaxy are usually up and running at the same time on both computers. To be clear, I don't use more than one client at a time as it's just me in the home.
I will try to do the longer wait time test and let you know my results.
Update:
I waited >12h between switching from one computer to the other and steam still disconnects.
Thanks, that's helpful. I'll inform you on any progress.
@phtran72 can you test this build? I've randomized server list to chose the one we're trying to connect to. steam_random_server.zip (windows build)
You can use it only on one machine I guess. Just close Galaxy remove remove %localappdata%\GOG.com\Galaxy\plugins\installed\steam-.... and unpack zip in %localappdata%\GOG.com\Galaxy\plugins\installed\
Ah, never mind, it didn't help
Hey @FriendsOfGalaxy I'm happy to help debug this issue too as I have the same problem currently and can recreate easily. Having a quick look at the logs the error I'm getting is this like the others
2020-10-06 17:39:47,792 - protocol.protobuf_client - INFO - Failed to log on, reason : eresult: 5 eresult_extended: 5 count_loginfailures_to_migrate: 0 count_disconnects_to_migrate: 0
When you first login to the plugin what data do you provide steam with to get a token in return? Do you have the steam api doc that you've integrated with?
Cheers
@josh-loveholidays for eresult 5 subscribe to issue #74
Most probably the main problem root is the same but eresult 5 in general is broader symptom.
If you have 2 machines with Galaxy running in the same network you can stay in this issue.
@josh-loveholidays @phtran72
please try out this build (windows only):
unique_ip.zip
This build adds custom obfuscated_private_ip
for LogOn message (I've just used hash of computer MAC address). Works for me - I'm no longer kicked off from a registered session.
To install:
steam_...
)Test scenario:
plugin-steam-...
logs from C:\ProgramData\GOG.com\Galaxy\logs
from machine 1plugin-steam...
logs from C:\ProgramData\GOG.com\Galaxy\logs
If works, then we will ask people from #74 to try it out as well.
Wouldn't the test build have to go into \downloaded? Doesn't make sense to first unzip and then delete the plugin (unless their directory names in the \installed folder are different of course)
I was not able to look at the zip content so far, so apologies if covered via different plugin directory name
@ReiTung no, installed folder is proper destination at least for unchanged version in the manifest file.
You can firstly remove old plugin and then upack the zip, does not make any difference. Folder from zip has a different name so there won't be a conflict. Galaxy reads plugins based on manifest from within each top level directory, the directory name can be whatever
Checked, thanks
I am happy to report than with the unique_ip plugin on my laptop and the old plugin on my desktop, I can stay connected to Steam on both computers, after multiple restarts of the Galaxy client on each machine.
I have tested this too and it's working for me. One thing I will say is on first attempt I missed the instruction to leave galaxy running on machine 1 when logging in on machine 2 and the issue persisted. I have the new plugin installed on both machines and all seems to be working now. Thank you very much for your efforts with this @FriendsOfGalaxy
One thing I will say is on first attempt I missed the instruction to leave galaxy running on machine 1 when logging in on machine 2 and the issue persisted.
That is interesting. Could you confirm that if you run a new plugin on machine 1, then close Galaxy then run a new plugin on machine 2, then open Galaxy on machine 1, the issue persists (Offline, retry)?
Hi @FriendsOfGalaxy yes I can confirm that the above is the case. Also after initial success I have returned to use my desktop after a few days using my laptop and I'm back having the issue on my desktop.
@josh-loveholidays thanks for clarification. Can you provide logs from the both machines? I need to verify if there is a problem with LogOff message (the one more thing I've seen last time)
hi @FriendsOfGalaxy attached is the logs from my desktop(offline). I'll grab the ones from my laptop too. plugin-steam-ca27391f-2675-49b1-92c0-896d43afa4f8.log
and here is the latest from my laptop(the one that is still connected) [Uploading plugin-steam-ca27391f-2675-49b1-92c0-896d43afa4f8.log…]()
@josh-loveholidays thanks for log. The second was not updated properly but I've found somehting in the first one.
I can see in your first log that we there was no "shutdown" at 2020-10-11 20:27:43,544 like the process was crashed, or killed. Then the problem with login occurred. We also ignore SessionTicket messages. I'll dig into this clues on next iteration.
I've tried the same with Steam (killing process and checking for communication) but on next Steam app login I see no procedural difference - it just work.
Created a pull request to fix this issue: https://github.com/FriendsOfGalaxy/galaxy-integration-steam/pull/104 Please review/test so we could merge it.
Additionally, anyone who wants to reconnect to Steam without losing their stats, consider this pull request: https://github.com/FriendsOfGalaxy/galaxy-integration-steam/pull/103
I'm testing @SparrowBrain approach. Anyone interested - please test it as well!
Note on steam error's, to make it recorded for future researchers:
I've discovered that if you're running parallel plugin instance in the same network you'll get eresult 34 https://steamerrors.com/34. In the last release I've fixed typo https://github.com/FriendsOfGalaxy/galaxy-integration-steam/commit/c911e3d6eca0286eb971f35b0af83a9814e511ac#diff-14899f45016d44e5631a47a9dd0456753752785cbf8796950bf3980c8ad91ab1R326 and now you should see the eresult 34 as a reason for LogOut message coming from Steam.
I believe eresult 34
reason of logout for plugin 1 while you're login into plugin 2 (with the same obfuscated_private_ip
) is one of the sources for eresult 5 when you try to log-in with old token again.
Hello people, @josh-loveholidays @phtran72 @ReiTung
has the 0.55 version helped with this issue?
I was testing a bit with v0.54 recently (other issues), and did not update to v0.55 yet due to lack of time this week. I will do v0.55 testing this weekend for the issue.
I just installed 0.55, but it wouldn't connect until I disabled server caching. Once I did that, however, I can reliably connect and reconnect repeatedly on two machines. I was not able to reconnect on two machines with 0.54.
I will run 0.55 w/ server caching disabled for a while and see if I experience any unexpected disconnects.
Ok thanks @phtran72 I consider disabling cache for all users now.
Could you please test w/ server caching enabled but proceeded by with removing old plugin cache?
I re-enabled server caching on 0.55, deleted the plugin databases, and have been able to connect and reconnect several times on both machines over the course of 25 hours so far.
I will run the plugin like this on at least two computers and update the thread if I experience any disconnects.
Today, only one of my two machines was able to reconnect to steam when I opened Galaxy on both of them. Both machines were running 0.55 unmodified for 4-5 days before the failure occurred.
I will run 0.55 w/ server caching disabled on both machines now.
So, after about three days, one of my machines failed to reconnect to steam when I restarted Galaxy. The other machine reconnected successfully. They were both running 0.55 w/ server caching disabled.
Could you provide logs if you still have them? This might be a different issue we need to hunt down.
I just installed 0.55, but it wouldn't connect until I disabled server caching. Once I did that, however, I can reliably connect and reconnect repeatedly on two machines. I was not able to reconnect on two machines with 0.54.
I will run 0.55 w/ server caching disabled for a while and see if I experience any unexpected disconnects.
not seeing anything like that so far with v0.55 - connect worked directly after plugin installation. (special version incl. #108 and the different disconnect behavior). Will do some more testing with the second machine and keep you posted.
I'm seeing that even on the machine that went "offline retry" with the Steam plugin, my list of Steam games gets updated to include new games that I buy from the Steam website. Is this expected behaviour? My other PC's Steam plugin is still connected. I guess my connected PC updated my Steam library on GOG's servers, and my "offline retry" PC is pulling the new games from GOG?
@phtran72 yes, but the same would happen if you have no plugin connected on first PC at all.
@phtran72 can you test this build? I've randomized server list to chose the one we're trying to connect to. steam_random_server.zip (windows build)
You can use it only on one machine I guess. Just close Galaxy remove remove %localappdata%\GOG.com\Galaxy\plugins\installed\steam-.... and unpack zip in %localappdata%\GOG.com\Galaxy\plugins\installed\
hey just wanted to thank u and let u know, this zip file fixed my "Offline (retry)" issue!
I know that there are existing issues tracking this, but for me, it happens when I switch from using GOG Galaxy 2.0 on my laptop to my desktop or vice versa. My only recourse is to disconnect and reconnect from scratch, but then that causes the client on the other computer to disconnect when I start Galaxy there. I'm on the latest version of the plugin (0.51.2)