Tech Volunteer Guide

Thank you for volunteering as a restreamer at an upcoming event. The restreamers run the stream by using the broadcast package to control the action. If you've got experience with other marathon setups that use NodeCG, you'll feel right at home, and hopefully find your experience even easier than usual!

General Duties

You'll organise and work alongside runners, hosts and setup volunteers, with all expected to follow your instructions. You will control the stream's OBS through an online portal. Your general workflow is as follows:

Discord

All voice communications during the stream take place on Discord:

Introducing NodeCG

If you've been on tech for a marathon before, you'll likely be familiar with NodeCG. Capable of a lot of functions, primarily it acts as a web-based interface for remotely controlling an OBS instance. Ours is accessible at https://node.nickrpgreen.com. You'll be asked to log in with Twitch as your Twitch handle grants you access. If you cannot log in, please contact a staff member or @NickRPGreen.

You'll need to use the first three main tabs across the top left of the workspace. The Settings tab and the tabs on the top right of the workspace are to be ignored, please don't touch them.Β 

On each tab, you'll have a bunch of different controls. Hovering over the bar at the top of each will allow you to collapse and move them; you're welcome to do this and reorder the controls as you wish; this won't affect the display for other users. You can also zoom the page in and out to make the controls easier to manage.


Main Workspace

The Main Workspace is used to manage the current run and to change over to the next run. This will be the tab you spend most of your time on, using the following controls:

Run Player

This is useful for looking at the information about any run in the marathon. They're all displayed in schedule order and you can click on the arrow on the right to see more details. You won't need to click on any of the play buttons, switching to the next run is automated elsewhere.

Preview/Program

This is a live feed of the OBS Preview and Program scenes. Preview can be used to check on edits or changes, whilst Program is being streamed to Twitch. The two icons in the middle change colour to show that the stream is live and the recording is active. If either feed isn't displaying anything, please ping @NickRPGreen

Twitch Control

This shows the information being sent to Twitch to update the Stream Title and Game Category, including tagging the runners in the Title. This should all be automated and should only be edited in case of an error.

Timer

This controls the timer that is displayed on the stream. Whilst active, most of the other controls are disabled. From left to right the buttons are:

During a race, each runner will have their own individual Stop, Forfeit and Undo buttons, used as each runner finishes.

After a run, when you transition to Intermission, the timer will automatically reset ready for the next run.Β 

Remember: always take instructions to start/stop from the runner through them talking on NodeCG. This way the delay of their stream matches when we start and stop the timer.

Timer reset (run ready to start)
Timer running (run in progress)
Timer stopped (run over)
Race timer

Warning Message

This toggles a warning message that appears at the top of the game feed for each player. This is useful for warning viewers of flashing lights, disturbing content or any other moments you'd want to warn of.Β 

The button turns green when the message is showing and the current state of the warning message will persist between runs and refreshing sources. Multiplayer runs will produce a button for each player, with the warning message only appearing over that player's feed.

Live Switch

This is where the majority of the action takes place. If you have a Stream Deck or similar device, this works much the same way, as they are simply programmable buttons that perform certain actions. Whilst the timer is running, most scene switch buttons are disabled to avoid accidentally switching whilst a run is in progress. Whilst each button appears self-explanatory, there are a couple of extra actions taking place on each.Β 

OBS

This has some additional control for OBS, which for the most part is automated, but is likely your first port of call if there are any issues:

As a general rule of thumb for balancing:

Runners and commentators will have already been audio balanced by the setup volunteer so that their output levels are correct. Don't ask them to adjust any further unless you think there's an issue on their end. You need to ensure that the output levels here are balanced correctly - if the runner's audio is always balanced the same way, you likely won't need to change the levels here.

If you're doing tech for a multiplayer run, you'll only see Player 1's audio during Intermission, and you'll always start with Player 1's audio when the run starts. Once the run goes live, any additional players' Out audio should remain muted, but you can use the Mon audio to balance it ready. Game audio can be swapped between runners if one player gets ahead in a race. Mic audio should only ever be swapped if there's an issue with Player 1's audio.

Runs

The Run Editor is where the run details are entered that will show on stream. All of these details should already be prepared and shouldn't need any manual entry unless changes are required. To do this, click on the Edit Run button (third circular button under the details) which will open up the Edit Run panel. Do not use any of the other buttons under the run info.

You shouldn't need to make any changes as the Setup Volunteer will go through these details and update them with the runner before they're handed over to you. You should also avoid making any changes to current run, either during the run, or the Intermission before it starts. Making changes to the run whilst at Intermission will cause the Intermission screen to refresh with the new details - even if they're details that aren't shown on the Intermission screen.

Notes about these fields:

The other panels in the Runs tab shouldn't really be needed, though the Player Layout panel can be used to quickly swap race names around if the runners have set up in a different order to what has been entered. If you're on tech for a relay, a Staff member will help you through the Relay Control.

Ending The Current Run

It's important to remember that all comms to the stream come through the runner's feed. That feed comes from a Twitch stream and will therefore be delayed from the live comms happening on Discord. Whenever you need to take a cue from the comms (start/stop the timer; the host is ready to finish), it should always be done by listening to the stream in the πŸ”ŠHOST/TECH ROOM, not by listening to Discord, nor by listening to the marathon's Twitch stream.

Before you can get the next run started, you'll need to end the current run. Listen out for the runner's instruction to hit the stop button on the timer. The runner and host should then wrap up their comms. If you feel they're taking too long or we're behind, ping the host instructions to speed it up.Β 

If the marathon is running on time, ping the host to let them know that you plan to go to a charity video during the intermission. If it's running behind, let them know we'll go to intermission instead. Once the host has declared they're ready to finish, hit the corresponding button on the Live Switch Panel. Do not join the πŸ”ŠLIVE voice channel until you've gone to intermission and ensured that the mics are cold (this should be automatic, but always best to double-check).Β 

It's usually polite to wait for the current runners to leave the πŸ”ŠLIVE voice channel, but if they're taking too long, feel free to ask them to jump out or into the πŸ”ŠGREEN ROOM, especially if we're behind schedule.Β 

Preparing The Next Run

Runners and commentators cannot enter the πŸ”ŠLIVE voice channel freely, you'll need to drag them in from the πŸ”ŠGREEN ROOM. Check the OBS Preview to ensure the runner's stream is showing correctly on the correct scene and make any final adjustments.Β 

Audio Check

You also need to do a final audio check - the setup volunteer will have balanced the audio with the runner, but you now need to check that it looks right on our end using the Mon sources on the Live Audio Monitor:

If you've made any adjustments to the Mon sources, copy those adjustments to the Out sources.

Ready to Start

If we're ahead of schedule and you haven't already played a charity video you can still do so to give the intermission time to play. The host can also jump into the πŸ”ŠHOST ROOM to chat with the audience during the intermission. Ideally, you want to start the run at the time on the original schedule, but it doesn't hurt to start early rather than leave the audience on the intermission screen for ages.Β 

Check with the runner exactly when the timer should start and finish, and ask them to give you a rough idea of what should be happening about five minutes before the end of the run. This gives you a better idea of when you need to be ready on the timer. Also double check whether you'll need to display any warning messages during the run - the runner's advice on this will be advised on the tech sheet, so go over that with the runner to make sure you're happy with it.

When everyone is ready and you're happy to start, ask the host to give a clear countdown once you've left the channel. Listen to the audio in the πŸ”ŠHOST/TECH ROOM and press the "Start Run" button once the host's countdown has ended. The mics should instantly unmute so that the host can start their introduction. After five seconds, the scene will switch and the game audio will unmute. The delay is intended so that the host starts taking before and during the transition, which makes things flow better.

Once everyone on the stream is talking, keep an eye on the audio levels and adjust if necessary, you should see the "Out" inputs unmute automatically. If only one person is too loud or quiet, ping that person in the #live channel to adjust their own level.

When the runner does their countdown for the timer to start, hit start. That's it, the run is underway - just make sure you're keeping an eye on the stream as you're the first port of call should any issues occur. If issues do occur, troubleshoot and suggest fixes as best you can. If you cannot find a solution, ping a Staff Member.