TopStats for Counter-Strike 2
CS2 server analytics for CounterStrikeSharp.
Community CS2 servers compete for players every night, and the difference is made in retention you can measure: session lengths, map-by-map population, round flow. TopStats captures it from a standard CounterStrikeSharp plugin - sessions with durations, round ends with winners, map changes, and a server-stats heartbeat.
SteamID64 identifies players across name changes; bots are excluded; and other CSS plugins can post custom events - clutches, purchases, rank-ups - through the exposed tracker.
Tracked automatically
player_connected / player_droppedwith session seconds and the current map
round_endedwinner and round number
map_changedevery rotation
server_statsplayers, capacity, map and uptime on a heartbeat
Drop into CounterStrikeSharp
- Install CounterStrikeSharp on the server.
- Drop the TopStats folder into addons/counterstrikesharp/plugins/.
- Set the api_key in configs/plugins/TopStats/TopStats.json.
{
"api_key": "ts_live_...",
"source": "cs2",
"track_rounds": true
}Common questions
Does it need Metamod?
It needs whatever CounterStrikeSharp needs (Metamod:Source under the hood). If CSS runs on your server, TopStats runs.
Can match plugins send their own events?
Yes - the plugin exposes its tracker so other CSS plugins can Track custom events with a SteamID actor, landing in the same dashboards as the automatic ones.