The on-screen graphics used during Benelux Speedrunner Gathering's "marathon" events.
This is a bundle for NodeCG; if you do not understand what that is, we advise you read their website first for more information.
This documentation isn't fully complete and may have errors, but intends to be as correct as possible.
This is a NodeCG v2.0 bundle. You will need to have NodeCG v2.0 or above installed to run it. It also requires you to install the nodecg-speedcontrol bundle (of which you may also need to install the latest changes instead of the most stable release).
You will need Node.js (20.x LTS tested) and git installed to install NodeCG, then see the NodeCG documentation on how to install that. I also suggest installing nodecg-cli
; information on that is also on the documentation just linked (the guide below will assume you have done this!). You may also need to install the appropriate build tools for whichever platform you are running on; for example if you are on Windows you can either install it while installing Node.js, or using windows-build-tools.
Next, clone the build
branch of this repository into the NodeCG bundles
folder and install the dependencies:
cd bundles git clone https://github.com/bsgmarathon/esa-layouts.git --branch build cd esa-layouts pnpm install --frozen-lockfile
You will probably also want a default configuration you can fill in, which can be created using:
nodecg defaultconfig
.
Then, to get the most recent changes for nodecg-speedcontrol, clone the build
branch and install dependencies, similar to above:
cd .. git clone https://github.com/speedcontrol/nodecg-speedcontrol.git --branch build cd nodecg-speedcontrol pnpm install --frozen-lockfile
In addition, to have the videos
assets automatically audio normalised, you must have python
(v3), ffmpeg
, and ffmpeg-normalize
available in your system's PATH
. If you don't have all of these, the check will fail and videos will just not be touched. For Windows, python
(v3) should be automatically installed when you install Node.js built tools, if you chose to do that.
Not everything you can set is documented here; if you're an advanced user we advise you take a look at the included configschema.json file.
This bundle heavily relies on the obs-websocket plugin, so make sure you have this installed (custom address/port and password can be specified in the bundle's config if needed).
This bundle also heavily relies on information from a RabbitMQ server, and an instance of our fork of the GamesDoneQuick donation tracker.
Deprecated in favor of companion plugin.
Included with this bundle is a plugin for the Elgato Stream Deck software that can be used by various crew members during events. Once you have the Stream Deck software installed, you can install the plugin by running the file com.esamarathon.streamdeck.streamDeckPlugin
in the streamdeck-plugin/Release
directory. Currently, you need to set the actions up yourself in the software, so it can easily be customised on the fly.
While this bundle still contains something called FlagCarrier, it has been repurposed for something else internally
This can be enabled via the config, controlled via Stream Deck buttons available in the included extension, and the graphic files tts.html
will play them when requested. You will need to set a specific URL for the voiceAPI
setting in the config though, so unless you know this it's somewhat useless, sorry.
This bundle can interface with foobar2000 using the beefweb plugin. Set up foobar2000 however you want it to play music (we use a long playlist on shuffle, and set a fade in/out on pause), make sure the correct username/password are set in the configuration file, and this bundle with automatically play music when needed. It will only play if the scene name ends in [M]
, for example, Intermission [M]
.
Alternatively, you can use DeaDBeeF with the same beefweb plugin if you are using linux.
- Country flags sourced from speedrun.com.
- clip.ts, modified from a version originally written by Hoishin.
- https://calculateaspectratio.com/ for helping me (duncte) wiht some math
Install nodecg first before doing anything else
To get this bundle set-up for development run the following commands. Make sure to install speedcontrol!
cd bundles git clone https://github.com/bsgmarathon/esa-layouts.git cd esa-layouts git submodule update --init --recursive pnpm install