Skip to content
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

GameFinder stops looking for Steam games if any Steam library isn't available #133

Closed
Frogperson opened this issue Mar 11, 2024 · 2 comments · Fixed by #135
Closed

GameFinder stops looking for Steam games if any Steam library isn't available #133

Frogperson opened this issue Mar 11, 2024 · 2 comments · Fixed by #135

Comments

@Frogperson
Copy link

I mistakenly reported this issue to Wabbajack wabbajack-tools/wabbajack#2518

As a quick recap, I have multiple Steam libraries on different drives. If one of these drives isn't plugged in, then GameFinder completely errors out rather than continuing to check my other libraries.

Dynamically removable libraries are an officially supported feature in Steam, so I'm hoping GameFinder can update to properly support them.

@Nutzzz
Copy link
Contributor

Nutzzz commented Mar 11, 2024

You'll note that the exception you report actually occurs in another library that in turn GameFinder is using, NexusMods.Paths, though GameFinder's author @erri120 has had a hand in it.

In any case, I was eventually able to reproduce this. With both drive letters and path mounts located in a drive's root directory, no exception occurred for me with both 4.2.0 and 4.1.0 (the version Wabbajack 3.5.0.1 uses) after a drive is removed; there's an error message that the path isn't found, then it continues to search for additional locations. Steam wouldn't let me create a library with a path mount more than one directory deep off the root (it reports that it's not "empty" even if it is). I had to create the library first, move the data to the new drive, then create a path mount in the folder it was expecting.

The exception occurs on line 90 of SteamHandler.cs in libraryFolder.EnumerateAppManifestFilePaths(). Though there is a check that the directory exists, there isn't a check whether the "steamapps" subdir exists before it attempts to enumerate.

I've got a PR incoming...

@Sewer56
Copy link

Sewer56 commented Jun 5, 2024

This prevents NMA from booting, as we found out today with a user.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants