/WC3StreamerOverlay

A simple tool for wc3 streamers to display their opponent's race and stats

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

WC3 Streamer Overlay

A simple tool for WC3 streamers to display their opponent's race and stats

Summary

Only bnet games are supported (ROC and TFT). Custom games and local games are unsupported

Twitch Example (Old UI)

1v1

  • The Warcraft III Observer API (War3StatsObserverSharedMemory) is used to determine if a game is in progress
  • A packet sniffer is used to obtain the opponent's name and race
  • Stats are scrapped directly from (classic.battle.net/war3/ladder)
  • The gathered information is broadcast via a websocket
  • A basic client written in React/Material-UI displays the information

Usage

  • Install Npcap
  • Download the latest release
  • In OBS add a new browser source:
    • Local file: client/index.html
    • Width: 280
    • Height: ~300 (use more for team games)
    • Move/resize as desired
  • To test your overlay size / position, run test_1v1 or test_teams. This just fills the client with dummy data
  • Run WC3StreamerOverlay

Troubleshooting

  • Look for the Client connected log. If you don't see that then Refresh cache of current page under the browser source settings in OBS

Development

Requirements

Tool

  • pip install -r requirements.txt
  • python src/main.py

Client

  • cd client
  • npm install
  • npm start
  • See client/README.md

Future Ideas

  • Support a custom port via an argument or config file