ominitay / shellsaber

!! MAINTENANCE MODE !! ShellSaber is a mod manager written in POSIX-compliant shell script to support Beat Saber modding on Linux.
GNU General Public License v3.0
14 stars 1 forks source link

Papercuts #7

Closed C0rn3j closed 3 years ago

C0rn3j commented 3 years ago

Not sure if this is the same issue as #5 or a new one.

I am migrating from QBeat so maybe I did something wrong, but upon deleting things and running shaber ipa download && shaber ipa patch I ran into this and had to create Data and Libs folders.

Warn: Using default config file at '/home/c0rn3j/.local/share/shaber/default/config'. It is recommended to copy this to '/home/c0rn3j/.config/shaber/config' and modify it to your needs.
Info: Mod 'BSIPA' is up-to-date
Info: BSIPA is already enabled
Info: Downloading native Linux IPA
Info: Native Linux IPA successfully downloaded
Info: Native Linux IPA successfully enabled
Warn: Using default config file at '/home/c0rn3j/.local/share/shaber/default/config'. It is recommended to copy this to '/home/c0rn3j/.config/shaber/config' and modify it to your needs.
Info: All checks passed, continuing to patch...
Beat Saber.exe,-n,-f,--relativeToPwd
Restoring old version... 
Installing files... 
Could not load library System.IO.FileSystem.resources, Version=5.0.0.0, Culture=en-GB, PublicKeyToken=b03f5f7f11d50a3a
Could not load library System.IO.FileSystem.resources, Version=5.0.0.0, Culture=en, PublicKeyToken=b03f5f7f11d50a3a
ERROR: Oops! This should not have happened.

System.IO.DirectoryNotFoundException: Could not find a part of the path '/home/c0rn3j/.local/share/Steam/steamapps/common/Beat Saber/IPA/Data'.
   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.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
   at System.IO.Enumeration.FileSystemEnumerableFactory.FileInfos(String directory, String expression, EnumerationOptions options, Boolean isNormalized)
   at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
   at System.IO.DirectoryInfo.GetFiles(String searchPattern, EnumerationOptions enumerationOptions)
   at System.IO.DirectoryInfo.GetFiles()
   at IPA.Program.CopyAll(DirectoryInfo source, DirectoryInfo target, Boolean aggressive, BackupUnit backup, Func`3 interceptor, Boolean recurse)
   at IPA.Program.Install(PatchContext context)

Second issue I have are conflicts. It should be logged which file is conflicting with what. Currently I have to search my system for ScoreSaberSharp.dll and remove it. It'd be great if the conflicting path to it was provided

Error: File conflict: /home/c0rn3j/.local/share/shaber/enabled/ScoreSaberSharp/Libs/ScoreSaberSharp.dll
ominitay commented 3 years ago

Re: 2. I will add that soon!

ominitay commented 3 years ago

My guess is that ShellSaber thinks that BSIPA is installed when it isn't, or that it is partially installed. Please run these commands and tell me how it goes:

shaber m r BSIPA #This will likely error out. 
rm -r ~/.local/share/shaber/enabled/BSIPA
shaber i dl
geefr commented 3 years ago

Yeah if it doesn't work it's probably a download issue. The linux version needs the BSIPA 'mod' as a whole installed first, then performs just the little patching step.

ominitay commented 3 years ago

It does to me look like #5. I'm not sure how their installation could have become like that in the first place though...

C0rn3j commented 3 years ago

I haven't actually been able to get the game to launch with mods.

I can launch it without mods fine, but if I run 'shaber ipa patch' the game doesn't even bother try opening and instantly crashes. (found that out after I made this report)

Am using Proton 6.3-4 and the Steam version of the game.

I even tried just deleting the entire install folder and letting Steam redownload the game with the same results.

The logs you asked for:

[0] % shaber m r BSIPA #This will likely error out. 

Warn: Using default config file at '/home/c0rn3j/.local/share/shaber/default/config'. It is recommended to copy this to '/home/c0rn3j/.config/shaber/config' and modify it to your needs.
Error: Mod 'BSIPA' is depended upon, and cannot be removed.

[255] % rm -r ~/.local/share/shaber/enabled/BSIPA

[0] % shaber i dl
Warn: Using default config file at '/home/c0rn3j/.local/share/shaber/default/config'. It is recommended to copy this to '/home/c0rn3j/.config/shaber/config' and modify it to your needs.
Info: Searching for dependencies
Info: Downloading mod 'BSIPA'
Info: Checking integrity of mod 'BSIPA'.
Info: Mod 'BSIPA' passed integrity check.
Info: Enabled 'BSIPA'
Info: Native Linux IPA is already up-to-date
ominitay commented 3 years ago

So that seems like it worked though. If you try patching, the process should work now...

ominitay commented 3 years ago

If you continue to have issues, make sure to delete the prefix for the game, to run it, and then to try again.