StarCraft Casting Tool

Casting StarCraft 2 made simple: Match Grabber, Map Icons, Score Icon, Player Intros, and more.

View project on GitHub

Release Build status Downloads GitHub license Requirements Status Discord

StarCraft Casting Tool

StarCraft Casting Tool (SCC Tool) is a free to use open source program that makes casting StarCraft 2 simple while increasing the production value substantially by providing a match grabber, predefined custom formats, and various sets of animated icons and browser sources to be presented to the viewer.

scct-v2

Important Note (2020-03-06)

Due to a crash of my hard drive, I lost the keypack to sign the updates. Therefore, I had to rebuild the update channel of the application. Thus, in order to update your version of StarCraft Casting Tool you have to download the latest Setup and install the latest version manually

Downloads

Feature List

  • Custom Match Format: Bo1-Bo15, All-Kill format, 1vs1 - including predefined formats for Koprulu, WardiTV, and PSISTORM Gaming Team League.
  • Two sets of Map Icons: Box and Landscape in casting_html
  • Scoreboard including team icons in casting_html
  • Animated Player Intros in casting_html including Text-to-Speech, player name & race via SC2-Client, team with logo via SCC Tool
  • Map Preview with Statistics from Liquipedia in casting_html
  • Aligulac Browser Source that predicts the outcome of a 1vs1 match in casting_html
  • Map Vetoes Browser Source in vetoes.html
  • Countdown Browser Source in countdown.html
  • TXT-files with match infos in casting_data
  • Twitch & Nightbot Integration: Update your stream title or bot commands via a single click or automatically
  • Automatic Score Detection via SC2-Client
  • Interaction with SC2-Observer-UI: Automatically toggle Production Tab and set Score at the start of a Game
  • Nearly unlimited Customization via Skins and CSS
  • French, German, Chinese, and Russian language support

Discord Server

If you need support, have questions, want to be up-to-date on, or like to contribute to this project in any way, join our Discord Server.

Video Tutorial | Changelog | Discord Server

General Information

The tool generates various browser sources (and text-files): Amongst others, two complete sets of corresponding Map Icons (including map, players, races, and score), a Score Icon (including the score, team names, and logos), GSL-like Intros (including player, race and team), and Map Statistics.

StarCraft Casting Tool can monitor your SC2-Client to detect the score, update it automatically, and provide corresponding player Intros. On Windows, the tool can additionally and automatically set and toggle the score in your SC2-Observer UI and toggle the production tab at the start of a game.

This tool should run on any operating system that supports Python 3, e.g., Windows, MacOS, and Linux, but the interaction with the SC2-Observer-UI is currently only supported on Windows.

Installation

Executable with Updater

Only Windows (64-bit): Download the latest executable StarCraft-Casting-Tool.exe, place it in a preferable empty folder folder with sufficient write-privileges and execute it. After the first start a subfolder structure is generated and all additional data is downloaded - do not move or alter this data structure relative to the executable. Do not rename the executable.

Alternativ: Python Script

Windows, MacOS, Linux: Download the Source Code as Archive and exctract StarCraft Casting Tool, download the latest version of Python 3.6 at https://www.python.org/downloads. This tool requires the additional Python Packages, to install these packages execute pip install -r requirements.txt.

Instructions for Use

Video Tutorial

Video Tutorial

Basics

Run StarCraft Casting Tool via StarCraft-Casting-Tool.exe (or StarCraftCastingTool.pyw). One can create a match in the Custom Match tab. Edit the data if necessary. The sliders control the score of each map. The top slider is to select your team. Once selected the border of the Map Icons turn (by default) green or red depending on the result. To select your team automatically you can add it to Favorite Teams list under Settings: Misc. Similarly you can enter your players’ nicknames into Favorite Players for auto completion.

Data for Streaming

All data (placed in casting_data or casting_html) can be found in the respective profile folder at C:\Users\<User>\AppData\Local\team pheeniX\StarCraft-Casting-Tool\profiles\<Profile>\ that can be accessed conveniently by via SCCT’s menu Profile: Open current folder.

Raw data for streaming can be found in the directory casting_data and be included into OBS (or any similar streaming tool) via Text read from local file. The Map Icons can be found in the directory casting_html and have to be included via browser source from local file as well. There are two type of icons: box icons in casting_html/mapicons_box_x.html and landscape icons in casting_html/mapicons_landscape_x.html. A single icons has the following dimensions - box size: 275x275px, landscape size: 1005x105px, but the chosen dimension of the browser source determines the arrangement of the icons. Note that you can scale the browser source(s) down/up if you want to make the icons smaller/larger. All browser sources refresh automatically - you should have to refresh the cache of this browser sources only if a new update has been applied. A simple method to add the browser source in OBS studio is drop drag and drop the files into your desired scene.

If the tool is missing a map, you can add them in the Map Manager that can be found in Settings: Misc.

Local network URL

Instead of including browser sources from local file, one can include them via a local network URL http://localhost:{port}/{browser_source}, e.g., http://localhost:{port}/score. The {port} is a unique number for each profile (displayed when hovering over the LEDs in the status bar at the bottom). Adding .html to {browser_source} is optional. You can open or copy these URL’s by navigating the Browser Sources menu. Moreover the txt-files in casting_data can be accessed via http://localhost:{port}/{file}.txt as well (.txt optional).

The disadvantage is that the browser source that are included via a local network URL are only available when StarCraft Casting Tool is running, whereas the browser sources from local file will display the last data even if the tool is not running.

You can use this to serve browser sources to another PC in the network (http://{your_local_network_ip}:{port}/{browser_source}) or to a different person via the internet (http://{your_internet_ip}:{port}/{browser_source}) given that you enable port forwarding on your PC (and router) for the specific port (TCP) that StarCraft Casting Tool is using.

Twitch & Nightbot

To update your Twitch title (and set your game to StarCraft 2) or Nightbot command via click on Update Twitch Title or Update Nightbot you have to set your Twitch Channel and/or generate an corresponding access token. This can be done via Settings: Connections. Note that you can also change the title of Twitch channels that do not belong to the user you have generated the access token with as long as this user is registered as an editor of the corresponding channel. The format of your new title can be customized via the Title Template with the use of placeholders (hover over the input field to get a list of all available placeholders) and specified under Settings: Connections.

Background Tasks

Automatic Score Detection

To active the automatic detection of the score via the SC2-Client-API check the box Auto Score Update of the Background Tasks. This score detection does only work if you either play or observe a decided game (game length > 60 seconds) with a pair of players that were specified on one of sets. If there are multiple sets eligible, the score is entered for the first undecided set.

Set Ingame Score

Some Observer Interfaces like GameHeart have a toogle-able score, that can be toogled by pressing Ctrl+Shift+S. When using other Oberserver-UI like WCS that have no toggle-able score and don’t have assigned this hot-key combination SC2 will be interpret it as Ctrl+S and typically disable your sound. Therefore, SCC-Tool does not press Ctrl+Shift+S to toggle the score in the Observer-UI by default at start of a game. To enable this feature, you have to set the checkbox under Settings: Misc: Ingame Score - similiar additional options can be found there as well.

Frequently the order of players given by the SC2-Client-API differs from the order in the Observer-UI resulting in a swapped match score when using Set Ingame Score. To correct this you can activate Optical Character Recognition (OCR) once you have to downloaded and installed Tesseract-OCR - it’s recommended to use an older v3 version of Tesseract-OCR. On a dual monitor setup OCR will currently only work if SC2 is displayed on the primary monitor.

Player Intros

intro-demo

Include the Player Intro casting_html/intro.html as browser sources (using the full height and width of your display). The data will be updated when a game or replay is started in the StarCraft 2 client. You have to assign hotkeys to trigger the intros in Settings: Browser Sources: Intros. The first player is always corresponding to the player your observer camera is centered on at start of a game. The sound volume of the intros as well as the duration of the intros can be adjusted in Settings: Browser Sources: Intros. Additionally you can activate Text-to-Speech to include an automatic annoucements of the player’s team and name. There are currently three different animations with an unique sound, e.g., Fanfare - see https://youtu.be/kEcxS4K9vJ4?t=25m45s for an review of Fanfare.

You have the option to have the player announced with Google-Cloud Text-to-Speech featuring high quality voices that you can test at https://cloud.google.com/text-to-speech/.

Customization

Some basic options for customization can be found under Settings: Styles, for example, alternative styles/skins for the Map Icons, Score Icon, Intro and option to specify colors. For additional nearly unlimited customization of the Icons you can make your own custom skins via CSS by creating new alternative CSS-files and placing them into casting_html/src/css/{browser-source}. If you do so, please share your custom skins with this project. If you want help implementing your own icon skin with CSS or just want to share an idea for a skin join the Discord Server.

Help, Bug-Report, Suggestions & Contribution

If you need help, have bugs to report, have suggestions to make, or want to contribute to this project in any way join the Discord Server of this project via https://discord.gg/G9hFEfh and/or message me (pres.sure#5247) on Discord.

In the case of a bug report please provide the log-file (after closing StarCraft Casting Tool) that can be found in the directory C:\Users\<User>\AppData\Local\team pheeniX\StarCraft-Casting-Tool\Log or navigated to via the menu.