Deployed at magicsentry.pro
Live WarCraft III game intelligence — a monorepo containing three applications that work together to capture, stream, and visualise real-time game data.
| Package | Stack | Description |
|---|---|---|
cli |
Rust · Windows | Reads live game data from WC3 shared memory, writes JSON snapshots to disk, and streams incremental patches to the web server |
web |
TypeScript · Hono · React | Receives patches from the CLI, reconstructs full game records, and exposes a JSON API for viewers |
twitch-extension |
TypeScript · React · Vite | Twitch video overlay that polls the live API and renders interactive charts for heroes, resources, food, and army composition |
See cli/README.md for full usage.
magic-sentry.exe
Place a magic-sentry.toml next to the executable to enable HTTP streaming:
endpoint = "https://your-server.example.com/api/ingest"
secret = "your-cli-token" # token generated in the web UI → Settingscd web
npm start- Node.js 22+
- Docker (for Postgres)
- Rust with the
x86_64-pc-windows-msvctarget (CLI only, Windows)
# 1. Install dependencies
npm install
# 2. Start Postgres
docker compose up -d
# 3. Configure environment
cp web/.env.example web/.env
# Edit web/.env — fill in TWITCH_CLIENT_ID and TWITCH_CLIENT_SECRET
# Create a Twitch app at https://dev.twitch.tv/console and add
# http://localhost:3000/auth/twitch/callback as an OAuth redirect URL.
# 4. Start the dev server
npm run dev:webThe web UI is available at http://localhost:3000.
# Rust CLI (Windows target)
cargo build --release --target x86_64-pc-windows-msvc -p magic-sentry
# All JS/TS packages
npm install
npm run build:all# CLI integration tests (Windows)
cargo test -p magic-sentry
# TypeScript type-checking
npm run typecheck:extension
npm run typecheck:web