-
Notifications
You must be signed in to change notification settings - Fork 5
Home
dsstats is a fan project for StarCraft II Direct Strike replay statistics. It decodes Direct Strike replays, turns them into player, commander, build, unit, and rating data, and publishes community stats at dsstats.pax77.org.
The project is open source under AGPL-v3. The data is contributed by players and is used for the community stats shown on the website.

- Website - global ratings, winrates, replays, builds, units, arcade data, and TE tools.
- mydsstats PWA - browser app for decoding and managing your own Direct Strike replays.
- Microsoft Store app - Windows desktop app with automatic replay detection and session progress.
- Source code - current dsstats repository.
- Windows service - background replay upload service for set-and-forget setups.
- Decode Direct Strike replays locally in the desktop app or browser PWA.
- Store local replay data so replay browsing and upload workflows can be used offline; ratings come from the server when online.
- Upload replay data only after consent, so your games can contribute to global stats.
- Show website stats for commander winrate, synergy, timeline, counts, player ratings, builds, units, and replay details.
- Combine dsstats uploads with SC2Arcade public match data for stronger rating and commander analysis.
- Provide TE tools such as pick/ban and in-house session pages.
The desktop app and PWA decode replay files locally and upload the normalized replay data needed for stats only when you allow uploads. This is much smaller than raw replay files and avoids sending the full replay during normal bulk upload workflows.
The website also has a single replay upload page. That page sends the selected replay file to the server for decoding because it is a one-off web upload.
See Privacy Policy for the short version.
- Installation - choose the desktop app, browser PWA, website upload, or service.
- Desktop app documentation - current Windows app workflow.
- Website guide - public site pages and filters.
- mydsstats PWA guide - browser replay workflow.
- MMR calculation rules - rating types and rating behavior.
- Leaver Handling - how games with leavers are scored.
- InHouse Sessions - private session workflow, match suggestions, replay upload, and closed-session review.
- SC2Arcade Data - how public arcade match data is used.
- Combined dsstats and SC2Arcade ratings - why combined ratings exist.
- Average Rating Gain - why rating gain can be better than raw winrate.
- Cheat detection - replay adjustment and missing upload checks.
Recent versions focus heavily on local decode speed, memory use, and smaller uploads. Replay parsing and storage happen locally in the desktop app/PWA, while ratings are calculated on the server from the shared dataset. The server accepts queued upload jobs, caches expensive stats, and handles rating recalculation as background work. The result is that normal users get fast local replay feedback while the public website and apps can use consistent server ratings.
A replay can contain each player's last spawn, including units, locations, and upgrades. When the replay is long enough, dsstats can also use the 5 minute, 10 minute, and 15 minute marks.
The usual clean-game filter:
- At least 5 minutes long.
- No leavers.
- Six players, 3v3.
- A known result, normally because an uploader pressed Victory or Defeat.
The estimated chance that a team wins based on the rating difference between both teams. Close games are near 50 percent. Large rating gaps create high or low expectations.
A player who leaves before the normal game end. Leavers receive special rating handling because their team can gain or lose a large advantage.
The commanders spawning at the same time. In a 3v3 game there are three matchups: position 1 vs 4, position 2 vs 5, and position 3 vs 6.
The player who killed the highest army value in the game.
The rating pool used for a stat or player list: All, Standard, Commanders, Standard TE, or Commanders TE.
Direct Strike Tournament Edition. It is commonly used for tournaments and in-house games, supports observers, and has a timer that can decide the game by collected minerals.
The player or tool that contributed the replay data to dsstats.
A filter for selecting games by expectation to win. For example, an offset of 10 roughly keeps games where both teams had a 40 to 60 percent chance to win.