-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Xbox Game Pass Support #175
Comments
As I explained in the GameFinder README, I've deprecated Xbox Game Pass support, mainly because it wasn't used and modding Game Pass games wasn't really supported by anything when the service first came out. Some interesting posts on the internet regarding modding Game Pass games:
I'm personally not using Xbox Game Pass, so I'm curious what the modding experience is like. Games used to be installed into Can you provide more details on the modding experience? Where the game is installed, how you install mods, and which type of mods don't work for the Xbox Game Pass version? |
I was able to provide a custom path for the game installation. All types of mods work there. We have issues with the fact that they switched from .NET Framework to .NET Core, but not counting that everything works. |
I'm not familiar with Bannerlord modding, do you use any code injection mods? Something like ReShade, ENB or some script extender which uses detours/hooks to inject custom code at runtime? For Bethesda games (Skyrim/Fallout), these have been causing the most issues. |
Yep. We decided to provide our own executable as a workaround. It lacks Xbox Profile support and I'm not sure whether we can do something with adding it back. If now, we'll patch out any integration with it |
The game can work without code injection at start. Then the official executable is able to load custom installed mods |
I haven't really concerned myself with game pass too much either but some things I've picked up, take with a grain of salt: However: Games can be released in a way that explicitly allows modding, those will be installed into a directory named "ModifiableWindowsApps", e.g. "c:\program files\modifiablewindowsapps\fallout 4 (PC)", those are, as the name implies, modifiable and modding should work mostly as usual. Further: Not all games require mods to be installed into the game directory, mods for Sims 4 for example (which is available through game pass afaik) are installed to %USERPROFILE%\Documents\Electronic Arts so modding should be possible just fine (with the exception of reshade of course). Vortex supports modding on a bunch of games installed through game pass, we can use that as reference for some testing. |
I might aswell throw my hat in since I have some very limited experience with MSStore/GamePass [dating back to late last year]. Here's some info for installations outside of DetectionWhen you install a game outside of the WindowsApps directory; a They seem to use the following structure u8 magic[4]; // RGBX
u32 numDirectories; // I haven't verified this, might be worth double checking
for (int x = 0; x < numDirectories; x++)
Utf16String directory; // null terminated Should be trivial to parse. Read/Write PermsFor games using this system, the following seems to apply.
Runtime QuirksLaunching the game binaries will launch a stub launcher. What it does is anyone's guess. It could maybe decrypt the EXE, put it in a protected location and boot the game; or maybe it does something else; who knows. Querying the location of the main module (EXE) from within the game will give a location like:
Regardless of where your game is installed to. This location seems to change every time the game is updated. For some (all?) games, it's possible to dump unencrypted EXE at runtime using UWPDumper for research purposes. What This Means
|
You can get access to the decrypted executable by dumping it from tools like Process Explorer or Hacker, don't rememeber which one. This way you could determine what stub dll to use for injection. We could mimic this. Request a one time launch and parse the PE header to gain candidates for injection. |
Game Detection for Xbox Game Pass https://modding.wiki/en/vortex/developer/game-detection#windows-store-xbox |
Done in erri120/GameFinder#62 |
Should another issue be created for the Xbox Game Pass integration within the App? |
Not necessary, this will be handled with a dependency update. |
User story
As a user
I want to to be able to use a game from Xbox Game Pass PC
So that it can be modded
Requirements
I can confirm that at least Bannerlord is able to support modding on the Game Pass PC version of the game.
We're able to add new files and use custom executables that should be run instead of the originals.
This will require back support of GamePass via GameFinder, as I understand.
Design
(Any designs required for this story)
DOD
(Describe the expected behaviour from the users point of view. Create multiple DoD's if required to fully describe what should happen. Number each DoD)
Scenario 1
Given _______
When _______
Then _______
The text was updated successfully, but these errors were encountered: