Which maps keep players?
Minutes played per map, and the rounds played on each.
The plugin reads frame time against the 15.6 ms budget at 64 tick, rounds and map changes, minutes played per map, player ping and store purchases.
Find the maps that empty your server, the frame-time spikes behind rubber-banding and the VIP subscriptions that are about to lapse.
Free for one server. No card needed.
What the demo dashboard answers for this game.
Minutes played per map, and the rounds played on each.
Frame time against the 64-tick budget, next to each player's ping.
Retention for every week of new players, and new against returning players.
Subscription revenue, renewals and churn from your store.
Round winners against team equipment value, for balancing retakes and modes.
Players online through the week, so you know when to run events and when to update.
A CounterStrikeSharp plugin on Metamod:Source 2.0. It never reads the server log or the console, and never uses RCON.
No install yet? Basic mode reads A2S on the game port (27015 by default). Check any Counter-Strike 2 server with the CS2 server status checker.
Plugin-specific payment and gamemode integrations for Counter-Strike 2 are planned. The general dashboard and payments log work today.
CS2 servers run 64 ticks a second, so each tick has 15.6 ms. Frame time is the work the server does inside a tick: entity simulation, game events and every plugin's handlers. The rest of the 15.6 ms is idle. On the test server with ten bots, the work was 0.15 to 0.6 ms.
When a frame arrives late, ticks are lost and players see rubber-banding. ServerStats measures the gap between frames and records any gap of 50 ms or more as a lag spike, split into the phase that took the time, with a flag if a round restart happened in that frame.
CounterStrikeSharp keeps no per-plugin timings, so a spike is named by phase, not by plugin.
Works with
// Extract the zip into game/csgo/ and start once, then in the console: css_serverstats claim SS-XXXX-XXXX-XXXX // or set "ClaimCode" in // addons/counterstrikesharp/configs/plugins/ServerStats/ServerStats.json // and run: css_plugins reload ServerStats
css_serverstats status in the console shows the tick rate, frame work (median and worst), the worst frame gap and the plugin's own cost. The dashboard keeps the history and marks every spike.
Compare the two: frame time and lag spikes are the server, ping per team is the connection. If frame time is flat while ping climbs, it isn't your server.
No. The plugin reads the game inside the server and connects out to ServerStats. We never connect in and never ask for RCON.
CounterStrikeSharp on Metamod:Source 2.0. The plugin is built for .NET 8 and also runs on the .NET 10 CounterStrikeSharp builds.
Yes. Minutes played, rounds and map changes are recorded per map, so you can compare the maps in your rotation.
No. Kills, purchases and rounds during warmup are skipped.
Free covers one server with 24 hours of history, forever, with no card. Operator is $9.99 a month for 10 servers and 90 days of history, which you need for week-on-week trends and D7 or D30 retention. Yearly billing gives two months free.
One ServerStats account covers every game you run.
Install it and see your first numbers today.