Plugin CounterStrikeSharp · MySQL · Temps réel

Chaque frag, chaque round, chaque joueur — trackés automatiquement.

CS2-STATPLAY capture les événements de votre serveur Counter-Strike 2 en direct, les persiste en MySQL, et les agrège à trois niveaux : lifetime, session, et par map. Prêt pour la prod, zéro SQL manuel.

MIT License CS2 + CounterStrikeSharp MySQL 8+ v1.1.0

Comment ça marche

Du tir en jeu à la stat affichée, en quatre étapes.

1

Événements CS2

Kills, rounds, grenades, bombe, otages, connexions — captés en direct.

2

Buffer mémoire

Événements convertis et bufferisés, purge transactionnelle toutes les 15 s.

3

MySQL brut

Tables d'événements bruts : kills, rounds, sessions, présence…

4

Agrégats + dashboard

Procédures stockées recalculent les stats lifetime / session / map.

Catalogue des statistiques

Deux couches par catégorie : ce que le plugin capture directement pendant la partie, et ce qui peut en être déduit par calcul une fois les événements accumulés — la plupart de ces calculs sont déjà faits par les procédures stockées du plugin.

Sessions

Capturé
  • Connexion / déconnexion (horodatage)
  • Map au moment de la connexion
  • Nom affiché du joueur
  • Raison de déconnexion
Déduit
  • Durée de session, temps de jeu total (lifetime)
  • Temps de jeu moyen par session
  • Nombre de sessions, sessions par map
  • Joueurs récurrents vs joueurs de passage
  • Créneaux horaires les plus fréquentés

Rounds

Capturé
  • Début / fin de round, numéro, durée
  • Équipe gagnante
  • Raison et message de fin de round
  • Joueurs restants à la fin
  • Limite de frags / de temps, objectif
Déduit
  • Total de rounds joués
  • Taux de victoire CT vs T (global, par map)
  • Durée moyenne de round
  • Répartition des fins de round (élimination / bombe / temps)
  • Rounds gagnés par joueur (croisé avec les kills du round)

Kills

Capturé
  • Arme utilisée, distance du kill
  • Headshot, zone touchée (hitgroup)
  • Tir à travers un mur (wallbang)
  • No-scope, tir à travers une fumée
  • Tueur aveuglé / en l'air au moment du kill
  • Kill assisté par une flash
  • Dégâts infligés (vie + armure)
Déduit
  • K/D, K/D/A, ADR (dégâts moyens par round)
  • % headshot — global et par arme
  • Arme favorite, répartition des kills par arme
  • Répartition par zone touchée
  • % wallbang, % no-scope, % kill à la fumée
  • Distance moyenne / maximale de kill
  • Multi-kills par round (2K, 3K, 4K, ace)
  • Premier kill du round (entry kill), taux d'entry
  • Victime la plus tuée ("nemesis")
  • Meilleure / pire map par K/D

Grenades

Capturé
  • Détonation HE, flashbang, molotov, smoke
  • Round et map de la détonation
Déduit
  • Grenades lancées par type et par round
  • Grenade favorite
  • Kills à la grenade (croisé avec les kills par arme)

Objectifs

Capturé
  • Pose / désamorçage de bombe
  • MVP de round
  • Sauvetage / mise à mort d'otage
Déduit
  • Taux de pose / désamorçage par round joué
  • Taux de MVP par round joué
  • Bombe posée → explosée vs désamorcée (croisé avec la fin de round)
  • Ratio otages sauvés / tués

Présence

Capturé
  • Nombre de joueurs connectés, à intervalle régulier
  • Identités des joueurs présents à l'instant T
Déduit
  • Pic de fréquentation, moyenne de joueurs connectés
  • Fréquentation par heure / jour de la semaine
  • Taux de remplissage du serveur
  • Comparaison de fréquentation entre maps

Agrégats — lifetime / session / map

Capturé
  • Rien de nouveau — cette couche ne capture pas, elle recalcule.
Déduit
  • Toutes les statistiques ci-dessus, matérialisées à trois niveaux : lifetime, par session, par map
  • Classement global des joueurs (rank), top N
  • Tout ce qu'affichent !stats, !rank et !top

Dashboard de démonstration

Un aperçu affiché du catalogue ci-dessus — bruts et déduits mélangés, comme sur un vrai dashboard. Chiffres fictifs, générés pour l'exemple — pas de serveur réel derrière.

Kills trackés 48 219
Headshot % 41,3%
ADR moyen 78,6
Sessions enregistrées 1 204
Temps de jeu cumulé 3 140 h

Classement — top 5 joueurs

#JoueurKDAK/DHS%ADRMVP

Kills par arme

Victoires de round

Kills sur les 8 dernières sessions

Joueurs connectés pendant un match

Commandes en jeu

Consultables directement dans le chat, sans quitter la partie.

Louis!stats
[STATS] Louis — 24K / 15D / 6A · HS 46% · ADR 84.2 · 3 MVP · 6h12 jouées
Louis!rank
[RANK] Louis est #7 sur 312 joueurs trackés (par kills totaux)
Louis!top
[TOP 5] 1. Vex (1 902K) 2. Kryo (1 740K) 3. Nova (1 655K) 4. Ashen (1 588K) 5. Louis (1 511K)

Commandes réelles du plugin : !stats, !stats <nom>, !rank, !top.

Prêt à tracker votre serveur ?

Installation en 5 étapes, migrations de schéma automatiques, zéro SQL manuel.

Voir le repo CS2-STATPLAY