-
Notifications
You must be signed in to change notification settings - Fork 72
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
STL immediately closes on launching games with symlinked directory #1132
Comments
Sounds interesting. I don't know why it wouldn't work (maybe STL isn't expanding the realpaths or something) but I don't remember anyone trying this before. I could see there being issues with finding the compatdata properly if we're not using the realpaths which could cause the game to crash, and in general would produce unintended behaviour. I will look into fixing games crashing but I think using a symlinked steamapps folder is going to cause other issues with SteamTinkerLaunch that are not accounted for. |
Is the log you provided definitely from a full game execution? If so, is Steam able to launch the game without SteamTinkerLaunch? I ask because your log file ends abruptly right after it begins to try to parse the start command:
And it looks like it's expanding the symlinked path properly. Perhaps it's having trouble finding a compatdata folder or something. Also, how are you symlinking this? I assumed earlier that your I assumed you had a path like If you installed the game from Steam, moved it, and tried to symlink it into your I'm not sure what this accomplishes either way, as you are launching SkyrimSE from Steam, so I assume this is a legitimate copy of Skyrim. I would like to better understand what you've set up here so that I can replicate it. So overall I am not sure why SteamTinkerLaunch is crashing but I can see that it is expanding the path as expected, and that the path it is expanding to is not a Steam library folder. I have no idea how SteamTinkerLaunch would handle this and where it would look for the compatdata, hopefully it does it by AppID. But there is no indication from the log alone what is going on. If you can elaborate a bit on what you're doing and what you're trying to achieve I can try to replicate it on my end. What folders exactly are you symlinking, is it a full If your log is just incomplete, please upload a complete one. It might also help to run Steam from the commandline and take a look at the standard output, in case SteamTinkerLaunch is somehow crashing. Also, just in case I read the issue template wrong, please make sure that you are only using SteamTinkerLaunch from master. Make sure to uninstall from the AUR and then install from the master branch. |
I am still not sure if it's the same thing you're doing, but I tried moving a game from my The expanded symlink path comes from Steam itself, it appears that Steam resolves the symlink before passing it to SteamTinkerLaunch, so SteamTinkerLaunch never sees the The issue is probably caused by the way we handle start command assuming the Steam launch commands will always have
One approach to possibly fix this is to instead assume that Steam start commands may always have For native titles, we have no such luxury. I don't think we have any solid way here. The first argument with and without the Steam Linux Runtime is the path to My assumption is that we checked Non-Steam Games are handled by checking if the So in summary: this is caused because SteamTinkerLaunch doesn't handle a game launch if the incoming path for a game purchased on Steam (one that has But when using a symlink, Steam only passes the resolved symlink path to SteamTinkerLaunch, so we do not get to see the I am not sure how to resolve this.
I am not sure if this is worth the effort to try and resolve because it could end up causing further problems and introducing brittle logic, for something that I believe could be solved much more simply by creating a separate library folder and moving the game there. I am unsure why you would need to put a symlink to a game or even a full libraryfolder into another libraryfolder. I hope this explanation made a bit of sense. If you have any ideas I'd love to hear them, in particular I'd be interested in hearing more about your use-case here for using a symlink over simply creating another libraryfolder. But ultimately this may not be a feasible issue to resolve as there is not a clean path to doing so that accomodates both native and Proton games and that does so in a robust way. |
Yeah sorry I wasn't clear about that, it is specifically the
That's exactly how I've set it up. Symlink and actual game directory are on the save hard drive and under the same mount point as well if that matters. The reason I've symlinked it is because I try and keep separated modded versions of games (GTA V made me start doing this because I wanted a separate clean version for online and since then I have just stuck to doing stuff like that. In this instance, I have an older modded Skyrim SE in another directory that I don't want to accidentally mess around with).
Looked at it, nothing of note really, I can upload if you want.
Did this just to make sure (although pretty confident the original log was the master branch version) and no change, virtually the same log file (apart from timestamps obviously).
I'm not the most technical person but I pretty much understand your explanation and understand why you don't want to mess around with it in case of anything breaking for a fringe use-case (which is more than fair). Something of interest for this use-case, I read the bit about it expecting I'm probably going to do the above and I think that's a fair compromise. Very thankful you explained everything otherwise I would have never thought about doing this 👍. |
Awesome news! The reason your example works is because we only check for That was a creative solution without creating a new library folder! Although I should mention you can have multiple Steam library folders on the same drive, if you ever need to do that. I think this is a fair compromise too. Apologies there was not a cleaner solution. If anyone reads this in future and has an approach to fix this please comment / open a PR! Closing in favour of the compromise above. |
System Information
Issue Description
When trying to launch a game that has its directory symlinked in 'steamapps' folder, Steam Tinker Launcher will close immediately on startup. Will work correctly again when directory is moved into 'steamapps' folder and is no longer symlinked to elsewhere.
Logs
steamtinkerlaunch.log
The text was updated successfully, but these errors were encountered: