Building a modified Steam Plugin for testing/release? #14
-
This is something of a branch off of #2 but i didn't want to bump an old thread. I've been working on fixing the Steam Integration, and i'm at the point where i've gotten over the initial hurdle of figuring out what is actually going on in the plugin and why it's coded as it is (frankly, i still don't know, but i can work with it so it's irrelevant). I am testing the initial calls now, and should the first one work, getting the rest in play will be a much quicker process. It's not guarenteed; i may hit some unseen snag or the code could just not work, but I'm at the point where if i want to let others test it for me, i need to worry about deployment. The code has evolved to a point where 'comment out/replace this line' isn't going to work, as it's like 20 files and we also need an additional package (RSA), which requires including the python module directly in the plugin. I've been doing this manually for testing, but I can't realistically tell other people to aid in testing or work on other parts, let alone when we release. Is there a tasks.py/generic buildtools script i can use as a basis for the steam plugin? Please note i haven't seen any documentation for buildtools and have no idea how it works. I probably could decode it if given enough time, but i really don't want to. I have also never done anything with github workflows, so that code from UPlay is gibberish to me. Again, i could probably spend a while googling how it works (and there may be a tutorial, idk), but i'd very much like to focus on getting the plugin working because it's not a simple fix. Edit: spelling errors |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 13 replies
-
An aside: if anyone here wants to help, we have a discussion where we explain what we're doing and testing at FriendsOfGalaxy/galaxy-integration-steam#164. Another aside: I'd potentially need to do this for the PSN Plugin as well. From what i can tell, the Akamai authentication Sony uses flags the web browser GOG Galaxy uses, so logging in hangs with a security error. This is pretty common from what i can tell, the workaround most projects use is to manually have the user copy an NPSSO cookie after logging in via chrome/edge/etc. I've attempted to circumvent this in various ways, notably using a tab to communicate back to the plugin and even running a local web server in hopes of getting the cookie via an exposed request, but their security is actually pretty good (even if i bypassed CORS policy in the browser, their server would detect the CORS mismatch). I could change the PSN plugin to simply have an input field and have them do what everyone else does and paste that token, if that's a good idea. But, if i did, i'd need a build tool for that plugin as well |
Beta Was this translation helpful? Give feedback.
-
@ABaumher try using the About the PSN plugin and also probably helpful for you work on the Steam plugin. Playnite and its extensions are very well maintained so you could have a look at how they go about things. Here are their Steam and PSN extensions: https://github.com/JosefNemec/PlayniteExtensions/tree/master/source/Libraries/SteamLibrary, https://github.com/XenorPLxx/playnite-library-psn. I'd advise you give them credit if you get any ideas. I personally don't have time to help unfortunately. We're slowly pushing GOG Nebula towards the goal of being an org that can maintain these plugins but with no indication from GOG that we could take over @FriendsOfGalaxy or any indication of anything at all, its become extremely slow. |
Beta Was this translation helpful? Give feedback.
-
Marking this as closed because i have it working. Ty all! |
Beta Was this translation helpful? Give feedback.
@ABaumher try using the
tasks.py
(and check any other changes made for it to work) from here https://github.com/thibmo/galaxy-integration-steam/blob/fix_steam_2023_01. TheREADME.md
lays out how to use it (inv
). The instructions say to create a virtualenv which I believe is a good idea but is not strictly required (helps keep your environment clean and consistent though). And to give credit where credit's due I found this repo from @TheSentry's comment: FriendsOfGalaxy/galaxy-integration-steam#159 (comment)About the PSN plugin and also probably helpful for you work on the Steam plugin. Playnite and its extensions are very well maintained so you could have a look at how they go about thin…