MatrikMoon / TournamentAssistant

A program designed to make it easier to coordinate tournaments for the VR rhythm game Beat Saber
MIT License
39 stars 26 forks source link

Server update notification breaks server selection #37

Closed nanikit closed 2 years ago

nanikit commented 2 years ago

Currently user can't use the mod after clicking the tournament button. After I commented out the CheckForUpdate it worked at least.

Arimodu commented 2 years ago

After I commented out the CheckForUpdate it worked at least.

Commented out in server or plugin? Also are you sure you are on latest version of both plugin and server?

nanikit commented 2 years ago

Plugin. I'm using my fork but I heard broken behavior from other users as well (I'm not sure about other user's version). I'm on beat saber 1.21.0. I suspected that part by the following plugin log.

[ERROR @ 20:03:57 | UnityEngine] Coroutine couldn't be started because the the game object 'SplashScreen' is inactive!
Arimodu commented 2 years ago

I'm on beat saber 1.21.0.

Hm? Are you possibly on a very old version? AFAIK Latest beatsaber version is 1.19.1

Also if either the plugin or server determine that they are not updated it will refuse to work.

Edit: Also latest plugin is for 1.19.1

nanikit commented 2 years ago

OK, I tested again with the current master (adapted with 1.21.0) and current latest (for 1.19.1). It seems to have a problem at update notification ("Update required! You are on...), it doesn't appear and can't progress to next step. Current latest is 0.5.4 for 1.21.0, and last distributed binary is 0.5.3 for 1.19.1, so update notification should appear, but it has the above problem. The master doesn't enter into notification logic so it doesn't crash, but it also has same potential problem.

nanikit commented 2 years ago

This problem forces all mod users use the latest or forked mod, even if they are using private server because they can't select the server to connect neither.

Arimodu commented 2 years ago

Yea this is moons thing

The mod does not start if it detects its not latest. Since you are compiling your own version go to the SharedConstructs.cs file and change version code to something like 9999, then recompile, shouldnt bother you any longer.

Arimodu commented 2 years ago

Also "latest" is only one, there is no "latest" for each version because moon doesnt want to support multiple versions, so if a new version is released for a newer bs version no previous version will work anymore.

Arimodu commented 2 years ago

Also Moon feel free to rip my head off, I still believe there should be multiversion support or at least non-destructive version checks.

MatrikMoon commented 2 years ago

There absolutely should be, and I'm absolutely not gonna support it 😆 I barely have enough energy to keep it updated for the latest version, let alone do the neo-style back-bending that would be supporting multiple versions 😆

Now, as to the problem at hand @nanikit , I'm a little unclear. Are you saying the update notification itself is broken? So for example, let's say you're using 0.5.3, then try to select the Default Server, and you do not see an update notification? Does it just freeze?

It is intentional that users are forced to use the latest version of the plugin, as quite frankly, I don't want to support the chaos of having users play on different game versions in the same match. However, it is not intentional to have a broken Update notification, of course.

If you must run a tournament on an old version, it is still possible to have a custom server and distribute a custom plugin that would connect to it in place of the master server, but that is fairly inconvenient.

nanikit commented 2 years ago

and you do not see an update notification? Does it just freeze?

Just freeze, and back button is disabled. 🤔

I couldn't select even the default server, it freezes before the step.

MatrikMoon commented 2 years ago

Gotcha! Thanks for the info, and I'll look into it next time I do a round of bug fixes o7

MatrikMoon commented 2 years ago

This was resolved in 0.6.1 o7