View Single Post
Author Message
red!
Senior Member
Join Date: Sep 2007
Location: Germany
Old 03-05-2012 , 18:11   [ANY] H-Stats (simple single-server player skill stats)
Reply With Quote #1

Feature list:

* Supports generic mode for any symetric multiplayer game; extended support for Counterstrike:Source and CS:GO
* Basic player statistics (kpd, score, playtime, etc.)
* hlstats-like interface (just added the "sm_" prefix or "!" in chat to make it behave a bit more sourcemod-look-alike
* no sql database needed, stats are saved in a plain, human-readable file
* players that have not been connected for more than 28 days will be suspended from ranking, but not deleted. After reconnect they will be reactivated automatically.
* user can configure plugins verbosity by "!settings" menu
* NOTE: NO, THERE IS NO WEB-INTERFACE, NOR THERE IS ANY MULTI-SERVER SYNCHRONIZATION

Reference server:
If you want to have a look at it before installing:46.228.195.116:27015 (CS:GO), 85.131.176.168:28000 (CS:S)

Commands:

menu-based cmds (intended to be called from within chat as e.g. !rank or /rank):
sm_rank, sm_kpd: Callers stats
sm_top, sm_top10: Player ranking by points
sm_next: next players relative to callers rank
sm_scoreboard, sm_score: Show ranking of players currently online

console cmds:
sm_hstats: full stats of players currently in game
sm_hstats_dbg: (admins only) give dump of complete database, including debug info, please include output of this command when filing bug reports
sm_hstats_adm: (admins only) admin funtion to reset score. see output for parameter syntax

use sm_settings or !settings from within chat to configure plugins verbosity per user

CVARS:

all cvars are created automatically in a config file called sourcemod/hstats.cfg, refer to this file for documented list of cvars.
General note on score cvars: Score cvars given in the variables are just "base values". If a player with just few points kills a top score palyer, he will get a bonus on top. Same will happen if an inferior team troggers team events on the supperior team.

Control variables (all games):

sm_minPlayersForScoring: Number of players needed to be in game for scoring to start
sm_reflectToVictim: Percentage of points subtracted from victim. (100% means to subtract all the points the killer got for the kill), default: "100"
sm_maxInactiveTime: Number of days without connect before a player is not listed in stats. Do not set too high, thus the stats consume higher amounts of resources on large active player counts., default "28"
sm_scoringLogEnable (0/1): enables logging of all score events. Use for debugging/finetuning only. Produces a lot of data and wastes performance!!!, default: "0"
sm_statsSilentMode (0/1): no Menus or user interaction is avaible beside the sm_hstats command in console, default: 0

Player Points variables (all games):
sm_pointsPlrKillStreakOffset: Kill Streak Offset; incremented by one for each suceeding kill (default: 1)
sm_pointsPlrDom: Domination (default: 5)
sm_pointsPlrRev: Revenge (default: 3)
sm_pointsPlrKill: Player kill (default: 4)
sm_pointsPlrTeamKill: Teamkill (default: -50)
sm_pointsPlrHeadshot: Headshot (default: 1)

Team Points variables (all games):
sm_pointsTeamWin: Round win base score; modified by factor build from team score difference (default: 3)

Player Points variables (CS:S/CS:GO mode):
sm_pointsPlrBombDrop: Bomb Drop (default: -2)
sm_pointsPlrBombPickup: Bomb Pickup (default: 2)
sm_pointsPlrBombPlanted: Bomb Planted (default: 10)
sm_pointsPlrBombDefused: Bomb Defused (default: 10)
sm_pointsPlrKnifeNoob: Knife Noob Penalty (being shot while using a knife) (default: -8 )
sm_pointsPlrHstgKill: Hostage Kill (default: -15)
sm_pointsPlrHstgRescue: Hostage Rescue (default: 5)

Team Points variables (CS:S/CS:GO mode):
sm_pointsTeamBombDefused: Bomb Defused (default: 5)
sm_pointsTeamBombPlanted: Bomb Planted (default: 2)
sm_pointsTeamBombExploded: Bomb Exploded (default: 5)
sm_pointsTeamHstgRescueAll: Rescue All Hostages (default: 8 )

Weapon modifier variables
(CS:S/CS:GO mode):
Note:
Maybe I'll find the time to document them all later on, but for now, please just substitute the [...] by the game weapon name (e.g. Deagle) or just let sourcemod auto-generate the config file for you.sm_csWeapMul[...]: a set of weapon point multipliers. Change them to modify the impact of a specific weapon to scorers points on a "KILL" event. e.g. s_csWeapMulDeagle

Changelog:

1.9: CS:GO: no ranking during warmup, combined weapon ranking for inc grenade and molotov (fixed missing inferno issue)
1.8.4: removed missed dependency on counterstrike
1.8: finished CS:GO support
1.7: added generic mode for non-CSS-games, both teams need at least one human player for the ranking to start (independently from the amount of players configured by sm_minPlayersForScoring)
1.6.1: fixed kpd visualization bug in top10-menu
1.6: added translation support, sessions persist across map changes, stats reset command added
1.4: added commands sm_scoreboard, sm_score; added config variables sm_reflectToVictim, sm_maxInactiveTime, sm_scoringLogEnable; added adaptive logging, depending on team score ratio and used player weapons
1.1.1: removed ranking on bot kills
1.1: first public release

Installation instructions:

Just copy the .smx to your plugins directory and the phrases file to translations. After restarting the server (or by loading the plugin manually) a config file sourcemod/hstats.cfg shall be created automatically, where you can tune the scoring on your demands.

Supported languages:

* English
* German

Note: plugin uses server language only, no client language translation supported

Plans:
-
Attached Files
File Type: sp Get Plugin or Get Source (hstats.sp - 3231 views - 77.5 KB)
File Type: txt hstats.phrases.txt (4.7 KB, 2173 views)
File Type: zip sample_cfg_css.zip (1.3 KB, 1412 views)

Last edited by red!; 02-16-2013 at 19:11. Reason: plugin update
red! is offline