Open correii opened 7 months ago
There are two parts to this issue. I will address them separately.
The installer should parse some Steam files to determine where your Steam libraries are and scan all your libraries. If it is not scanning one of your libraries, that is a bug, please provide your install logs for further investigation.
If you still need to manually specify a library location, it's possible to do so by specifying a "STEAM_LIBRARY" environment variable:
STEAM_LIBRARY=/path/to/your/library ./install.sh
I try to document all project decisions here on GitHub in some way or another.
The method for executing MO2 was decided back when Proton 6.3 was released, alongside updates to the Steam runtime that broke the old execution method. In search for a better long-term solution, using Steam shortcuts was analysed, and ultimately turned down because the analysis result was:
I fear any solution based on shortcuts would be highly unstable and difficult to maintain.
The current solution does not edit any information on Steam. It replaces the game executable with the steam-redirector. The redirector then executes MO2 instead of executing the game itself.
This information is available in a lot more detail in #275
Of course nothing is set in stone. If new developments have made Steam shortcuts a more viable option, I'd be awesome to use them.
Apologies for making a duplicate issue to this.
Anyways, I have experimented to see if I can work around the issue, and I got a working install, so I want to share what I did in case it helps. I hardcoded these options, but I'd recommend having an option where the user is prompted for their "non-steam game" steam appid and game install path, or alternately, provides them in a command line argument or environment variable, to skip the usual detection.
The non-steam game's steam appid can be found with "protontricks -s"
1) Install game normally 2) Move install dir elsewhere (and uninstall from steam UI) 3) Add SkyrimSELauncher.exe as a non-steam game and set appropriate proton version 4) Insert steam_appid.txt into the install root directory of the game, containing the actual steam appid for the game (For me, this was necessary to make skyrim launch, rather than cueing Steam to try to install the game again) 5) Rewrite game_appid in your game's .sh script in gamesinfo (in my case, gamesinfo/skyrimspecialedition.sh) to the appid of your non-steam game environment 6) Comment out the error-handling code in pages 24-29 of load_gameinfo.sh 7) Rewrite line 31 and hardcode the location to your game's install 8) Run ./install.sh as normal
This appeared to work for me. I have a working skyrim mod organizer install and have added some basic mods like SkyUI to confirm it worked.
Edit: I saw a related issue is about supporting the GoG version of the game. I would suspect that the same workaround procedure would work for that version (skipping step 4, since it is only necessary for Steam DRM)
Is it possible to manually specify the location of a games files instead of having the installer automatically detect it?
I’ve had an issue where games aren’t detected by the launcher because they’re installed outside of where it checks for them.
As far as I can tell, there is no option to manually specify the location with the current installer.
I understand that the installer relies on editing the steam shortcut for a game to launch MO2, but I see no reason that it shouldn’t be possible to edit a “non-Steam game” shortcut added to my Steam library, when the underlying game was installed by Steam.
Example: installing a game from Steam and then adding the .exe as a “non-Steam game” to create separate instances of it. i.e. separate save files and mod lists without needing to edit them constantly.
More specific example: having a hardcore survival instance, a vanilla+ instance, and a goofy meme instance. With the goal of being able to easily launch each one from Steam without having to tinker with MO2 each time.
This should be quite easy to achieve on Linux with separate proton prefixes, but is limited by the way the MO2 installer works at the moment. (Unless I’m wrong, in which case I’ll delete this and be on my way.)
If there is a guide on how to do an entirely manual install of MO2 on Linux without using the installer, please leave a link below so I can try it out.