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

Wabbajack can't find Steam game if any Steam libraries are missing #2518

Closed
Frogperson opened this issue Mar 11, 2024 · 4 comments
Closed

Wabbajack can't find Steam game if any Steam libraries are missing #2518

Frogperson opened this issue Mar 11, 2024 · 4 comments

Comments

@Frogperson
Copy link

Describe the bug

Wabbajack is failing to find my "SkyrimSpecialEdition" game if any of my external Steam Libraries are missing, even though the library with Skyrim is available.

Additional Context

I have multiple steam libraries on hot-swappable drives. Steam fully supports this behavior, as evident by the fact that my games instantly appear and disappear when I insert and eject the drive. However, unless I have all of them inserted at the same time, Wabbajack errors out and fails to check any other libraries for my game.

Wabbajack Version

3.5.0.1

Logs

00:00:00.000 [ERROR] (Wabbajack.Downloaders.GameFile.GameLocator) While finding games installed with Steam|System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Games\Hogwarts Legacy\steamapps'.
   at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
   at System.IO.Enumeration.FileSystemEnumerator`1.Init()
   at System.IO.Enumeration.FileSystemEnumerator`1..ctor(String directory, Boolean isNormalized, EnumerationOptions options)
   at System.IO.Enumeration.FileSystemEnumerator`1..ctor(String directory, EnumerationOptions options)
   at NexusMods.Paths.FilesEnumerator..ctor(String directory, String pattern, EnumerationOptions options, IOSInformation os)
   at NexusMods.Paths.FileSystem.InternalEnumerateFiles(AbsolutePath directory, String pattern, Boolean recursive)+MoveNext()
   at GameFinder.StoreHandlers.Steam.SteamHandler.FindAllGames()+MoveNext()
   at System.Collections.Generic.LargeArrayBuilder`1.AddRange(IEnumerable`1 items)
   at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at GameFinder.Common.Extensions.SplitResults[TGame](IEnumerable`1 results)
   at GameFinder.Common.AHandler`2.FindAllGamesById(ErrorMessage[]& errors)
   at Wabbajack.Downloaders.GameFile.GameLocator.FindStoreGames[TGame,TId](AHandler`2 handler, Dictionary`2 paths, Func`2 getPath) in C:\oss\wabbajack\Wabbajack.Downloaders.GameFile\GameLocator.cs:line 117
   at Wabbajack.Downloaders.GameFile.GameLocator.FindAllGames() in C:\oss\wabbajack\Wabbajack.Downloaders.GameFile\GameLocator.cs:line 65
00:00:59.431 [ERROR] (Wabbajack.InstallerVM) Can't find game SkyrimSpecialEdition|System.Exception: Can't find game SkyrimSpecialEdition
   at Wabbajack.Downloaders.GameFile.GameLocator.GameLocation(Game game) in C:\oss\wabbajack\Wabbajack.Downloaders.GameFile\GameLocator.cs:line 149
   at Wabbajack.InstallerVM.<BeginInstall>b__134_0() in C:\oss\wabbajack\Wabbajack.App.Wpf\View Models\Installers\InstallerVM.cs:line 506
@Mieekaserra
Copy link

Steam thinks you have a library in 'C:\Games\Hogwarts Legacy\steamapps' when it cant find it - the gamefinder aborts looking.

you will need to fix your library.

@Frogperson
Copy link
Author

Frogperson commented Mar 11, 2024

Yes, that's the exact issue! I have an external drive mounted to that location. If I don't have that drive plugged in, the location no longer exists, and Wabbajack stops looking for any other Steam games.
Since I have multiple drives like this, it's a bit annoying to have to plug them all in just so Wabbajack can detect a game that was already available

I think a solution for this is to simply have it keep checking even if a library is missing, rather than completely aborting.

As you can see here https://www.youtube.com/watch?v=e3HnDR7A8yE&t=287s (4:47 if timestamp doesn't link properly) dynamically removable libraries are an officially supported feature of Steam.

@Mieekaserra
Copy link

This isnt something we can do - Gamefinder is a 3rd party tool

@Frogperson
Copy link
Author

Oh, my apologies, I wasn't aware. I guess I'll report this issue to them instead!

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

No branches or pull requests

2 participants