Git Product home page Git Product logo

beatsabermultiplayer's Introduction

Latest stable version: 0.7.2.4

Download (Experimental) for Beat Saber 1.8.0-1.11.1

Download (Stable 0.7.2.4) for Beat Saber 1.8.0-1.11.1

Installer by 200Tigersbloxed#1942

Guide by Assistant#8431

Dependencies:


ServerHub downloads:

beatsabermultiplayer's People

Contributors

andruzzzhka avatar artman41 avatar assistant avatar brian91292 avatar der-eismann avatar jaddie avatar kellyprankin avatar luludotdev avatar pantie41203200 avatar plasmapower avatar tjhorner avatar wgzeyu 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

beatsabermultiplayer's Issues

Connecting to Hub from non-client crashes it. (rewrite branch)

If the Hub receives a connection that isn't what it was expecting from a client, for example using a port checker to test if the Hub is visible, will instantly crash the Hub.

[EXCEPTION @ 03:06:39] System.ArgumentNullException: Value cannot be null.
Parameter name: value
   at System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.BitConverter.ReadInt32(Byte[] value, Int32 startIndex)
   at ServerHub.Data.Client.InitializeClient() in D:\Projects\C#\Beat Saber\Source\BeatSaberMultiplayer-rewrite\ServerHub\Data\Client.cs:line 41
   at ServerHub.Hub.HubListener.<BeginListening>d__10.MoveNext() in D:\Projects\C#\Beat Saber\Source\BeatSaberMultiplayer-rewrite\ServerHub\Hub\HubListener.cs:line 88
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
FailFast: UnhadledException

   at System.Environment.FailFast(System.String, System.Exception)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
./Hub: line 13: 11828 Aborted                 (core dumped) TERM=xterm ./ServerHub ${@}

[Feature Request] Improve command line interface for live updates

Would it be possible to use the --blacklist, --whitelist, and --songs commands while the server is running?

Currently it seems a reboot is needed to apply changes, and they can be overwritten by the running server. It would be great to be able to update these lists without shutting down the lobby.

Ideally, when the server runs it would create a named pipe, then for --blacklist, --whitelist, and --songs, check if the named pipe exists, and if it does, use it to communicate those commands to the running server and get their output back. If it doesn't, do what they're doing right now.
For --clients and --quit, check if the named pipe exists, if it does, use it to communicate those commands to the running server and get their output back, but if it doesn't just exit with an error exit status.

--help and --version are fine as is.

Hubs cease to work after a while.

I have 2 hubs running, after a while they both stop working, without crashing. They appear as up but stop responding to clients.

They both have an error message as their last output.

5.1.3 that I compiled, from this commit

9/16/18 11:53:42 PM|Error|<>c__DisplayClass71_0.<receiveRequest>b__0:850|An exception has occurred while reading an HTTP request/response.

5.1.3 that I compiled, from this commit

9/16/18 9:54:56 PM|Fatal|<>c__DisplayClass174_0.<startReceiving>b__2:2187|WebSocketSharp.WebSocketException: The header of a frame cannot be read from the stream.
                            at WebSocketSharp.WebSocketFrame.processHeader(Byte[] header) in D:\Projects\C#\BeatSaber\Source\BeatSaberMultiplayer-rewrite\ServerHub\Websocket-sharp\WebSocketFrame.cs:line 432
                            at WebSocketSharp.WebSocketFrame.<>c__DisplayClass73_0.<readHeaderAsync>b__0(Byte[] bytes) in D:\Projects\C#\BeatSaber\Source\BeatSaberMultiplayer-rewrite\ServerHub\Websocket-sharp\WebSocketFrame.cs:line 529
                            at WebSocketSharp.Ext.<>c__DisplayClass56_0.<ReadBytesAsync>b__0(IAsyncResult ar) in D:\Projects\C#\BeatSaber\Source\BeatSaberMultiplayer-rewrite\ServerHub\Websocket-sharp\Ext.cs:line 761

Note that they both happened almost at the exact same time, the first one's clock is 2 hours ahead of the second one's.

[Feature Request] Kick User or send to blacklist

HI can you please add a command to kick a single user with a pop up box with the reason why for server admin. This way the admin can choose to just kick or add to blackilst maybe even have a option select eg press 1 to kick user ......... or 2 to send user to blacklist.

thanks

Lobby full of people

Hi i have noticed a few times now that the lobby gets full of people right now i have over 80 people in the lobby and 8 rooms. Is there a way to empty it as i know they must be dead connections or something. I thought it emptied it self after a wile but that does not seem to be happening or not all the time.

Give IDs to the eleven included songs and list them in the guides

The IDs could be something like BI-1 through BI-11 instead of having numbers on both sides. These could be used to play the built-in songs in multiplayer, either adding them to the song list or through songs start BI-1.

Also, they should be listed in the guide.

[Feature Request] ServerHub Regions

Implement a system where people can volunteer running ServerHubs
These vetted volunteers specify what region they run the ServerHubs
Because at the time of writing, your primary ServerHub is down. I am running mine at beatsaber.weebvr.com in america west-coast

Settings for MultiplayerServer
No Change. Just a commented list of ServerHub ips/urls and what region they are so people can state where their server is located
Extra Feature: Hostname Support. Let the server show it's host name insted of its ip address when being advertised to users

Settings for clients.
When online option is selected in game. Users are presented with a list of regions. They select the region they are in or interested in.
Then the region displays the servers advertising there

Server Loop Error

I was running the server today and this error started in the cmd window

It started once I left my server after a few songs and no one else was in it. Not sure why it appears to be looking for a file on another computer as I don't have that user on my pc and the multiplayer files are stored in the beat saber folder

[ERROR @ 14:24:09] Server loop exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at BeatSaberMultiplayerServer.ServerMain.<>c.<ServerLoop>b__27_2(Client x) in C:\Users\andru_000\Desktop\BeatSaberMultiplayer-master\BeatSaberMultiplayerServer\ServerMain.cs:line 717
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
   at BeatSaberMultiplayerServer.ServerMain.ServerLoop() in C:\Users\andru_000\Desktop\BeatSaberMultiplayer-master\BeatSaberMultiplayerServer\ServerMain.cs:line 717

The above error message just kept repeating

Using Steam Server version 0.4.5.4
Windows 10

Custom Avatars

I'm not sure if i understand the avatar update correctly, but I can't see my friends avatar and vise-versa even though we have the same files installed. It's either the loading.avatar, kanan jarrus or the default avatar. How do we see each others custom avatars?

Feature Request Add-ons

Hi could we please get a web base admin control panel as well as a way of the server can check automatically if the room has live people in it as well as the lobby. i have had to destroy a few rooms now as no one was in them and also restart the server to clear users in the lobby that had been there for a few days and i was guessing they where dead connections.

Extra functions that could be handy
1 kick a user by ip or username and have a option to add a time and message why as well as when they can reconnect
2 ability to send admin message to a room or a user
3 report user option

thanks

[Feature Request] Save Create Room Song List Preset

It would be good if the last song list preset you chose would be saved across sessions when creating a room. i think this would help with the rapid proliferation of mediocre songs that seems to be occurring due to everyone just choosing to select all the songs because picking through a massive list to select good songs takes too long. If they only had to pick through it once, and then every subsequent time they only need choose to add any new songs they want to play or remove songs they are tired of I think we would see people being a lot more selective with their song lists. I think this would help with the massive song list downloads we're having to deal with at the moment.

Error when requsting command clients

Hi im getting this error a bit when i request the command clients. There are 10 rooms and 20 clients connected. After a restart of the hub it works again for a wile then sometimes does it again after a wile.

sedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
at System.Net.Sockets.Socket.get_RemoteEndPoint()
at ServerHub.Hub.Program.ProcessCommand(String comName, String[] comArgs) in C:\Users\andru_000\Source\Repos\BeatSaberMultiplayer\ServerHub\Hub\Program.cs:line 432

(client) after downloading all the songs the server doesn't load

Whenever connecting to a server, I first am met with downloading the required songs. After that's complete I just see a spinner that keeps on going perpetually. I decided to make sure it was a bug, first I tried running a server on a local machine then connecting to it and seems to work fine. Then I ran a server on a Linux VPS (ubuntu 18.04) and I seem to be running into the same issue. This issue seems to be affecting so far patches 0.4.4.2 and 0.4.4.1. When I ran my client on 0.4.4 everything seemed to work fine. To make sure this was a bug I checked with my friend who has an oculus rift, and he was running into the same issues.

Beatsaber Version:
0.10.2p1

Hardware:
HTC Vive

Game edition:
Steam

beatsaber server crash and restart batch script

sorry im new to this Linux os for the server automatic restart on crash i see the script on the site and i understand to place it in the serverhub dir but what do i save the files as whats the extension type how do i make the files. Is there somewhere a can download them and just edit my details into them. thanks for your help

destroyempty command does not work

When attempting to use the command it will destroy the first empty room and then fail with a message like this one:

[LOG       -- 06:50:55] Destroying room 2
[LOG       -- 06:50:55] Unable to process command! Exception: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
   at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at ServerHub.Hub.Program.ProcessCommand(String comName, String[] comArgs) in D:\Projects\C#\BeatSaber\Source\BeatSaberMultiplayer-for-auros\ServerHub\Hub\Program.cs:line 587

Running in screen

Running centos 7.4 x64
If screen is ran before running server hub or Multiplayer server, it causes the program to run in strange ways

Multiplayer: On connection to a hub, it just outputs connected repeatedly until quit command is issued or ctrl-c is done.
Server commands also do not output (EX: songs list)

ServerHub: no update in the console.
Server commands also do not output (EX: help)

Work around. prefix the binary with TERM=xterm (EX TERM=xterm ./ServerHub)

Easy fix would be apply the work around in a (ba)sh script that sets the TERM var)
Hard fix. make the dotnet core application happy with the TERM being set to "screen"

ServerHub for Linux, Syntax error

Hi, I'm setting up the server hub to my arm-based single board computer.
SBC: Pine A64+
OS: DietPi (Debian8 Jessie)

image

root@DietPi:/etc/beatsaber-serverhub/ServerHub_linux-arm# sh ./ServerHub
./ServerHub: 1: ./ServerHub: Syntax error: word unexpected (expecting ")")

Running the file, there's an error message.
What is the problem, and can I fix it manually?

Errors on songs with special characters

Some Songs throw errors when the system tries to load them Preventing the server from running. Please look into supporting non-alpha/numeric characters

Unhandled Exception: System.AggregateException: One or more errors occurred. (One or more errors occurred. (Could not find file '/home/noideaman/beatsaber/MultiplayerServer_linux-64/AvailableSongs/Downloaded/Bad Apple!! - FalKKonE/BAD APPLE - edit.ogg'.)) (Could not find file '/home/noideaman/beatsaber/MultiplayerServer_linux-64/AvailableSongs/Downloaded/Bad Apple!! - FalKKonE/BAD APPLE - edit.ogg'.) ---> System.IO.FileNotFoundException: Could not find file '/home/noideaman/beatsaber/MultiplayerServer_linux-64/AvailableSongs/Downloaded/Bad Apple!! - FalKKonE/BAD APPLE - edit.ogg'.
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
   at BeatSaberMultiplayerServer.ServerMain.<>c.<DownloadSongs>b__24_2(CustomSongInfo song) in C:\Users\Tyler\RiderProjects\BeatSaberMultiplayer\BeatSaberMultiplayerServer\ServerMain.cs:line 228
   at System.Linq.Parallel.ForAllOperator`1.ForAllEnumerator`1.MoveNext(TInput& currentElement, Int32& currentKey)
   at System.Linq.Parallel.ForAllSpoolingTask`2.SpoolingWork()
   at System.Linq.Parallel.SpoolingTaskBase.Work()
   at System.Linq.Parallel.QueryTask.BaseWork(Object unused)
   at System.Linq.Parallel.QueryTask.RunTaskSynchronously(Object o)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
   --- End of inner exception stack trace ---
   at System.Linq.Parallel.QueryTaskGroupState.QueryEnd(Boolean userInitiatedDispose)
   at System.Linq.Parallel.SpoolingTask.SpoolForAll[TInputOutput,TIgnoreKey](QueryTaskGroupState groupState, PartitionedStream`2 partitions, TaskScheduler taskScheduler)
   at System.Linq.Parallel.MergeExecutor`1.Execute()
   at System.Linq.Parallel.MergeExecutor`1.Execute[TKey](PartitionedStream`2 partitions, Boolean ignoreOutput, ParallelMergeOptions options, TaskScheduler taskScheduler, Boolean isOrdered, CancellationState cancellationState, Int32 queryId)
   at System.Linq.Parallel.PartitionedStreamMerger`1.Receive[TKey](PartitionedStream`2 partitionedStream)
   at System.Linq.Parallel.ForAllOperator`1.WrapPartitionedStream[TKey](PartitionedStream`2 inputStream, IPartitionedStreamRecipient`1 recipient, Boolean preferStriping, QuerySettings settings)
   at System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.ChildResultsRecipient.Receive[TKey](PartitionedStream`2 inputStream)
   at System.Linq.Parallel.ListQueryResults`1.GivePartitionedStream(IPartitionedStreamRecipient`1 recipient)
   at System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.GivePartitionedStream(IPartitionedStreamRecipient`1 recipient)
   at System.Linq.Parallel.QueryOperator`1.GetOpenedEnumerator(Nullable`1 mergeOptions, Boolean suppressOrder, Boolean forEffect, QuerySettings querySettings)
   at System.Linq.Parallel.ForAllOperator`1.RunSynchronously()
   at System.Linq.ParallelEnumerable.ForAll[TSource](ParallelQuery`1 source, Action`1 action)
   at BeatSaberMultiplayerServer.ServerMain.DownloadSongs() in C:\Users\Tyler\RiderProjects\BeatSaberMultiplayer\BeatSaberMultiplayerServer\ServerMain.cs:line 225
   at BeatSaberMultiplayerServer.ServerMain.Start(String[] args) in C:\Users\Tyler\RiderProjects\BeatSaberMultiplayer\BeatSaberMultiplayerServer\ServerMain.cs:line 65
   at BeatSaberMultiplayerServer.ServerMain.Main(String[] args) in C:\Users\Tyler\RiderProjects\BeatSaberMultiplayer\BeatSaberMultiplayerServer\ServerMain.cs:line 43
Aborted

Linux Server Error

Im playing with a Linux server 64bit and im getting this error any fix?

root@kali:/server# cd
root@kali:
# chmod +x server
root@kali:# cd server
root@kali:
/server# ./ServerHub

Unhandled Exception: System.InvalidOperationException: The terminfo database is invalid.
at System.TermInfo.Database..ctor(String term, Byte[] data)
at System.TermInfo.Database.ReadDatabase(String term, String directoryPath)
at System.TermInfo.Database.ReadDatabase(String term)
at System.TermInfo.Database.ReadActiveDatabase()
at System.ConsolePal.TerminalFormatStrings.<>c.<.cctor>b__27_0()
at System.Lazy1.ViaFactory(LazyThreadSafetyMode mode) --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Lazy1.CreateValue()
at System.ConsolePal.WriteResetColorString()
at System.ConsolePal.RefreshColors(ConsoleColor& toChange, ConsoleColor value)
at ServerHub.Misc.Logger.PrintLogMessage(LogMessage msg) in C:\Users\andru_000\Source\Repos\BeatSaberMultiplayer\ServerHub\Misc\Logger.cs:line 81
at ServerHub.Misc.Logger.Exception(Object msg, Boolean hideHeader) in C:\Users\andru_000\Source\Repos\BeatSaberMultiplayer\ServerHub\Misc\Logger.cs:line 68
Aborted
root@kali:~/server#

[Feature Request] Consistent releases.

It'd be useful if every release version included the plugin, the server, and the hub. Even if it's just the same zip from the previous release. That would allow us to safely link to the latest without having to worry of it missing stuff in the future. It would also help with confused users.

[Feature Request] Select Game mode

Hey would be awesome if you could add support for the diffrent gametypes in server config. Like One saber no fail or no arrows.

Thanks ^^

Error occurred on trying to return to MP menu after song

[WARNING -- 13:38:22] Socket exception occurred! System.InvalidOperationException: Collection was modified; enumeration operation may not execute. at System.ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion() at ServerHub.Rooms.RoomsController.GetRoomsListInBytes() in C:\Users\andru_000\Source\Repos\BeatSaberMultiplayer\ServerHub\Rooms\RoomsController.cs:line 175 at ServerHub.Data.Client.ProcessPacket(BasePacket packet) in C:\Users\andru_000\Source\Repos\BeatSaberMultiplayer\ServerHub\Data\Client.cs:line 310 at ServerHub.Data.Client.ReceiveCallback(IAsyncResult ar) in C:\Users\andru_000\Source\Repos\BeatSaberMultiplayer\ServerHub\Data\Client.cs:line 246

After I was kicked from my own room from a server hub being run locally

After a song ends it loops and instantly begins again.

I don't get returned to the lobby, the score page, or anything, it simply loops and starts over as if the song was longer.
I was playing on a server hosted in my network, connected from a hub hosted on my network.
I mention that because I seemed to be the only one getting that issue.
Nothing on either the MultiLog.txt nor the server logs look out of the ordinary.

[Feature Request] Private Server, Blacklist

Server setting for making a server Private. (private can be seen as whitelisted. It becomes visible to the ones aproved

Settings
Public Default. Not in settings.json. To make private

"Private": {
    "SteamNames": [
        Name1,
        Name2
    ]
    "OculusNames": [
        Name1
    ]
    "IP": [
        ip1,
        ip2,
        ip3
    ]
}

Server Settings for Black list. Same as above but change Private to BlackList

[Feature Request] Message All Rooms In Bulk

Hi i know there is a message option already but i would like to be able to send to all rooms in bulk. Eg i had to do a server firewall firmware update this meant all users got kicked when the connection to the net was taken down for the update. If there was a way to worn everyone i would of did a bulk message post saying the hub will be going down in 5min for a server update and will take around 3min. I not sore if this can be done already or its just single rooms one at a time. Also a default message that could be customized to all new rooms or a user when they first enter that sets out rules or just a nice welcome to ------- server hub would be nice. :)

[Feature Request] Don't download songs to my main library

Just started using the mod and am super-impressed but was immediately dismayed that when entering a lobby I started downloading 100+ songs I don't want in my main music library. It would be nice if they were placed somewhere so I don't have to download them again but also so they don't clutter up my main song library. I guess I could favorite "my" songs and filter on that but I'd rather not have to do that.

Online button not clickable

I recently updated the mod to the latest version, only for it to stop working. It loads, but clicking "online" does nothing.

I have tried with my current mods, and with the bare bones (files included and custom songs), i have also tried with no custom songs.
these are screenshots of my CURRENT mod layout.
https://puu.sh/BVUfa/6945431daa.png
https://puu.sh/BVUfu/2de5693d7b.png
https://puu.sh/BVUfG/4ea8b392a3.png
nobody on the discord knows, since everything's updated.
if you need any more info, just ask.

How do you run the server?

I've installed the plugin, but how do you run the server? The instructions reference values that are not even present in the BeatSaberMultiplayer.json file.

It looks like this:

{
"_serverHubIP": "beatsaber.jaddie.co.uk",
"_serverHubPort": 3700
}

(client) Server list back-button does not do anything

I am having this issue in both patch 0.4.4.1 and patch 0.4.4.2. For diagnostic reasons I checked if it works on patch 0.4.4 and it seems to be mapped correctly.

Beatsaber Version:
0.10.2p1

Hardware:
HTC Vive

(I also have seen this issue with my friend who plays on the oculus rift, but he uses steamvr)

New Ver 0.5.4.0 Button Not Clickable

Not sure whats going on but i copied the new files over to beatsaber and replaced them. When i lunch the game the online is there and lit up but not clickable. If i use the install/update in the mod manager the online is clickable but the hub will not show and is says a update is available in the game so i try to replace the files again and the online button in game once again is not clickable have i done something wrong when installing?

After playing a song, a duplicate avatar will be frozen in the lobby almost every time.

Setup:
4 players all running version 0.4.5.3
Each user had various plugins installed, and everyone was experiencing the same issue.

Symptoms:
After finishing a song, exiting the scoreboards, and returning to the lobby, there is a very high chance (nearly 100%) that a copy of one of the players will be frozen in the middle of the lobby. The avatar will not be in a T-Pose, but appear to be in a pose that the player was making.
The avatar will show the name of the person it was copied from above their head as a normal user would have. The original player will still be visible in the lobby, and is still able to move around normally.

This avatar will stay there even after playing a new song or leaving and rejoining the lobby. This bug will also stack for multiple songs, so it's possible to have 4+ frozen avatars in the lobby.
The bug seems to effect everyone in the lobby, but it's unclear if each user sees the same avatar frozen in place.

Workarounds :
Restart the server.

Other notes
This bug was also present in previous versions of the plugin, I didn't realize that it wasn't reported.

"No Fail" issue

When creating a room and selecting no fail mode to be off (or on), the room will have no fail mode enabled. It seems like that setting isn't changing no matter it's set it to.

Support room adjust setting

When the local player has a room offset applied, the networked player location won't be adjusted for other players. The local player will see the other networked players correctly oriented though.

Steps to reproduce:

  1. Launch Beat Saber.
  2. Configure the Room Adjust setting to include an offset and rotation.
  3. Join a networked lobby with other players.

Observe that other players don't see you where you're standing in your local game.

After playing a song, avatars will be invisible in the lobby.

Setup:
4 players all running version 0.4.5.3
Each user had various plugins installed, and everyone was experiencing the same issue.

Symptoms:
After finishing a song you can load into the lobby and everyone else will be invisible. The names and avatars of the other players will not appear.

Everyone else in the lobby will still be able to see the user that is having the issue.

Frequency
It happened to one of the 4 players in an hour long play session.

Workarounds:
Have the user restart their game.
Restart the server.

Other notes
This bug was also present in previous versions of the plugin, I didn't realize that it wasn't reported.

Can't see players after song

In the latest release (0.5.1.5) after playing a song I can't see the other players in the results or in the lobby, but when I select another song and start it we can then see each other again until the end of the song. I'll include my log file if it helps.
0.txt

After playing a song, a score from that song will carry over to the leaderboard of the next.

Setup:
4 players all running version 0.4.5.3
Each user had various plugins installed, and everyone was experiencing the same issue.

Symptoms:
After playing a song, one of the scores from that song will carry over to the leaderboard of the next song
This also seems to stack for each new song. We had 4 people playing, and the scoreboard would often have 8 scores listed.
The score that is listed includes the players name and score value as if it were a regular score.
This appears to be tied into the avatar duplication bug as well.

Workarounds :
Restart the server.

Other notes:
This bug was also present in previous versions of the plugin, I didn't realize that it wasn't reported.

Beat Saber v0.12.1

Since the recent Beat Saber update (v0.12.1) the multiplayer option is missing in the main menu.
(Worked before)

[Bug] Selecting the new OST song "Pop / Stars" prevents room from creating.

Issue
If you select the new song that was added in the latest update Pop / Stars - K/DA when creating a room, the "Create Room" button doesn't work anymore. The button is clickable, but nothing happens when you click it.
There are no errors about it in the log as far as I can tell.

Workaround
You have to go back to the previous menu then try creating a room again.

Possible solution
I noticed the other OST maps are indexed here, so that may just need to get added to the list.

public static Dictionary<string, byte> originalLevels = new Dictionary<string, byte>() { { "100Bills", 1 },

public static Dictionary<string, byte> originalLevels = new Dictionary<string, byte>() { { "100Bills", 1 },

Documentation on Server/Server Hub

It took me a while of trial and error and what the diffrence of Server and ServerHub is.

So for now here is my very breif summery of the software

Server
Run this to have a place where you and your friends can play with eachother.
The linux binaries are in the zip files.
wget the latest version for your system.
unzip in a folder
cd into the folder that was just unziped
run chmod +x BeatSaberMultiplayerServer
Edit the Settings.json file (note in json format any text editor should work)
Things to change are

"IP":
"ServerName": 
"Songs":

IP is your public ip. Use google to search for "What is my ip address
Songs are listed by ID provided at https://beatsaver.com
Songs are seperated by commas (,) and new lines. Excluding the last one. Do not add a comma (,) on the last one
Example

    "Songs": [
         363,
         604,
         729,
         25,
         1149,
         547,
         218,
         15,
         542,
         1004,
         588,
         475,
         886,
         491,
         1272,
         1115,
         1006,
         23,
         1039,
         547
    ]

Run BeatSaberMultiplayerServer (./BeatSaberMultiplayerServer)
ServerHub
By Default you do not need to run this unless you are aiming for a private server. Then this requires editing on the Multiplayer Server settings.json and the client

ServerHub is where the Server and Clients talk to.
Servers connect to ServerHub to Advertise that they are a running server
Clients talk to ServerHubs to see what servers are currently available

To run server hub.
Download the latest version to your server using wget
unzip the package
cd into the new folder created
chmod +x ServerHub
run Server Hub (./ServerHub)

Server Settings.json change
ServerHubIP:

Client edit BeatSaberMultiplayer.json (in steam located here steamapps\common\Beat Saber\Config)
change the ip address/hostname to your serverhub
_serverHubIP":

Everyone voting for a different song results in a song nobody voted for.

Setup:
4 players all running version 0.4.5.3
Each user had various plugins installed, and everyone was experiencing the same issue.

Symptoms:
Each user selected a different song in the voting screen, then the server ended up picking a song that nobody had selected. It was a song that we have previously played.

Frequency
After it happened once by accident, we were able to replicate it again on purpose.
Possibly 100% ?

Workarounds:
Simply have at least two people vote on the same song.

Other notes:
I think that the server should at least pick a random song from the list of songs that the players had picked, instead of choosing any song in the playlist.

[Feature Request] Command line interface

A way to interact with the server and hub through the command line; send commands and receive the output from them.

$ ServerHub --version
4.4.0
$ ServerHub --help
Help
Quit
Clients
$ ServerHub --clients
[0] Foo's Server @ 123.123.123.123:3701
[1] Bar's Server @ 111.111.111.111:3701
$ ServerHub --quit
$ echo ${?}
0
$ MultiplayerServer --version
4.4.0
$ MultiplayerServer --help
help
quit
clients
blacklist [add/remove] [playerID/IP]
whitelist [enable/disable/add/remove] [playerID/IP]
songs [add/remove/list] [songID on BeatSaver]
$ MultiplayerServer --songs add 967
Processing IMAGE -MATERIAL- (Version 0) Tatsh
Successfully added 967 to the song list
$ MultiplayerServer --songs list
65: Reol - LUVORATORRRRRY! feat.nqrse
967: XD_ - IMAGE -MATERIAL- (Version 0) Tatsh
$ MultiplayerServer --songs remove 65
Successfully removed 65 from the song list
$ MultiplayerServer --blacklist add 122.122.122.122
Successfully banned 122.122.122.122
$ MultiplayerServer --blacklist remove 122.122.122.122
Successfully unbanned 122.122.122.122
$ MultiplayerServer --whitelist enable 
Whitelist enabled
$ MultiplayerServer --whitelist add 76561198025299357
Successfully whitelisted 76561198025299357
$ MultiplayerServer --whitelist remove 76561198025299357
Successfully removed 76561198025299357 from whitelist
$ MultiplayerServer --whitelist disable
Whitelist disabled
$ MultiplayerServer --clients
Foo @ 123.123.123.123
Bar @ 111.111.111.111
$ MultiplayerServer --quit
$ echo ${?}
0

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.