TopStats for Rust

Rust server analytics in one plugin file.

Rust servers live and die by retention across wipe cycles, and a population graph alone cannot tell you why players stop coming back. TopStats captures every connect and disconnect with session duration, plus a periodic server-stats feed, and lets every other plugin on the server post its own events - raids, purchases, kits, events - through one call.

The plugin is a single .cs file that compiles inside the Oxide sandbox - no DLLs to install, works under Oxide and Carbon alike. Players are identified by SteamID64, so name changes never split a history.

Tracked automatically

One file, one config

  1. Drop TopStats.cs into oxide/plugins/.
  2. Set your API key in oxide/config/TopStats.json.
  3. oxide.reload TopStats - events start flowing.
{
  "ApiKey": "ts_live_...",
  "Source": "rust",
  "HeartbeatSeconds": 60
}

Common questions

Oxide or Carbon?

Both. The plugin is a standard single-file covalence plugin with no external dependencies, which is exactly the shape both frameworks load.

Can other plugins send events?

Yes: TopStats?.Call("Track", name, properties, steamId, playerName) from any plugin posts through the same buffered client - raid tracking, shop purchases, kit claims.

What happens on wipe day?

Nothing special is needed - events are stateless. Tag your wipe with an annotation in the dashboard and retention curves across wipes line up on the chart.

More use cases

Your first event is minutes away.

Twelve language SDKs, middleware for nine web frameworks, plugins for seven games, and raw HTTP - all working today. Free plan, 2M events a month, no card.