A system for allowing players to hand out reputation points to each other.
This project, its API, documentation, etc. is/are in active development, and thus no stability is guaranteed. Refer to the LICENSE for more information.
Our releases follow the Semantic Versioning standard, and can be found here.
- Download the latest release from the releases page.
Note: The latest release is not necessarily the one that EdgeGamers is using. We pull the latest build frommain, which is typically ahead of the latest release. - Extract the contents of the downloaded archive to your server's
addons/counterstrikesharp/plugins/EloReputationdirectory. - Configure the
plugin/EloReputation/EloReputation.jsonfile. Of importance is theDatabaseConnectionStringfield. This field should be set to the connection string of your MySQL database. The plugin will not work without this.
Example:"DatabaseConnectionString": "server=localhost;database=eloreputation;user=root;password=;port=3306;"
As of this writing, there is one reputation system, which keeps track of who has given reputation to whom. Additional support of reputation systems is planned, but not guaranteed.
- Harmonic Reputation System
- All players start with a reputation of 0.
- When a player does
css_upon a target, that player's reputation increases by\sum_{i=1}^{n} \frac{1}{i}, wherenis the number of times the player has commended the target. - Similarly, when a player does
css_downon a target, that player's reputation decreases by\sum_{i=1}^{n} \frac{1}{i}, wherenis the number of times the player has condemned the target. - Thus, the stats tracked are who has given (distinct positive/negative) reputation to whom.
- Simple Reputation System
- All players start with a reputation of 0.
- A player doing
css_upon another player will increase the target player's reputation by 1. - A player doing
css_downon another player will decrease the target player's reputation by 1. - Thus, the stats tracked are each individual player's reputation.
- ELO Reputation System
- All players start with some default ELO value.
- A player doing
css_upon another player will increase the target player's ELO by some amount. - A player doing
css_downon another player will decrease the target player's ELO by some amount. - The amount by which the ELO changes is determined with the ELO Expected Score formula.
- Thus, the stats tracked are each individual player's ELO.
<> denotes a required argument, [] denotes an optional argument.
css_up <player>-css_down <player>css_reputation [player]css_top
To discourage abuse, and encourage thoughtful reputation distribution, there are two cooldowns in place. Refer to the
Map Cooldown resets on map change.
- On map change, all players are given a number of reputation points depending on the config.
Periodic Cooldown increments every 5 minutes.
- When a player first joins, they are alloted a number of reputation points depending on the config.
- When a player does
css_uporcss_down, they are deducted one reputation point. - Every 5 minutes, all players are given a reputation point, up to the maximum allowed by the config.
Consequently, you can set both short-burst and long-term cooldowns.
{
"DatabaseConnectionString": "server=localhost;database",
"DatabaseTablePrefix": "eloreputation_",
"EloGrantedPerMap": {
"": 1,
"@css/generic": 2,
"@css/chat": 3,
"@css/voice": 3,
"@css/ban": 4,
"@css/root": 99
},
"MaxPeriodicElo" {
"": 1,
"@css/generic": 1,
"@css/chat": 1,
"@css/voice": 2,
"@css/ban": 2,
"@css/root": 5
}
}