The definitive guide to streaming tournaments using osu!lazer

The definitive guide to streaming tournaments using osu!lazer

A proper article/tutorial has been long due for streaming tournaments using osu!lazer. The only way to get this knowledge currently is through the word of mouth from people within the tournament community and an already outdated Russian video tutorial. So, here is a definitive guide on how to operate the lazer tournament client and stream it using OBS.

Important note: osu!lazer tournament is only being used as an overlay for the existing tournament client.

Table of Contents

  1. Prerequisites & Requirements
  2. Initial setup for osu!lazer
  3. Setting up osu! stable to work with lazer
  4. Configuring the tournament clients
  5. Setting up OBS
    1. If you already have an existing OBS setup
    2. Adding the necessary items for your stream
  6. Known problems

Prerequisites & Requirements

There are a couple of requirements and programs you need to have installed in advance.

Software requirements:

  • OBS Studio
  • osu! Stable, running on the Cutting Edge branch, this is required
  • osu!lazer, at least version 2020.623.1

Hardware requirements:

  • At least 16 GB of RAM
  • A Powerful enough CPU/GPU combination to game and stream at the same time.

Hardware recommendations:

  • At least two 1080p (or higher resolution) screens.

The amount of RAM and general horsepower your system needs from hereon depends on the teamsize you set for your client. On average one osu! stable instance uses ~300 MB of RAM and you need to incorporate some headroom for OBS and osu!lazer well. Some estimates for OBS and lazer are about 500-600MB each.

Initial setup for osu!lazer

First off to boot up osu!lazer into tournament mode you need to boot it up with the --tournament argument. You could achieve this by creating a shortcut that does this for you.

  1. Right click on your desktop, hover over "New" and then click on shortcut as shown in the screenshot below:
    Desktop Context Menu
  2. In the location field paste the following in: %LOCALAPPDATA%\osulazer\osu!.exe --tournament.
    The window should now look like this: Shortcut creation wizard
  3. After clicking next you want to give it a name. Something like "osu!lazer tournament" would suffice.
  4. You can now boot up osu!lazer in tournament mode using the shortcut you just made!

Setting up osu! stable to work with lazer

Go to the installation folder of the stable installation that you will be using. This will have to be cutting edge as well, so make sure you're on that branch!

You can do this over here in the options overlay:

The section in the settings overlay where you can switch between Stable, Cutting Edge and Beta

After you've confirmed this, you can close it. Once you've closed it create an empty text file called ipc.txt. It will look like this in your installation folder:

An osu! installation folder with the ipc.txt file added

Configuring the tournament clients

Configuring osu! stable in tournament mode is already documented really well on the wiki, so set it up according to the instructions over there: https://osu.ppy.sh/help/wiki/osu!tourney/Setup

Take note of the Height that you set in your tournament.cfg file, because you're going to need this information a couple of times later in this guide.

After you have followed the instructions above, you can open osu!lazer tournament. You will be greeted by this screen:

osu!lazer tournament setup screen

Here is a short explanation of what all of these sections do:

  • Current IPC Source: Over here you set the location of your stable tournament client a.k.a the place where you made the ipc.txt & tournament.cfg.
  • Current User: You login over here with your osu! account so it can grab the information of the players and beatmaps in lazer.
  • Ruleset: This decides what stats and which ranks are retrieved for players that will be shown in the client during matches.
  • Stream area resolution: This is where you match the Height you set in the tournament.cfg file.

You are now ready to connect all the pieces together in OBS.

Setting up OBS

If you have a completely new and clean installation of OBS you can skip this part!

If you already have an existing OBS setup

  1. Create a new scene collection in OBS using the following menu:

    OBS Scene Collection

  2. After you've given it a name you will see a new empty collection of scenes. You will use these later to set up osu!lazer and stable together.

  3. Create a new profile the same way you created a scene collection.

You will now be greeted by a completely blank OBS canvas. You can now switch back and forth between your tournament profile and your other livestreaming profile and keep it separate for organizational purposes.

A blank OBS Canvas

Adding the necessary items for your stream

Open the OBS settings, go to the Video section and set the both the Base (Canvas) Resolution and the Output (Scaled) Resolution to the Stream Area Resolution that is being displayed in osu!lazer tournament. Remember that this should match the height you set in your tournament.cfg.

Apart from that set the video settings to the following:

Make sure the Downscale Filter matches. The frame rate setting can be 59.94 or 60. It doesn't really matter nowadays.

Make sure you have osu!lazer tournament open so you can add it as a Window Capture source in the scene. Make sure the settings match like this:

Note that "Window Title Must Match" is set and Capture Cursor is turned off in the properties

After you click OK your OBS window will look like this:

The osu!lazer tournament window is off-center. You can rectify this by going to the following context menus (by right clicking on the source in the canvas):

When you have your window centered, head to the Gameplay scene in osu!lazer. You will see the screen, but the place where the gameplay is supposed to be is completely green.

Right click on the source you just added and go to Filters

1. Right click on your window capture source. 2. Click on Filters.

After that a window will appear where you can add filters to your source. Click on the following buttons to add a Chroma Key filter to your window capture.

1. Click on the + button. 2. Then click on Chroma Key

A new section will open on the right where you can configure the Chroma Key settings. As of right now the screenshot below is the ideal configuration that properly keys out all, if not most of the green pixels.

Make sure to match these settings: Similarity: 360, Smoothness: 30, Key Color Spill Reduction: 1

Click Close on all the windows until you get back to your canvas. Then click on the lock so you can't accidentally move or adjust the window any more.

Now you can add the windows for all the players that you spectate through osu! stable tournament, using the following settings. You have to repeat this for every player.  

Make sure the settings are Window Title Must Match and Capture Cursor is turned Off

Next up select all of them and drag them all below your osu!lazer window.

You can easily do this by selecting these sources using CTRL or SHIFT and then dragging it below your lazer window.

It may look like the windows are getting cut off now, but you can use the Chroma Width & Players Per Team to adjust it according to your needs.

Your OBS canvas will now look like this on a 2v2 setup:

Click on the lock icon on the sources for all the players when you're done.

All you need to do after this is enter your stream key in the settings and then you're ready to stream tournaments!

Known problems

osu!lazer is still a work-in-progress so a lot of things are still incomplete or can break. Below I've made a list of issues that I am aware of at the moment:

  1. Background videos in osu!lazer can cause memory consumption to never stop increasing while you stream. This is being tracked in this github issue. Essentially, don't use videos in resolutions higher than 1080p and make sure you have more than enough RAM in case it does increase dramatically. Your whole operating system will come to a halt and OBS will crash if it fills your RAM up completely.
  2. If you use a resolution height of 720 in osu!lazer tournament the component that shows the beatmap info may disappear the next time you start it up. I commented a workaround on the issue on how to get it working with 720p for now.

You can follow the osu!lazer project here on GitHub: https://github.com/ppy/osu
Follow me on Twitter: https://twitter.com/MiraiSubject

Feel free to shoot me a tweet if you have any questions!

Show Comments