Skip to content

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

License

Notifications You must be signed in to change notification settings

dethredic/WC3StreamerOverlay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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