newman55 / unity-mod-manager

UnityModManager
MIT License
431 stars 100 forks source link

Issues modding Derail Valley on Linux Mint 20.3 Cinnamon #92

Open Doaner opened 2 years ago

Doaner commented 2 years ago

Hello! I'm having an issue getting mods to load on Linux. I am running the UMM through Mono and I made a symbolic link as well. UMM detects the game version and I can install mods, however, the game does not load the mods or UMM when I launch it. I have been successful in Windows 10 and 11 by using DoorstopProxy, but Assembly does not work on WIndows. I think that may be the issue here, as Assembly is my only option. I also copied over my game files from Windows and i still does not work. Thank you!

newman55 commented 2 years ago

Try asking on nexus if it works for others. I've never had this game, so I can't help much here. Sorry.

Doaner commented 2 years ago

Thanks for the reply! Let me try that.

GamingCoookie commented 2 years ago

Assembly does not work for Derail Valley. You need DoorstopProxy

Sweeper5 commented 1 year ago

I can add that this is a generic Linux issue due to the fact that the Doorstop loading isn't there for Derail Valley. If you try to use Assembly, you can run the game, no mods load, and the mod menu in the game is missing data, like if you were missing fonts. Game will still run fine however, if you try to do a Doorstop load via Wine, it will fail with the following log:

[6:46 PM] Game changed to 'Derail Valley'. [6:46 PM] Game path 'C:\Derail.Valley'. [6:46 PM] Checking for updates. [6:46 PM] No updates. [6:46 PM] ======================================= [6:46 PM] Deleting files from game... [6:46 PM] 'winhttp.dll' [6:46 PM] 'doorstop_config.ini' [6:46 PM] Copying files to game... [6:46 PM] 'winhttp_x64.dll' [6:46 PM] System.IO.FileNotFoundException: Could not find file 'Z:\home\sweeper\Games\derail_valley\winhttp_x64.dll'. File name: 'Z:\home\sweeper\Games\derail_valley\winhttp_x64.dll' at System.IO.FileSystem.CopyFile (System.String sourceFullPath, System.String destFullPath, System.Boolean overwrite) [0x00060] in :0 at System.IO.File.Copy (System.String sourceFileName, System.String destFileName, System.Boolean overwrite) [0x00062] in :0 at UnityModManagerNet.Installer.UnityModManagerForm.InstallDoorstop (UnityModManagerNet.Installer.UnityModManagerForm+Actions action, System.Boolean write) [0x000e9] in <2e855c41b3ec46d28b4a87ee1fde0a94>:0 [6:46 PM] Installation failed.

May not be easy to fix or at all fixable, but if anything else, I will leave it here as I am sure this will be caught on Google by anyone else in the future looking to make modded Derail Valley work under Linux.

newman55 commented 1 year ago

Don't copy UMM into the game

Sweeper5 commented 1 year ago

I am not copying UMM into the game folder. UMM rests one level above or below, Derail Valley is housed at C:\Derail Valley While UMM according to Wine sits in C:\unity. The reason you are confused is because I named the Wine prefix, or Windows "installation" in other words, "derail_valley"

newman55 commented 1 year ago

Your UMM uses paths to copy as Z:\home\sweeper\Games\derail_valley\, but should use itself. I do not know how to reproduce it.

newman55 commented 1 year ago

I think I found a mistake, wait for the fix

newman55 commented 1 year ago

Fixed

Sweeper5 commented 1 year ago

Just did a few test runs, and it still doesn't work. I will give newman55 here probs for solving and getting rid of the errors in the log, however I fear that the version of DoorstopUnity is the culprit as it dumps no errors, but doesn't seem to do much in the game.

While there is a Linux version of DoorstopUnity, I do not know how well that would couple up to a game under Wine. Still, thank you for at least making some progress, but it seems Derail Valley will have to be vanilla for a while longer.

ToastedWookiee commented 1 year ago

Using Wine to install the Doorstop version works, then in steam you need to add WINEDLLOVERRIDES="winhttp.dll=n,b" %command% for it to load the Doorstop DLL

newman55 commented 1 year ago

Can you link to the source?

ToastedWookiee commented 1 year ago

Personally tested, but based on info from: https://github.com/piotrulos/MSCModLoader/issues/123 The Steam command just bypasses the need to use protontricks winecfg to set the DLL override.

The command sets it to load the native, or local file, before using the default builtin proton file.