wabbajack-tools / wabbajack

An automated Modlist installer for various games.
https://www.wabbajack.org/
Other
756 stars 142 forks source link

BethNetHandler only detects games installed in default Bethesda Launcher folder #913

Closed drfuzzyness closed 4 years ago

drfuzzyness commented 4 years ago

Describe the bug When a Bethesda Launcher game is not installed to the default Bethesda Launcher game folder, Wabbajack cannot detect it.

Additional context The BethNetHandler LoadAllGames function incorrectly assumes that Bethesda games will be installed into the default (ProgramFiles) folder, rather than on a secondary hard drive.

The code which checks for possible Bethesda Launcher games is located here: https://github.com/wabbajack-tools/wabbajack/blob/310f680f8f1ee1511c681dd6154085a03c39bbed/Wabbajack.Common/StoreHandlers/BethNetHandler.cs#L84

To replicate this, use the Bethesda Launcher to install Morrowind to a non-default folder. When launching Wabbajack, the logs will show that no games were detected.

A possible solution to this might be:

Thanks!

Logs

0.13 - Wabbajack Build - 58022d648ea76f1a07efc7edf0a6b06c0dda1280
0.14 - Detected Windows Version: 6.2.9200.0
0.14 - System settings - (32GB RAM), Display: 2560 x 1440 (7.9GB VRAM - VideoMemorySizeMb=10240)
0.14 - Steam Library found at D:\Steam\steamapps
0.14 - Steam Library found at E:\SteamLibrary\steamapps
0.15 - Total number of Steam Libraries found: 2
0.15 - Searching for Steam Games in D:\Steam\steamapps
0.16 - Steam Game "SteamVR" (250820) is not supported, skipping

...(Abbreviated)...

0.23 - Total number of Steam Games found: 3
0.23 - Found 1 SubKeys for GOG
0.23 - GOG Game "Anno 1404" (1440426004) is not supported, skipping
0.23 - Total number of GOG Games found: 0
0.23 - Total number of BethNet Games found: 0
0.23 - Wabbajack.Common.StoreHandlers.StoreException: Could not load all Games from the BethNetHandler, check previous error messages!
0.39 - Wabbajack Version: 2.0.9.0
13.55 - Loading ModLists from GitHub
40.92 - Starting to install MOISE
40.92 - Cleaning VFS, this may take a bit of time
40.94 - Starting Installer Task
40.94 - Installation has Started
40.94 - Configuring Processor
40.94 - Benchmarking D:\Mods\Wabbajack\2.0.9.0
40.95 - 1.6GB/sec for D:\Mods\Wabbajack\2.0.9.0
40.95 - Recommending a queue size of 14 based on disk performance, number of cores, and 32GB of system RAM
40.95 - In order to do a proper install Wabbajack needs to know where your Morrowind folder resides. However this game doesn't seem to be installed
erri120 commented 4 years ago

This is intended. If you have checked the other Store Handlers you might have seen that our detection system goes beyond your basic "look in registry" method (unless it's the only way). Having the game inside the default folder is the only way we can confirm that a legal copy of the game is installed. We will never add the option to let the user choose the game folder.

drfuzzyness commented 4 years ago

I can understand using this as a form of DRM. My concern is with the clunky options the Bethesda Launcher gives you to manage disk space and how what might be a smart decision for other launchers (putting games on a separate drive with a short path) leads to a cascade of silent errors here.

Could a warning message be added to the Wabbjack installer log warning the user if the desired game isn't detected that games need to be installed to the default location? I had to look through the source code to decipher this error and I'm sure less savvy users might complain with even less knowledge of what went wrong.

A solution might look like editing the error string that you can see at the end of my log to say:

In order to do a proper install Wabbajack needs to know where your Morrowind folder resides. However this game doesn't seem to be installed. Try reinstalling the game to the default installation location. Unofficial installations are unsupported.

This shouldn't invalidate your DRM scheme and should let legitimate users better diagnose errors.

Thanks for your time!