CS2 server analytics, per map and per tick.

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.

Questions it answers for Counter-Strike 2 servers

What the demo dashboard answers for this game.

Which maps keep players?

Minutes played per map, and the rounds played on each.

Is it the server or their connection?

Frame time against the 64-tick budget, next to each player's ping.

Who became a regular?

Retention for every week of new players, and new against returning players.

Are VIPs renewing?

Subscription revenue, renewals and churn from your store.

Which rounds do teams win?

Round winners against team equipment value, for balancing retakes and modes.

When is the server full?

Players online through the week, so you know when to run events and when to update.

What ServerStats tracks on Counter-Strike 2 servers

A CounterStrikeSharp plugin on Metamod:Source 2.0. It never reads the server log or the console, and never uses RCON.

Performance

  • Tick rate (64) and frame work time for every frame
  • Frame gaps over 50, 100 and 250 ms
  • Lag spikes split by phase: entity think, timers and OnTick listeners, outside the frame, garbage collection
  • Round restarts flagged on spikes; hibernation and map loads never counted as lag

Players

  • Humans and bots per team, sessions that survive map changes
  • Ping per team every 30 seconds
  • Minutes played per map, quit reasons
  • New and returning players, D1, D7 and D30 retention

Matches

  • Rounds by map and winner, win reasons, round length
  • Kills by weapon, headshots, flash assists, utility thrown
  • Bomb plants, defuses and explosions by site A or B
  • Clutch attempts and wins, 1v1 to 1v5

Economy and store

  • Team money and equipment value at freeze end
  • Round spend and purchases by item
  • VIP and store revenue, renewals and churn (Operator)

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.

The number that matters: frame time at 64 tick

15.6ms
One tick at 64 tick
Tick rate
64
Typical frame work
0.15–0.6 ms
Lag spike
A 50 ms gap
Split by
Frame phase

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.

One plugin. About five minutes.

Works with

  • CS2 dedicated server
  • CounterStrikeSharp
  • Metamod:Source 2.0
  • Tebex
  • Connects out only. No ports to open on your server.
  • A one-time claim code, then the agent signs everything it sends with its own key. No reusable secret is stored on your server or ours.
  • Player IDs are keyed hashes in analytics. Player IP addresses are never sent to us.
Server console
// 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

Counter-Strike 2 questions

How do I check tick rate and lag on a CS2 server?

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.

Is it the server or the player's connection?

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.

Do I need to give you my RCON password?

No. The plugin reads the game inside the server and connects out to ServerStats. We never connect in and never ask for RCON.

Which plugin framework do you support?

CounterStrikeSharp on Metamod:Source 2.0. The plugin is built for .NET 8 and also runs on the .NET 10 CounterStrikeSharp builds.

Does it work for retakes, deathmatch and surf servers?

Yes. Minutes played, rounds and map changes are recorded per map, so you can compare the maps in your rotation.

Is warmup counted?

No. Kills, purchases and rounds during warmup are skipped.

Is it free?

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.

Related games

One ServerStats account covers every game you run.

Start with one Counter-Strike 2 server, free

Install it and see your first numbers today.