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.
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
- Download the latest release zip
- Extract and merge
addons/intogame/csgo/ - Plugin files land at:
game/csgo/addons/counterstrikesharp/plugins/<PluginName>/ - 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