Fan project · World of Tanks Heat

Replay stats the game doesn't give you

WarStat decodes binary .replay files on your PC and builds a personal profile: damage, tank, K/D/A, score, leaderboard. Only a JSON battle snapshot (~400 bytes) hits the server — never the replay files themselves.

~400 B
per battle to cloud
~1 sec
decode on PC
0 .replay
files on server

How it works

01

You play

Heat writes .replay to coldwar/replays

02

Agent decodes

NetHit, stat snapshots, K/D/A bundles — locally in background

03

Sync

HTTPS + API key, dedup by SHA256 file hash

04

Web profile

Leaderboard, battle history, search — replays deletable

Why WarStat

The official client stores replays but doesn't offer aggregated stats and player comparison. WarStat extracts metrics from the Broengine binary stream: personal damage (NetHitMessage), player stat snapshots (041801), battle result (BattleResultReplayEvent).

The .replay format is closed and varies by mode (conquest, control, domination, killconfirm). The decoder evolves iteratively: byte-stream analysis, stat_id correlation per mode, ML-assisted screenshot validation after battles.

Completely free. Not affiliated with the publisher. Not a cheat or mod — only reads replays already on disk.

Local decoder

WarStat Agent in the system tray. Folder watchdog, low-priority CPU queue, ~1s per battle. Close window to tray — process keeps running.

Cloud profile

PostgreSQL on VPS, public leaderboard, player search. After upload your stats are safe — local .replay folder can be cleared.

🔒Privacy by design

Replay files (~15 MB) never leave your PC. Upload is structured battle fields only. API key binds data to your account.

What we extract: Damage (NetHit) · Tank (frontman) · Win/Lose · Score/XP · K/D/A · Block · Silver · Team score