ebkr/r2modmanPlus

[BUG] - Infinite loading on Voices Of The Void Modlist

Opened this issue · 48 comments

Describe the bug
When trying to load votv, r2modman is stuck on "Getting mod list from Thunderstore"

To Reproduce
Steps to reproduce the behavior:

  1. Open r2modman
  2. Click on Voices of the Void
  3. Experience infinite waiting

Expected behavior
Should load after a few seconds, like for example Lethal Company.

Screenshots
grafik

Additional context
OS:

  • NixOS
  • Kernel 6.8.7
  • KDE Plasma 5.27.11
  • X11

r2modman version: 3.1.48

same, i looked at the dev tools and i get this error:
image

it appears just after the progress bar reaches 100%
image

okay, i did a bit of a shit fix, as i only plan on using this with VotV, i opened the "app.asar", went to "js/app.js" searched for the line "g.default.instance.isProtonGame", and changed it to "true", it now "works". a bit of a duct tape fix, but will work for now (at least for me)

attempted this but sadly it did not work

okay, i did a bit of a shit fix, as i only plan on using this with VotV, i opened the "app.asar", went to "js/app.js" searched for the line "g.default.instance.isProtonGame", and changed it to "true", it now "works". a bit of a duct tape fix, but will work for now (at least for me)

Worked for me. Thanks. Kind of annoying that the entirety of app.js is in 1 line. I guess it's to save space?

okay, i did a bit of a shit fix, as i only plan on using this with VotV, i opened the "app.asar", went to "js/app.js" searched for the line "g.default.instance.isProtonGame", and changed it to "true", it now "works". a bit of a duct tape fix, but will work for now (at least for me)

after doing this were you able to ever launch the game or download mods? i havent been able to and nor has avery (we were testing your solution on the discord)

okay, i did a bit of a shit fix, as i only plan on using this with VotV, i opened the "app.asar", went to "js/app.js" searched for the line "g.default.instance.isProtonGame", and changed it to "true", it now "works". a bit of a duct tape fix, but will work for now (at least for me)

after doing this were you able to ever launch the game or download mods? i havent been able to and nor has avery (we were testing your solution on the discord)

sadly, no. the mods were also broken, when copying files of "shimloader". it tried to copy "ue4ss.dll". but looking at the path, it "doesnt" exist, because it's actually named "UE4SS.dll" so it fails to copy it.
image

but maybe it's only shimloader, as it just got stuck there. so i dont know what else works (or doesnt)

okay, i did a bit of a shit fix, as i only plan on using this with VotV, i opened the "app.asar", went to "js/app.js" searched for the line "g.default.instance.isProtonGame", and changed it to "true", it now "works". a bit of a duct tape fix, but will work for now (at least for me)

Worked for me. Thanks. Kind of annoying that the entirety of app.js is in 1 line. I guess it's to save space?

you can prettify the js to edit it, most sites online allow to import the js from a file, but it will lag your browser when it prettifies the js.

after you unpack the .asar file you can keep everything in a folder, with the original name (and extension). and it will load the app normally, but now it's easier to edit

a way to make r2modman work with votv is running r2modman through proton for some reason this just works without issue buuut i havent met anyone thats loaded into a modded instace because shimloader freaks out on linux for no determinable reason currently im working on installing stuff to try to get it to run

okay, changed line 6366 (prettified) from "["UE4SS/ue4ss.dll", "ue4ss.dll"]," to "["UE4SS/UE4SS.dll", "UE4SS.dll"]," it's now able to download mods correctly
image

oh sick! do modded instances actually boot at all?

no, im getting this error when starting the game:
image

yeah ive noticed that
in the proton version i get this
image
but the part we should pay attention too is
image
this is a error occurs when playing any modded instance of VotV

so you're running r2modman through steam? or the game?

r2modman through steam

oh, im running it directly through my system lol

im able to get that bottom log by running the game itself through steam

and manually modding it

i have an idea. add the arguments of r2modman to the steam arguments on the game. it might work

actually that might work

here's my output, you might need to modify it:
--mod-dir "/home/overlord/.config/r2modmanPlus-local/VotV/profiles/VotV/shimloader/mod" --pak-dir "/home/overlord/.config/r2modmanPlus-local/VotV/profiles/VotV/shimloader/pak" --cfg-dir "/home/overlord/.config/r2modmanPlus-local/VotV/profiles/VotV/shimloader/cfg"

image

it starts!

but it stops responding and crashes... even my screenshot crashed ? wtf
"Fatal error!"

i have my screenshots tool to save screenshots to the clipboard, okay, but it did write it to disk:
Screenshot from 2024-05-01 19-30-36

ah like this?
image

in my system it just crashed. nothing else, although i might be able to use the path to see too

shimloader-log.txt
it's full of errors. funny (not really) how we went from not being able to download mods to... a lot of errors

wait, i think i know the error, it's being "interpreted" (the arguments) by a windows executable being run through proton, what if the error is it doesnt understand the linux path system it's being given?

im thinking thats what the error might be too

nope, it's getting it correctly (i think):
[2024-05-01 19:38:53.605 DEBUG src\hooks.rs:219] [ntcreatefile_detour] "Z:\mnt" to "\home\overlord\.config\r2modmanPlus-local\VotV\profiles\VotV\shimloader\mod"
[2024-05-01 19:38:53.605 DEBUG src\hooks.rs:219] [ntcreatefile_detour] "Z:\mnt\sda1" to "\home\overlord\.config\r2modmanPlus-local\VotV\profiles\VotV\shimloader\mod"
[2024-05-01 19:38:53.605 DEBUG src\hooks.rs:219] [ntcreatefile_detour] "Z:\mnt\sda1\Other" to "\home\overlord\.config\r2modmanPlus-local\VotV\profiles\VotV\shimloader\mod"
[2024-05-01 19:38:53.605 DEBUG src\hooks.rs:219] [ntcreatefile_detour] "Z:\mnt\sda1\Other\itch.io" to "\home\overlord\.config\r2modmanPlus-local\VotV\profiles\VotV\shimloader\mod"
[2024-05-01 19:38:53.605 DEBUG src\hooks.rs:219] [ntcreatefile_detour] "Z:\mnt\sda1\Other\itch.io\Voices Of The Void" to "\home\overlord\.config\r2modmanPlus-local\VotV\profiles\VotV\shimloader\mod"
[2024-05-01 19:38:53.605 DEBUG src\hooks.rs:219] [ntcreatefile_detour] "Z:\mnt\sda1\Other\itch.io\Voices Of The Void\VotV" to "\home\overlord\.config\r2modmanPlus-local\VotV\profiles\VotV\shimloader\mod"
[2024-05-01 19:38:53.605 DEBUG src\hooks.rs:219] [ntcreatefile_detour] "Z:\mnt\sda1\Other\itch.io\Voices Of The Void\VotV\Binaries" to "\home\overlord\.config\r2modmanPlus-local\VotV\profiles\VotV\shimloader\mod"
[2024-05-01 19:38:53.605 DEBUG src\hooks.rs:219] [ntcreatefile_detour] "Z:\mnt\sda1\Other\itch.io\Voices Of The Void\VotV\Binaries\Win64" to "\home\overlord\.config\r2modmanPlus-local\VotV\profiles\VotV\shimloader\mod"

(in the log)

no, wait, it is the error, it's trying to copy it from a path which "does not exist" for ""windows""

image
it's something... it does write the dump now in my system. i edited the argument path to include "Z:"

ive never seen a modloader so viciously upset under linux

--mod-dir "Z:/home/overlord/.config/r2modmanPlus-local/VotV/profiles/VotV/shimloader/mod" --pak-dir "Z:/home/overlord/.config/r2modmanPlus-local/VotV/profiles/VotV/shimloader/pak" --cfg-dir "Z:/home/overlord/.config/r2modmanPlus-local/VotV/profiles/VotV/shimloader/cfg"

welp. tried to open the dump with gedit. it crashed... im gonna open it with nano, here's the file btw: (had to add .txt to upload it lol)
crash_2024_05_01_17_44_29.dmp.txt

my fix is definetly working (UE4SS.log), :
UE4SS.log

now im trying to read the crash dump

EDIT: couldn't get much out of it

ive never seen a modloader so viciously upset

now we're two, me and the loader. im upset. and angry

best idea ive got now is straight up making a new version of shimloader for linux. unfortunately my bracket of skills is mostly minecraft modding.

Hmmm, since I'm on NixOS, I can't just edit the app.js file.

Would be nice to see an official fix soon...

Hmmm, since I'm on NixOS, I can't just edit the app.js file.

Would be nice to see an official fix soon...

even if r2modman support is fixed i dont think the game will ever run mods under linux for some reason unrealshimloader absolutely hates linux and refuses to run under it

best idea ive got now is straight up making a new version of shimloader for linux.

i think the issue is much deeper. i tried using RE-UE4SS, which apparently should work in linux, the only difference with shimloader apart from being a different UE4SS is that it doesnt support custom paths, but i did it to see if the game would AT LEAST launch, it doesnt, and crashes still. the only difference is that it didnt load any mods (which is good to pinpoint the issue)

Hmmm, since I'm on NixOS, I can't just edit the app.js file.

Would be nice to see an official fix soon...

i think you can enable running normal linux executables on nix in the config, and download the tar.gz version in releases.

EDIT: i checked, an apparently you can add "programs.nix-ld.enable = true;" (or use "steam-run", which is the easiest option) to enable it, havent checked if it works or how it works, as im not in my nixos system right now. here's where i found it: https://unix.stackexchange.com/questions/522822/different-methods-to-run-a-non-nixos-executable-on-nixos

you can use "nix-alien-ld" with nix-ld to automatically detect libraries: https://github.com/thiagokokada/nix-alien?tab=readme-ov-file#usage

best idea ive got now is straight up making a new version of shimloader for linux.

i think the issue is much deeper. i tried using RE-UE4SS, which apparently should work in linux, the only difference with shimloader apart from being a different UE4SS is that it doesnt support custom paths, but i did it to see if the game would AT LEAST launch, it doesnt, and crashes still. the only difference is that it didnt load any mods (which is good to pinpoint the issue)

super wierd

okay, i got an update on this, it appears that if you remove all the arguments ("--mod-dir "Z:/home/overlord/.config/r2modmanPlus-local/VotV/profiles/VotV/shimloader/mod" --pak-dir "Z:/home/overlord/.config/r2modmanPlus-local/VotV/profiles/VotV/shimloader/pak" --cfg-dir "Z:/home/overlord/.config/r2modmanPlus-local/VotV/profiles/VotV/shimloader/cfg"") it doesnt crash, weird. so the loaders appear to be ""working"", maybe? im gonna try to only give it the mod-dir argument see if maybe the error is in the mods

okay, only putting the mod-dir argument makes it crash:
image

okay, i tried different things, and, if i enable the UE4SS external console i can check if it did run, if you dont give arguments to the exe it doesnt run UE4SS, if you dont give it enough arguments it gives the unwrap() error, so it needs all or none. when given all it still crashes with the same error.

And as we saw with the RE-UE4SS, paks arent the issue here, maybe i could try disabling some "mods", maybe what's actually loading the mods, see if that is the error

nope, i literally disabled everything in the mods.txt:
image

still crashes, so, it must just be that UE4SS REALLY hates Linux :c

EDIT: At least i can still play normally and keep everything as is until it works! i can just remove the arguments for now

image it's something... it does write the dump now in my system. i edited the argument path to include "Z:"

have you tried disabling HookCallFunctionByNameWithArguments in UE4SS? this makes it stop crashing, and i even tried some mods, it works
image

image it's something... it does write the dump now in my system. i edited the argument path to include "Z:"

have you tried disabling HookCallFunctionByNameWithArguments in UE4SS? this makes it stop crashing, and i even tried some mods, it works image

wow, it does work! so "HookCallFunctionByNameWithArguments = 0" does fix it! im gonna see if the mods do work, maybe it loads, and loads mods, but maybe they wont work.

okay, they do work! i can finally play votv modded :3