Code Monkey home page Code Monkey logo

multiplayerextensions's Introduction

Hey!

I am a full-stack developer with a variety of experience. Most of my projects are based around mods for Beat Saber, a popular VR rhythm game. I have a passion for networking and backend development.

Overview:

I do a lot of work on smaller private projects behind the scenes as well.

multiplayerextensions's People

Contributors

ckosmic avatar erisapps avatar goobwabber avatar jcoenen96 avatar livkx avatar michael-r-elp avatar moddingpink avatar pg98 avatar redbrumbler avatar roydejong avatar stevoisiak avatar temperz87 avatar zingabopp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

multiplayerextensions's Issues

Notes getting weird

Hello,

i started Playing with my Friends and after like 2 hours i had a issue (i don't really know from which Plugin the problem comes from but maybe keep an eyes on the problem) i know this is a Beta and i really want to help you out to report every problem i get and i really hope you accept it.

Logs and a picture of my Plugins and also a Bug Video here.

but i got it on every song!

https://www.youtube.com/watch?v=ujVNJ8LDKyE&feature=youtu.be

https://prnt.sc/vawkb5
Logs.zip

Detected in Version : MultiplayerExtensions-0.1.2-bs1.12.2-c96e54d

to see the diffrent there is a working version on BS : 1.11.0

https://www.youtube.com/watch?v=bb2jd0Alq1A

[BUG]

Your Platform

Windows 10 Pro

Describe the bug

My friend is missing games, I see like 14 modded games, he only sees 2, and of course, he doesn’t see mine. He intalled everything like me together.

To Reproduce

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error
    I’m sorry don’t really know
    Expected behavior

Log

It’s my friend’s I don’t know :/
Screenshots/Video

Additional context

WIP songs are broken

There's an issue with loading any of the custom WIP songs. Fails to load song data and gives this error:

O @ 19:11:33 | MultiplayerExtensions] Attempting to download custom level... [ERROR @ 19:11:33 | MultiplayerExtensions] Error downloading beatmap 'custom_level_25372AB3B56F4B4EEB1DF17F1AFEE415290754D8_Nameless_-_Aishite WIP': Object reference not set to an instance of an object [DEBUG @ 19:11:33 | MultiplayerExtensions] System.NullReferenceException: Object reference not set to an instance of an object [DEBUG @ 19:11:33 | MultiplayerExtensions] at MultiplayerExtensions.Downloader+<DownloadSong>d__2.MoveNext () [0x000ac] in <1f9244e0b9d8428887cfc85b69935ee6>:0 [DEBUG @ 19:11:33 | MultiplayerExtensions] --- End of stack trace from previous location where exception was thrown --- [DEBUG @ 19:11:33 | MultiplayerExtensions] at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <437ba245d8404784b9fbab9b439ac908>:0 [DEBUG @ 19:11:33 | MultiplayerExtensions] at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <437ba245d8404784b9fbab9b439ac908>:0 [DEBUG @ 19:11:33 | MultiplayerExtensions] at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <437ba245d8404784b9fbab9b439ac908>:0 [DEBUG @ 19:11:33 | MultiplayerExtensions] at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <437ba245d8404784b9fbab9b439ac908>:0 [DEBUG @ 19:11:33 | MultiplayerExtensions] at System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult () [0x00000] in <437ba245d8404784b9fbab9b439ac908>:0
[DEBUG @ 19:11:33 | MultiplayerExtensions] at MultiplayerExtensions.HarmonyPatches`

Players can't suggest songs the host doesn't have

When a player suggests a song the host doesn't have, the suggested song appears blank for the host in the players list. Clicking on it does nothing.

Related: Suggested/chosen song in the Player list is blank for players who don't have the song (and doesn't update after the song is downloaded). Should attempt to fetch song metadata from BeatSaver and update the UI when found.

[BUG] joining lobby and not showing custom songs at selection

Your Platform
PC, Steam.

Describe the bug
So i cant join my friends lobby whenever i try it just sends me back to multiplayer selection mode and if my friend tried to join my lobby it just shows him black screen and also my friend can select custom songs but i can't even when i join a server or make my own.

To Reproduce

  1. Create your own server / let your friend create a server
  2. Join via code or let your friend join via code
  3. See error.

Expected behavior
To basically join the lobby and play custom songs together.

Log
_latest.log

Screenshots/Video
Cannot send Video/Image.

Additional context
No additional context.

If a non-host takes too long to download the song, they are moved to spectator

Hi there!

first of all, thanks for this amazing mod! ♥

I just played it with a friend, it it worked mostly flawlessly. One small issue we noticed is that when downloading a song took to long for my friend, I waited until their download was completed - but once the song started, they were moved to spectator. I think there might be a timeout somewhere, maybe even in the original multiplayer code.

We could reproduce this with a couple of different songs. If I ended the game and restarted it, it worked perfectly fine for subsequent plays of the song.

The reason I believe is that this is related to download speed is that said friend has quite slow internet, and the move to spectator happened if the "Waiting for other players" phase was too long.

Again, thanks for developing this!

Mod broken/incompatible with other mods+players

For a normal custom song this is perfect but there is a bug for songs using extensions and other custom stuff.
In the video I show what it should be and works perfectly alone or with others spectating but when other players are in playing the song it breaks and duplicates the other players notes and walls making it impossible to play the map. At the end of the video you can literally see when other players die the bugged notes fizzle out, also the mod Chroma doesn't work to change the color to what the map wants.

https://youtu.be/kD67zKPzh9o
_latest.log

Used build "MultiplayerExtensions-0.1.2-bs1.12.2-37bc6d0"

[BUG] Beatmap Packet causes players to get kicked

Occasionally when players select songs, they get kicked from the lobby. This is most likely due to the host receiving a malformed packet and throwing an error. The most likely cause of this is when a player selects a song that returns a null value for part of its metadata.

Example of a song with this issue: https://beatsaver.com/beatmap/7749 (as you can see, the subname is not filled out.)

This issue flew under the radar because of a few reasons:

  1. If a player already has a song, it loads the preview from disk rather than using the packet.
  2. Most beatsaber players have like 2000 songs downloaded and also play the same songs as eachother.
  3. The player only gets kicked if the host doesn't have the song.
  4. This can only happen with maps that don't have completely filled metadata.

[BUG] Blackscreen if you join a Lobby

Describe the bug
Blackscreen if you try to join a lobby. The hoster do not have a blackscreen

To Reproduce

  1. Go on Join Lobby
  2. You will get an Black screen

Expected behavior
Play with friends custom mods

Log
_latest.log

Installed Mods

image

Mayby the Beatsaber Update that just came out destroyed the mod?

I do not have the Saber Factory installed

Where is the download? i cant find it anywhere. [BUG] [SOLVED]

Your Platform
PC - HTC Vive (Normal)
Describe the bug
I cant find a clear button to download the mod

To Reproduce
Try look for the download file.

Expected behavior
You wont be able to

Log
6969696969 - Cant locate download

Screenshots/Video
N/A

Additional context
Yes, where is the download link kind sir?

[FEATURE] Where do I buy you a coffee?

Is your feature request related to a problem? Please describe.
This mod has literally re-invigorated the game for me, and allows me such an easy way to jam out with friends and share all the cool songs we find with each other.

And yet, for all it's awesomeness, I can't contribute!

I'm a dev but this is out of my scope entirely, and I'd love to make some small contribution for this work that, IMO, makes the game for me

Describe the solution you'd like
Sign up with someone like https://www.buymeacoffee.com/ and let those who want to donate, donate!

Avatar hand position adjustments

Some people's custom grips make their hands look weird to other players. Possible feature to offset rotation on the axis of the saber (so the position of the player's saber isn't changed for other players).

[BUG] Infinite "Loading.." text when starting the game

Your Platform
PC, Steam

Describe the bug
When starting the game, an infinite "Loading.." text appears with a spinning ring under the image of selected song. This happens every time and even if i already have the selected song. When someone selects a song i don't have, most of the time there will be "Loading.." instead of a name of the song on the player list.

To Reproduce

  1. Join a multiplayer server
  2. Wait for the game to start
  3. Watch the infinite loading untill the host shuts down the server

Expected behavior
The game should've started, especially when i already had the selected song installed.

Log
_latest.log

_latest.log - this is the log of a session where i took the screenshots below

Screenshots/Video
20201223221504_1
20201223221520_1
As can be seen, the game won't start and display an infinite "loading.." text even though i have the selected song installed.

Additional context
none

Alpha Build

Can we have an alpha build to test it or instructions on how to compile it ourselves?

Custom songs option does not appear

Once the mod is installed, on my end i do not have the option to turn on custom songs in multiplayer.
i have the latest build and every build ive tried will not let me enable it in the mods menu once im in game my friend can pick custom songs and i can play them but i cant pick them myself or even see the menu option

Per Player Difficulty

Is your feature request related to a problem? Please describe.
Its difficult to play with others that are not at the same difficulty. Compromise must be made on the difficulty settings when playing with others of different skill level.

Describe the solution you'd like
Per player difficulty options, like the old multiplayer mod would bring this closer to feature parity and resolve this issue.

Additional context
Old multiplayer mod screenshot: https://i.imgur.com/VH7ZT3s.jpeg This is the feature I'd like to see make its way back.
(bottom)

Walls get's stuck at Score Screen.

Hello,

i want to report a bug me and my friend was playing a map (while in the lasts seconds comes a wall and sticks to it) my friend also had the problem, but the wall was gone when we was in the main lobby again.

Picture
https://prnt.sc/v90jfe

[FEATURE] Scoresaber Support

Is your feature request related to a problem? Please describe.

When I played ranked songs in multiplayer I have to try and not beat my previous best score because if I do it wont upload to scoresaber then I need to beat that score again not in multiplayer for it to upload to scoresaber and it just ruins all of the fun for playing on multiplayer for me and my friends.

Describe the solution you'd like

Adding scoresaber score uploading support.

Additional context

None!

[BUG] When failing to join a lobby the solo menu will bug out

Your Platform
PC

Describe the bug
When failing to join a multiplayer lobby (tested with server browser) the Solo song scene's hud is stuck on the ceiling, the solo menu's modifiers tab will be the mods tab from the main menu, the song select will tell you when a song is not able to be downloaded from beatsaver, and attempting to join any more games fails (possibly server browser bugging out though, will need more testing) see: roydejong/BeatSaberServerBrowser#20

To Reproduce
Go into server browser or join by code,
Join Game from code or server browser and fail to join

Expected behavior
Menus and In-Song Scene should behave as normally

Log
See Issue linked

Screenshots/Video
See Issue linked

Additional context

Voice Chat

Possible feature for the future. Could have the host start a server that the rest of the players would connect to for voice chat (something like what the old multiplayer mod had, but the host would act as the 'ServerHub').

Lobby Scoreboard

Is your feature request related to a problem? Please describe.
When playing in competitive multiplayer lobbies, it's difficult to determine who is "winning".

Describe the solution you'd like
A scoreboard in the lobby that keeps track of each player's total score/amount of wins a player has.

Additional context
None

[BUG] Cannot download other host's songs

Your Platform
PC w/ Steam. Using Vive pro.

Describe the bug
Attempting to download and play a song another user already has installed doesn't do anything. Extention throws exception. Testing with two other users who also have the same version + same mod manager setup.

To Reproduce
Create a multiplayer lobby and have another user join. Choose a song they don't have and start the game. Your other player will stay in the lobby while you are sent into game with only a playform and no notes.

Or from the other side:
Join a player's loby. Song in front displays "Not defined" when you select the user on the right to select the same song.

Expected behavior
Song is downloaded and user joins host in game.

Log
_latest.log

Additional context
Mod manager setup
modmanager1
modmanager2

Walls

If there is a wall at the end of a song that wall will stay there after then song ends but of course disappears when you get into the lobby its something little but still none the less a bug.

[BUG] beatsaver is down, MultiplayerExtensions has stack trace and game gets stuck

Your Platform

PC, Steam store. Am using Oculus Link, but not relevant to issue.

Describe the bug

When https://beatsaver.com/ is down (Cloudflare 521 error) the MultiplayerExtensions plugin gets stuck in a broken state instead of reporting it can't download songs.

To Reproduce

  1. Join a multiplayer session with custom songs enabled
  2. Someone adds a song you don't have locally installed
  3. Song is selected to start
  4. Get stuck in "Waiting for players" or alternatively never leave lobby depending on how bug expresses

Expected behavior

If MultiplayerExtensions can't find the song to play from beatsaver or otherwise fails to start a download, everyone should remain in the menu with a notice that song can't be played.

Log

[ERROR @ 20:14:12 | MultiplayerExtensions] PreviewBeatmap(custom_level_7AC4D99CEE16E8D0437D7E8FEECDB12488CC27D3): Error retrieving metadata: One or more errors occurred.
[DEBUG @ 20:14:12 | MultiplayerExtensions] System.AggregateException: One or more errors occurred. ---> Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonTextReader.ParseValue () [0x002b3] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonTextReader.Read () [0x0004c] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonReader.ReadAndMoveToContent () [0x00000] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonReader.ReadForType (Newtonsoft.Json.Serialization.JsonContract contract, System.Boolean hasConverter) [0x0004a] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Boolean checkAdditionalContent) [0x000db] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonSerializer.DeserializeInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00054] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonSerializer.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonSerializer.Deserialize[T] (Newtonsoft.Json.JsonReader reader) [0x00000] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at BeatSaverSharp.HttpResponse.JSON[T] () [0x00013] in <11b53f746565450eade6dd47591213e7>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at BeatSaverSharp.BeatSaver+<FetchSingle>d__10.MoveNext () [0x0009f] in <11b53f746565450eade6dd47591213e7>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions] --- End of stack trace from previous location where exception was thrown ---
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <437ba245d8404784b9fbab9b439ac908>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <437ba245d8404784b9fbab9b439ac908>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <437ba245d8404784b9fbab9b439ac908>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <437ba245d8404784b9fbab9b439ac908>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <437ba245d8404784b9fbab9b439ac908>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at BeatSaverSharp.BeatSaver+<Hash>d__25.MoveNext () [0x0009a] in <11b53f746565450eade6dd47591213e7>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]    --- End of inner exception stack trace ---
[DEBUG @ 20:14:12 | MultiplayerExtensions] ---> (Inner Exception #0) Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonTextReader.ParseValue () [0x002b3] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonTextReader.Read () [0x0004c] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonReader.ReadAndMoveToContent () [0x00000] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonReader.ReadForType (Newtonsoft.Json.Serialization.JsonContract contract, System.Boolean hasConverter) [0x0004a] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Boolean checkAdditionalContent) [0x000db] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonSerializer.DeserializeInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00054] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonSerializer.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at Newtonsoft.Json.JsonSerializer.Deserialize[T] (Newtonsoft.Json.JsonReader reader) [0x00000] in <2676a2da6edc420e890ed28aa4572ee5>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at BeatSaverSharp.HttpResponse.JSON[T] () [0x00013] in <11b53f746565450eade6dd47591213e7>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at BeatSaverSharp.BeatSaver+<FetchSingle>d__10.MoveNext () [0x0009f] in <11b53f746565450eade6dd47591213e7>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions] --- End of stack trace from previous location where exception was thrown ---
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <437ba245d8404784b9fbab9b439ac908>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <437ba245d8404784b9fbab9b439ac908>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <437ba245d8404784b9fbab9b439ac908>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <437ba245d8404784b9fbab9b439ac908>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <437ba245d8404784b9fbab9b439ac908>:0 
[DEBUG @ 20:14:12 | MultiplayerExtensions]   at BeatSaverSharp.BeatSaver+<Hash>d__25.MoveNext () [0x0009a] in <11b53f746565450eade6dd47591213e7>:0 <---

Screenshots/Video

Additional context

First custom song not loading properly

When starting the first custom song I didn't have, I entered the game as a spectator, it said I didn't own the song, and neither music nor beatmap did play. Afterwards I left the lobby and saw the map was actually properly downloaded and available. I was also able to play it in multiplayer when rejoining the lobby. After that it worked like a charm, downloading the songs just before starting.

[BUG] issues with noodle extensions

Your Platform
quest 1 + oculus link, beat saber 1.13.0 on steam. running with -vrmode oculus to run without steam vr.

Describe the bug
maps using noodle extensions are completely broken, with duplicated notes and static objects that should not be static.

To Reproduce
install both multiplayer extensions and noodle extensions (https://github.com/Aeroluna/NoodleExtensions). host a multiplayer game and play a song that uses noodle extensions. for example, https://bsaber.com/songs/da60/. you will notice that quite a lot is messed up compared to singleplayer.

Expected behavior
the map should work the same or almost the same as in singleplayer.

Log
latest log.zip

log from \Beat Saber\Logs\MultiplayerExtensions in case it's useful too
_latest.log

Additional context
not sure if this needs to be fixed on multiplayer extensions's side or noodle extensions's side.
mapping extensions seems to work fine in multiplayer.
this is not hardware specific, happens on WMR too.
may require at least one extra player (2 total, including host) in the lobby for notes to duplicate.

[BUG] Never Loads in on Custom/Vanilla Song *Updated for 0.4.0*

Your Platform
PC/Steam w/HTC Vive
PC/Steam w/Rift S

Describe the bug
The game stalls out in "Waiting for Players" screen, my friend gets stuck in lobby. Doesn't matter who is host or the song,
including vanilla songs.
Possibly being caused by null reference exception?

To Reproduce
Both players ready up for a song, doesn't appear to matter if both players have the song or not.
Upon finishing the countdown, bug will occur.

Log
Trimmed down to relevant section. Still errors out on 0.4.0.
...
[DEBUG @ 18:14:47 | MultiplayerExtensions] Joining a None lobby.
[DEBUG @ 18:14:48 | MultiplayerExtensions] Joining a PartyHost lobby.
[INFO @ 18:14:59 | MultiplayerExtensions] Player 'bExc5y4HIsYGry51P62Hes' joined
[DEBUG @ 18:14:59 | MultiplayerExtensions] (PacketSerializer) Received 'MultiplayerExtensions.Sessions.ExtendedPlayerPacket'
[INFO @ 18:14:59 | MultiplayerExtensions] Received 'ExtendedPlayerPacket' from 'bExc5y4HIsYGry51P62Hes' with '76561198311920617'
[DEBUG @ 18:15:04 | MultiplayerExtensions] CustomLevels are enabled.
[DEBUG @ 18:15:08 | MultiplayerExtensions] PreviewBeatmap(100Bills): Loaded from local.
[WARNING @ 18:15:08 | MultiplayerExtensions] Beatmap with level ID '100Bills' cannot be converted to a valid Beat Saver hash.
[CRITICAL @ 18:15:08 | UnityEngine] NullReferenceException
[CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.RectTransform.get_sizeDelta () (at <97fdf0a75ab94da9a7e5188c186e574d>:0)
[CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetChildSizes (UnityEngine.RectTransform child, System.Int32 axis, System.Boolean controlSize, System.Boolean childForceExpand, System.Single& min, System.Single& preferred, System.Single& flexible) (at <59d11edce11547ceaeb7d303c9f1e55c>:0)
[CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.HorizontalOrVerticalLayoutGroup.SetChildrenAlongAxis (System.Int32 axis, System.Boolean isVertical) (at <59d11edce11547ceaeb7d303c9f1e55c>:0)
[CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.HorizontalLayoutGroup.SetLayoutHorizontal () (at <59d11edce11547ceaeb7d303c9f1e55c>:0)
[CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.LayoutRebuilder+<>c.b__12_1 (UnityEngine.Component e) (at <59d11edce11547ceaeb7d303c9f1e55c>:0)
[CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.LayoutRebuilder.PerformLayoutControl (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction1[T0] action) (at <59d11edce11547ceaeb7d303c9f1e55c>:0) [CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.LayoutRebuilder.PerformLayoutControl (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction1[T0] action) (at <59d11edce11547ceaeb7d303c9f1e55c>:0)
[CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.LayoutRebuilder.PerformLayoutControl (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction1[T0] action) (at <59d11edce11547ceaeb7d303c9f1e55c>:0) [CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.LayoutRebuilder.Rebuild (UnityEngine.UI.CanvasUpdate executing) (at <59d11edce11547ceaeb7d303c9f1e55c>:0) [CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at <59d11edce11547ceaeb7d303c9f1e55c>:0) [CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.Canvas:SendWillRenderCanvases() [CRITICAL @ 18:15:08 | UnityEngine] NullReferenceException [CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.RectTransform.get_sizeDelta () (at <97fdf0a75ab94da9a7e5188c186e574d>:0) [CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetChildSizes (UnityEngine.RectTransform child, System.Int32 axis, System.Boolean controlSize, System.Boolean childForceExpand, System.Single& min, System.Single& preferred, System.Single& flexible) (at <59d11edce11547ceaeb7d303c9f1e55c>:0) [CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.HorizontalOrVerticalLayoutGroup.SetChildrenAlongAxis (System.Int32 axis, System.Boolean isVertical) (at <59d11edce11547ceaeb7d303c9f1e55c>:0) [CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.HorizontalLayoutGroup.SetLayoutHorizontal () (at <59d11edce11547ceaeb7d303c9f1e55c>:0) [CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.LayoutRebuilder+<>c.<Rebuild>b__12_1 (UnityEngine.Component e) (at <59d11edce11547ceaeb7d303c9f1e55c>:0) [CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.LayoutRebuilder.PerformLayoutControl (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction1[T0] action) (at <59d11edce11547ceaeb7d303c9f1e55c>:0)
[CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.LayoutRebuilder.PerformLayoutControl (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction`1[T0] action) (at <59d11edce11547ceaeb7d303c9f1e55c>:0)
[CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.LayoutRebuilder.Rebuild (UnityEngine.UI.CanvasUpdate executing) (at <59d11edce11547ceaeb7d303c9f1e55c>:0)
[CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at <59d11edce11547ceaeb7d303c9f1e55c>:0)
[CRITICAL @ 18:15:08 | UnityEngine] UnityEngine.Canvas:SendWillRenderCanvases()
[DEBUG @ 18:15:09 | MultiplayerExtensions] Level with ID '100Bills' already exists.
[DEBUG @ 18:15:10 | MultiplayerExtensions] PreviewBeatmap(100Bills): Cached preview found, skipping beatsaver request.
[DEBUG @ 18:15:15 | MultiplayerExtensions] PreviewBeatmap(100Bills): Cached preview found, skipping beatsaver request.
[DEBUG @ 18:15:15 | BS_Utils] Level Data set
[DEBUG @ 18:15:17 | SiraUtil] Installing: SiraSaberInstaller (SiraUtil)
[DEBUG @ 18:15:33 | SiraUtil] Installing: SiraMultiGameInstaller (SiraUtil)
[DEBUG @ 18:15:33 | SiraUtil] Installing: XGameInstaller (Enhancements)
[INFO @ 18:16:09 | MultiplayerExtensions] Player 'bExc5y4HIsYGry51P62Hes' disconnected
...

Additional context
Not sure if relevant to #67
Possibly related to #23

[BUG] Crashing trying to download songs

Not sure if this has been brought up before. Sorry if I'm repeating.

Equipment: SteamVR Valve Index

Takes a very long time attempting to download the missing songs. Player ends up at the "waiting for player" screen. The missing

song doesn't end up downloading and I usually have to restart my game because it freezes. Everything else this mod add works.

Awesome mod thank you for creating it. Right now my work around is to have everyone download the songs before creating the

lobby.

[Feature] Stop Insta-Fail with SteamVR Overlay

Your Platform

PC

Describe the bug
Accessing the SteamVR overlay during a song with the multiplayer extensions mod causes the user to fail the song instantly, even if they wouldn't have otherwise failed.

To Reproduce
Launch multiplayer, 2 or more players, play song, have either player pull up the overlay (by hitting the home button on the controller). Instant fail.

Happens on the latest build from 12 days ago for both my friend with a Vive and me with an Index.

Launch song in multiplayer with 2 or more players, pull up SteamVR overlay in the middle of the song, instant fail.

Expected behavior
The SteamVR overlay to not cause the song to fail.

UI NullReferenceException

This exception keeps getting thrown when a song is selected. It doesn't appear to break anything, but needs to be fixed. Definitely related to the Gameplay settings menu. For some reason a destroyed GameObject is being accessed.

[CRITICAL @ 22:11:19 | UnityEngine] NullReferenceException
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.RectTransform.get_sizeDelta () (at <97fdf0a75ab94da9a7e5188c186e574d>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetChildSizes (UnityEngine.RectTransform child, System.Int32 axis, System.Boolean controlSize, System.Boolean childForceExpand, System.Single& min, System.Single& preferred, System.Single& flexible) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.HorizontalOrVerticalLayoutGroup.SetChildrenAlongAxis (System.Int32 axis, System.Boolean isVertical) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.HorizontalLayoutGroup.SetLayoutHorizontal () (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.LayoutRebuilder+<>c.<Rebuild>b__12_1 (UnityEngine.Component e) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.LayoutRebuilder.PerformLayoutControl (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction`1[T0] action) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.LayoutRebuilder.PerformLayoutControl (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction`1[T0] action) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.LayoutRebuilder.PerformLayoutControl (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction`1[T0] action) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.LayoutRebuilder.Rebuild (UnityEngine.UI.CanvasUpdate executing) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.Canvas:SendWillRenderCanvases()
[CRITICAL @ 22:11:19 | UnityEngine] NullReferenceException
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.RectTransform.get_sizeDelta () (at <97fdf0a75ab94da9a7e5188c186e574d>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetChildSizes (UnityEngine.RectTransform child, System.Int32 axis, System.Boolean controlSize, System.Boolean childForceExpand, System.Single& min, System.Single& preferred, System.Single& flexible) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.HorizontalOrVerticalLayoutGroup.SetChildrenAlongAxis (System.Int32 axis, System.Boolean isVertical) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.HorizontalLayoutGroup.SetLayoutHorizontal () (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.LayoutRebuilder+<>c.<Rebuild>b__12_1 (UnityEngine.Component e) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.LayoutRebuilder.PerformLayoutControl (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction`1[T0] action) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.LayoutRebuilder.PerformLayoutControl (UnityEngine.RectTransform rect, UnityEngine.Events.UnityAction`1[T0] action) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.LayoutRebuilder.Rebuild (UnityEngine.UI.CanvasUpdate executing) (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () (at <bb86d7036fba4b379d7e56f853ff7d90>:0)
[CRITICAL @ 22:11:19 | UnityEngine] UnityEngine.Canvas:SendWillRenderCanvases()

[FEATURE] Re-join on fail

Is your feature request related to a problem? Please describe.

It would be nice if players who fail could join in again, and if this could be enabled/disabled for the lobby.

Describe the solution you'd like

Allow players who've failed to join back in with their score reset, like the old mod did.

Additional context

[BUG] Can't host server, Can't see partner move when song is playing

Your Platform

Steam, Oculus Rift (original)
Windows 10 Home 20H2

Describe the bug

When I host a game, partner cannot join - enters code and gets booted back to multiplayer options screen
When partner hosts game, I can't see their avatar in the lobby, or their name in the list. I can see them in default pose in game, and their boxes sliced, but the avatar does not move.

To Reproduce

  1. Launch multiplayer mode and either host a game (which fails) or join a game which works, but with the above-described issue
  2. Not really certain who else is experiencing this or what is causing it to advise, but it happens every time without fail for me.

Log

Me_Host_Log.zip
Friend_host_log.zip

Additional context
I have tried disabling both router and windows firewall to see if it was a network issue, which didn't resolve the problem so far as I could tell. I've disabled real time scanning on my Antivirus (Webroot) which also didn't help.

As far as I can tell, this issue started after installing the MultiplayerExtensions mod. Prior to that (after installing all required mods but before installing MultiplayerExtensions), regular multiplayer worked outwithout issue

[BUG] Custom songs not showing in selection for some people??

Your Platform
PC, Steam

Describe the bug
When I wanted to play with my friend again its just switched. I CAN select a custom song but when I select one it just doesn't show up for him. Please fix this.

To Reproduce

  1. Join a lobby
  2. Click on Select Song
  3. You may not see the custom songs logo.

Expected behavior
To see the custom songs logo and succesfully select one.

Log
_latest.log

Screenshots/Video
No screenshot/Video.

Additional context
My friend is telling me that he can't see the song everytime I select a custom song.

[BUG] Solo Score Screen and Party Post-Song Name Entry Keyboard/Score Screens Not Showing

Platform:
PC/Steam on HTC Vive, Beat Saber version 1.13.0 with ModAssistant Version 1.1.16

The Bug:
After installing the custom song multiplayer mod and having a blast online with friends (truly, well done to all in this effort, I'm amazed at how "Plug and Play" it is), I found my Solo score screen and Party Post-Song Name Entry Keyboard/Score Screens no longer show after finishing a song. Scores in Solo DO update to the online leaderboards, but we obtain no notice of how we did or our ranking until back in the song select. An audible "loading buffer" is heard but this is normal (associated with having mods installed, sounds like a "Dadadada" for a quarter- to half-a-second). It is worth noting the score screen IN multiplayer is unaffected. This issue appears to be as if something is kicking the game past the post-song score screens like we do in multiplayer where we return to the lobby and not to a separate window for the round's results.

To Reproduce:

  1. Install the multiplayer custom song mod.
  2. (May not be relevant) - Play several songs online with your friends. It is worth noting I did end up downloading a song automatically from Beat Saver as I did not have it in my library (perhaps a cause?). Game continued to work fine.
  3. (Also may not be relevant) - Attempted to play a song only one of us had locally (custom made song amongst my friends) and their instance was stuck "Waiting for Other Players." I could not cancel the loading of their song and had to restart the server to release them of their purgatory (another potential cause?). Game continued to work fine in multiplayer until finished.
  4. Play a custom song in Solo mode.
  5. Observe the lack of a post-song score screen.
  6. Check if the issue persists in Party mode. Confirm this is the case.

Expected Behavior:
After a song is finished the game should pull up a post-song score screen and/or keyboard to enter a name in Party mode. Neither occur now, and Party song scores can no longer be saved.

Log:
See below.
_latest.log

Screenshots/Video:
None available unfortunately.

Additional context:
Other mods I have installed in case of conflict:

  1. BSIPA - 4.1.3
  2. SongCore - 3.0.3
  3. BeatSaverVoting - 1.3.2
  4. CameraPlus - 4.4.2
  5. ScoreSaber - 2.3.6
  6. BeatSaverDownloader - 5.3.3
  7. Mapping Extensions - 1.5.0
  8. SiraUtil - 2.2.0
  9. BeatSaberMarkupLanguage - 1.4.2
  10. BS Utils - 1.6.5
  11. Noodle Extensions - 1.3.4
  12. CustomJSONData - 1.1.2
  13. SongDataCore - 1.3.5
  14. ScoreSaberSharp - 0.1.0
  15. BeatSaverSharp - 1.6.0 -------------------------------------------------------> This mod never shows as installed in my mod list but every mod has worked without issue. It shows as "installed" (green numbers in the "Installed" column) after a updating/installing, but never when reopening ModAssistant. Potential issue?
  16. Ini Parser - 2.5.7
  17. Technicolor - 1.0.2
  18. Chroma - 2.2.8
  19. SongBrowser - 6.1.2

Softlocked after starting a song

When attempting to start a song while in a lobby, the screen goes black and does not load anything in, and the game must be closed and reopened to continue. This happens 100% of the time for me and I've heard a few others mention it, but it doesn't seem to happen to many people or very often.

[BUG] Player is disconnected when the host selects a song

Your Platform
PC Steam

Describe the bug
When the host picks a song, there is something like an 70% chance that a random player will be kicked out of the lobby.
The player is kicked right when clicking on a song.

We were a group of 3-4 players

Different songs played by players?

I just joined a random lobby using the song browser mod and everything was smooth when I was spectating as usual. As soon as they all eventually chose a song the count down started except I was put into the game when the timer was at 2. I didn't think much of it until everyone was swinging and getting higher than me but there were no notes yet on my screen/game. The song was only about 1:26 and I played it like normal and eventually beat everyone but when the end of the song came everyone was still cutting notes and raising their score despite it being on the score screen showing as if I was the only one who played. When I got back to the lobby everyone was cutting in sync as if their song was still going but yet I was still in the lobby since the song finished for me. I waited about a minute to see if it was really only that 2 second delay in the beginning but they kept going for a while so I eventually just left. Thought it would be best to post it here but I'm unsure if this is the mods fault or not.

[BUG] vertical hud breaks hud in singleplayer

Your Platform

HTC VIVE done normally through steam

Describe the bug

basically, the hud gets pushed into the roof when vertical hud is enabled

To Reproduce

  1. Go into the solo mode level selector and under the left menu in MODS > MULTIPLAYER, enable vertical hud but not single player hud
    1.1. you can play a map and the hud should be fine
  2. go back to the menu and play an online match
  3. go back into singleplayer and play a map, the hud should be on the roof
  4. if you disable vertical hud it will return to how it should be but will return to being on the roof when reenabled

Expected behavior

a normal ui

Log

_latest.log

Screenshots/Video

settings:
20201124210858_1
the bug, it got pushed up to the roof above yur:
20201124210741_1
with vertical hud disabled:
20201124210812_1

Additional context

idk

WIP songs not loading with MultiplayerExtensions installed

Trying to access WIP songs with the mod installed, it just said 'Couldn't load data' or something like that. There was a reload button but clicking it didn't resolve the issue.
According to the log MultiplayerExtensions was trying and failing to download maps when I tried loading the WIPs.
Log here

Songs will be always be downloaded even if a user already has the song

Issue Description

When the host selects a song, all other users in the lobby will download the song, regardless of if the user already has the song downloaded.

Steps to Reproduce

  1. Create a lobby with MultiplayerExtensions installed and turn on custom songs
  2. Have another user join the lobby with a specific song downloaded that you also have
  3. Select the song they have downloaded already
  4. Press Start and have the other user ready up (just in case, to force a download)

Expected Result

  • The mod should use the user's already downloaded version of the song.

Actual Result

  • The mod unnecessarily downloads the song again which also ends up showing the song twice when looking in the song list.

Additional Notes

A possible solution could be searching for the level hash in a user's song list.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.