Goobwabber / MultiplayerAvatars

A Beat Saber mod that adds CustomAvatars support to the MultiplayerExtensions mod.
Other
58 stars 26 forks source link

[BUG] Plugin is not loaded despite existing dependencies. #16

Open bastion0078 opened 3 years ago

bastion0078 commented 3 years ago

MultiplayerAvatars Version and Download Source v0.0.3 from GitHub (MultiplayerAvatars-0.0.3-bs1.16.2-b87ed68 )

Your Platform Plattform: Steam HMD: Index

Describe the bug Missing dependencies

Installed is:

MultiplayerExtension 0.5.7 via Modmanager CustomAvatars 2.5.6 via Modmanager

To Reproduce Try to run it.

Expected behavior Should load the modules.

Log [WARNING @ 16:42:56 | IPA/Loader] MultiplayerAvatars is missing dependency MultiplayerExtensions@^0.4.7 [WARNING @ 16:42:56 | IPA/Loader] MultiplayerAvatars is missing dependency CustomAvatar@5.2.1

2021.07.04.16.42.53.log

Gamegod4 commented 3 years ago

I had a similar problem with those as well. Going by the settings in the manifest it should work for versions above, but for some reason it doesn't. If you set the multiplayer extensions and custom avatars to your current versions in the code and export the dll it does work. I was able to get it working that way in mine. But I don't really know how to work with modding stuff and I don't know enough of the games api to make much sense of fixing anything more.

There are other issues though after that problem is fixed. One is that while you can see each other in the lobby, every once in a while it takes a bit sometimes, you can't see each other playing the songs. I've found that someone joining while in a song causes everyone's models to load in again. If I could figure out how to cause a fake join I could probably get the avatars to load at the beginning of the song. There is also and issue with getting spammed in the logs with "[INFO @ 21:46:27 | UnityEngine] Look rotation viewing vector is zero" every like 10 milliseconds while in song. Seems it's trying to apply a 0 rotation vector, but I'm not sure how to cancel it out

bastion0078 commented 3 years ago

I think it is a problem with the version query of the installed modules. The CustomAvatars are missing the ^, but that is a different problem. If you add it, the extension is loaded correctly.

For the Installed Mods, the build version is always greater than the requested version. Except for the MP Extensions. Here it is lower. I guess the comparison stops when it compares the 4 of the MP extension with the 7 of the minimum requirement.

BSIPA 4.1.4 | 4.1.6 MP-Ext 0.4.7 | 0.5.4 Sira 2.5.2 | 2.5.5 CustomAvatars 5.2.1| 5.2.6

"dependsOn": { "BSIPA": "^4.1.4", "MultiplayerExtensions": "^0.4.7", "SiraUtil": "^2.5.2", "CustomAvatar": "5.2.1"

bastion0078 commented 3 years ago

I have made a few tests

Installed Multiplayer is version 0.5.4

If I set the dependency to ^0.4.3 or ^0.4.4 the error occurs.

But if I set it to ^0.5.3 the plugin loads. So it's really a problem with the version matching. I do not know where this query takes place, but there should logically be the error to find.