ModOrganizer2 / modorganizer

Mod manager for various PC games. Discord Server: https://discord.gg/ewUVAqyrQX if you would like to be more involved
http://www.nexusmods.com/skyrimspecialedition/mods/6194
GNU General Public License v3.0
2.06k stars 155 forks source link

Symlink Errors #1032

Open vrelk opened 4 years ago

vrelk commented 4 years ago

The problem:

I updated MO2 a few days ago and ever since there have been symlink errors popping. It shows up both in the log at the bottom and when running LOOT. I haven't noticed any issues caused by it yet though. This seems to happen with Skyrim, Skyrim SE, and FO:NV.

To Reproduce:

Open MO2 and click the "Sort" button on the plugins tab. I have opened LOOT manually, along with other things like SKSE, bodyslide, FNIS (both using "run" and using the built in method), and didn't get this error.

Environment:

Link to Mod Organizer logs:

USVFS: https://gist.github.com/vrelk/f7b110b8de18809290aabe59f81f1b7d

MO Interface: https://gist.github.com/vrelk/6094e1d144db68a500bd65936b29f30e

LostDragonist commented 4 years ago

Are you using any symbolic links? If you used a third party program to move Steam games around, it's possible they added them. Symbolic links are technically unsupported by MO though I'll admit that's more because we don't want to support them and don't know how well they work instead of knowing they'll always break stuff (at least that's my current understanding).

Also, can you post new logs with debugging enabled? Settings > Diagnostic > Log Level > Debug. Then restart MO, run LOOT, close MO, and post the new logs.

vrelk commented 4 years ago

UVFS: https://gist.github.com/vrelk/b0bda0ba868b387c9571e281374ab54d MO Interface: https://gist.github.com/vrelk/681f0c85d465fb3483b04222a12f8153

No symlinks exist, I checked. While checking, I also noticed that the drive is formatted as exFAT, which doesn't support them anyways. Could that be the source of the issue? As I said, I haven't noticed any issues, but that doesn't necessarily mean there aren't any.

TheRealKraggy commented 4 years ago

Symbolic links are technically unsupported by MO though I'll admit that's more because we don't want to support them and don't know how well they work instead of knowing they'll always break stuff (at least that's my current understanding).

This is sad, it totally broke my Skyrim installation and method of using MO2 until I upgraded just now. :(

I use symlinks to allow me to have alternate installations of games that I can instantly switch to by simply changing the links rather than copy huge file trees, sadly MO2 now is uselss to me, I get the dereaded "DON'T USE SYMLINK" dialog when I try to run it since 'upgrading' from 2.2 to 2.2.2.1

Why did you implement a deliberate refusal to accept their existence, rather than simply keeping things as they were .. which for me was working perfectly!

AnyOldName3 commented 4 years ago

Why would you need to do that? We have profiles.

Silarn commented 4 years ago

I would also say that just setting up multiple game instances would allow you to have completely different mod lists for the same game in much the same way.

Silarn commented 4 years ago

Which is to say that symlinks might work but there can and have been cases since early in MO2 development where they would absolutely break things. If it causes the VFS rewrites to return invalid drive locations because USVFS doesn't currently track them in any way or try to account for their existence.

TheRealKraggy commented 4 years ago

I use Profiles when using MO2 but they don't do the job I need when it comes to managing the game itself.

As you know, in order to play Skyrim there are three directory trees involved:

C:\Users\xxx\AppData\Local\Skyrim Special Edition C:\Users\xxx\DOcuments\My Games\Skyrim Special Edition C:\Users\Steam\SteamApps\Common

By having a separate base folder holding these three trees I can switch easily between game setups, save sets, whatever, by simple scripting rather than having to faff around with opening MO2, switching profiles, etc.

Moreover, I can copy a game from one PC to another, where a different SETTINGS.ini file is needed (among other things) and deal with that in the same script.

Also, I have had the need to ideentify mod conflicts and being able to do incremental mod additions and being able to easily 'diff' mod trees is made a wholew bunch easier if I can have hte mods in sepeate directories rather than just one and rely on diffing modlists . at least, it is for me.

From my perspective Profiles are fine if you have one copy of the game on one PC and all you're doing is changing the modlist, if you have a more complex requirement then Profiles doesn't deal with everything needed.

I'm fine with the idea that symlinks never have been supported but to suddenly get an error dialog telling me the game simply won't work now is kind of a bummer, especially when I've worked like this for the last 4 years using MO and then MO2. Likely I was just lucky, but now I have to rethink. :(

AnyOldName3 commented 4 years ago

AppData and Documents are handled by profiles, and you shouldn't be messing with the SteamApps folder.

TheRealKraggy commented 4 years ago

AppData and Documents are handled by profiles

No they're not when it comes to cross-PC systems: SETTINGS.ini, et. al.

and you shouldn't be messing with the SteamApps folder.

The first time I used symlinks with games was on a PC where Steam refused to allow me to place my library on drive D: even though D: was perfectly usable, it flatly refsued to show it in the folder selection list when trying to specify where SteamApps should be located and Valve were totally uninterested in helping me!

Finally, I don't run MO2 on all PCs where I play the game.

On the PC where I mod using MO2 I have a batch script which I run from inside MO2 to export the VFS trees as seen my the game to separate folders which I then easily copy to other PCs in order to play, it also means I can have a 'hard copy' of a particular setup if I need one.

Basically, symlinks are very powerful tools for managing a PC and it was high time Windows was brought into the 20th century when Microsoft got round to implementing the Unix link system from the 1970s, so I use them.

Anyhow, I'll leave it, I'll carry on using them until I can migrate off MO2, I expect for now they'll continue to work until then.

Dranider commented 1 year ago

I just opened MO2 as administrator and worked.

AnyOldName3 commented 1 year ago

I just opened MO2 as administrator and worked.

Don't do that. If you get shot with a nerf gun by a toddler, you don't give them an Uzi, so you shouldn't give software that's demonstrated it's buggy more power to break extra things.