Counter-Strike 2 Updated April 26, 2026

How to Set Up Player Stats and Rankings on Your CS2 Server

Add kill/death tracking and a persistent rank ladder to your CS2 server to keep players coming back.

CS2StatsRankingsPluginsCounterStrikeSharpRetention

Why Stats Matter

Visible progression is one of the highest-impact features you can add to a community server. When players can see their rank, track their improvement, and compete on a leaderboard, they stay longer and come back more often. It's not complicated — it just works.

Picking a Plugin

Search GitHub for CS2-Ranks or CS2-SimpleRanks — several active forks exist and the landscape shifts as developers maintain or abandon projects. Look for:

  • Recent commits (within the last few months)
  • An active issues/discussions tab
  • Compatibility notes for your current CSS and CS2 build version

The general setup process is nearly identical across all forks, so this guide covers the pattern rather than one specific fork.

Installation

  1. Download the latest release zip
  2. Extract and merge addons/ into game/csgo/
  3. Plugin files land at: game/csgo/addons/counterstrikesharp/plugins/<PluginName>/
  4. Restart the server — on first run it creates the config and database files

Database Options

SQLite (default) — no setup required. The database is a single file on disk. Fine for most servers, especially if you're running one server and don't need cross-server stats.

MySQL — better for larger communities, multiple servers sharing one leaderboard, or if you want to back up stats independently of the server files. You'll need to provide connection details in the config:

{
  "DatabaseHost": "your-db-host",
  "DatabasePort": 3306,
  "DatabaseName": "cs2_ranks",
  "DatabaseUser": "cs2user",
  "DatabasePassword": "yourpassword"
}

Warning: If you run SQLite and then switch to a fresh MySQL database, all existing player rankings reset. Plan your database choice before players accumulate stats.

Key Config Settings

Points per action — configure how many points players earn or lose:

{
  "PointsForKill": 5,
  "PointsForDeath": -3,
  "PointsForAssist": 2,
  "PointsForHeadshot": 2,
  "PointsForMVP": 5
}

Rank thresholds — define when players advance to the next rank. Example:

"Ranks": [
  { "Name": "Silver", "MinPoints": 0 },
  { "Name": "Gold Nova", "MinPoints": 500 },
  { "Name": "Master Guardian", "MinPoints": 1500 },
  { "Name": "Global Elite", "MinPoints": 5000 }
]

Rank-up announcements — most plugins can post to chat when a player ranks up. Keep this on — it's a visible reward moment that other players notice.

Player Commands

Command What It Does
!rank Shows your current rank and points
!top Displays the top players leaderboard
!stats Detailed kill/death/assist breakdown

Stats Persistence

Stats persist across map changes — they're stored in the database, not in memory. Players can leave and come back days later with their rank intact. The only things that reset stats are:

  • Manually wiping the database
  • Switching from SQLite to a new MySQL instance
  • Resetting a specific player via admin command