This plugin exposes information about the current game status, live over a WebSocket and over HTTP. It can be used to build custom stream overlays or track player performance by third party programs.
You can install Beat Saber HTTP Status by using one of the mod installers listed here. Follow the steps required to run the program of your choice, then in the mods section find "HTTP Status" and install it. This will automatically install and keep everything you need up to date.
Next you will need to get additional software that uses this plugin. This plugin does nothing useful on its own; it simply exposes information for other programs to use.
-
Install BSIPA (BSMG guide).
-
Download the latest release from the releases page.
-
Extract the zip into your Beat Saber directory.
-
Download and extract the following plugins and their dependencies:
-
Get additional software that makes use of this plugin. This mod does nothing on its own; it simply exposes information for other programs to use.
Protocol documentation can be found in protocol.md.
Before opening a pull request, please read the contributing guide.
To build this project you will need to create a BeatSaberHTTPStatus/BeatSaberHTTPStatusPlugin.csproj.user
file specifying where the game is located on your disk:
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- Change this path if necessary. Make sure it ends with a backslash. -->
<GameDirPath>C:\Program Files\Steam\steamapps\common\Beat Saber\</GameDirPath>
</PropertyGroup>
</Project>
Alternatively you can provide the game DLLs in the libs/beatsaber
directory using the standard Beat Saber directory structure. For a full list see the project file.
The following properties can be specified either in the .csproj.user
file or through the command line (/p:<name>=<value>
):
-
GameDirPath
: Path ending with a backslash pointing to the Beat Saber directory. Used to locate required game DLLs. -
OutputZip
=true
/false
: Enable/disable generating the .zip file. Can be used to get a zip for theDebug
configuration. -
CopyToPlugins
=true
/false
: Enable/disable copying of HTTP Status DLLs to the Beat Saber installation. Depends onGameDirPath
.
xyonico for the Beat Saber Discord Presence plugin, on which this plugin was initially based.
sta for the websocket-sharp library.
Maxaxik for testing and helping with research.