Skip to content
master
Switch branches/tags
Code

Latest commit

Changes:
- Support for Beat Saber v1.17.0 (#73, by @ErisApps)
- `beatmap.difficulty` now represents the name of the difficulty in the game's current language. If SongCore is installed, this value may contain the custom difficulty name defined by the beatmap, however I've not actually seen that happen. (#70)
- The mod now targets .NET v4.7.2

Adds:
- `beatmap.difficultyEnum` representing the internal beatmap difficulty enum. See [protocol.md] for more information.

Fixes:
- Exception thrown when SongCore is not installed while extracting value for `beatmap.songHash`. (#69, by @rynan4818)
e886060

Git stats

Files

Permalink
Failed to load latest commit information.

Beat Saber HTTP Status

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.

Installation

Recommended (using a mod manager)

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.

Manual

  1. Install BSIPA (BSMG guide).

  2. Download the latest release from the releases page.

  3. Extract the zip into your Beat Saber directory.

  4. Download and extract the following plugins and their dependencies:

  5. 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.

Developers

Using HTTP Status

Protocol documentation can be found in protocol.md.

Contributing to HTTP Status

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 the Debug configuration.

  • CopyToPlugins = true/false: Enable/disable copying of HTTP Status DLLs to the Beat Saber installation. Depends on GameDirPath.

Credits

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.