Beat Saber with Splunk
Author: Jamie Turbill
Release Date: 10/09/21
Before writing this blog I was challenged to find a unique use case for Splunk, to prove how widespread its uses can be. To make something completely original I decided to look at whether I could use the data from the virtual reality game Beat Saber. Splunk is already proven to work with video games, in 2017 at SplunkLive! London, Splunk used a simulator with the F1 2017 video game to track driver data and run a leaderboard. Splunk have since partnered with the Mclaren Racing team and continued their use of the video game app during the Virtual Grand Prix held during lockdown last year. Beat Saber is an entirely different game though, so how does this work?
Splunk and Beat Saber in action
The video demonstrates Splunk’s ability to take data in from anywhere and anything that can produce a data stream, including for fun! There are of course use cases out there where getting data from games could be invaluable, such as global Esports competitions and other worldwide gaming events – and Splunk can be a great fit for that.
But how was this achieved?
If you’d like to try this yourself, here are the high-level steps I took to create this:
- Find a suitable game, VR or otherwise! Not all games out there are of course going to be suitable, and you need a game that will produce a data stream for Splunk.
Beat Saber was perfect, as it has lots of stats available to it, and it’s a fun and competitive game to demonstrate some of Splunk’s capabilities.
- Configure the game to produce data. In Beat Saber, we needed to use a game “mod” freely available for use, but many games will also have a telemetry output built in.
The mod we used was HTTP Status, available from Github at https://github.com/opl-/beatsaber-http-status. Modding Beat Saber is fairly straight forward, there are many tutorials out there that will guide you through this process step by step such as this https://bsaber.com/installing-the-mod-guide-necessary-for-any-custom-songs/
- Configure Splunk to ingest this data stream
A simple Python script was required for us to get this data – Our script if you’d like to try this is here. However, if you are getting data from a different game, you’ll be pleased to know Splunk supports a wide variety of data inputs.
- Then, create Splunk searches and dashboards to your heart’s content and show off something cool!
Our dashboard code for Beat Saber is available here.
All in all, this was completed in just 1 day. Whatever the use case is, whether it’s just for a bit of fun or to meet an important business use case, Splunk is a very powerful tool and flexible. Get data in from anywhere!
The video/steps provided in this blog were possible thanks to the HTTP Status mod for Beat Saber, which was used under the MIT License.
Copyright (c) 2018-2019 opl
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.