systems/NJ.LeaverSystem
This system requires a bit of an explanation.
I've long wanted to have a potential handle on those guys who leave midgame ruining the match for everyone (though possibly especially for their team mates).
Here is how it works:
I give "Leaver Points" (LP) for leaving a match (or trying to cheat in my bank - more on that later). Each leave is normally "worth" 3 LP. Since I can't give points to people who have already left the map I hand out the default LPs right at the beginning and decrease them once the mapper tells me to e.g. allows the player to leave. The mapper can also reduce the penalty or slightly increase them to adjust for any potential situation (1-4 points are currently possible, with 3 being the default value).
Using this approach we can get how many LP a player has accumulated already and potentially act on that. Since we can't kick them from the lobby we have to deal with them using other means. (e.g. distributing a fraction of their income to their team mates thus punishing them but not their team).
Since the bank is available locally and a player might want to "adjust" his LP balance in his favour I've added a signature to the bank (thanks Blizzard for this new feature) and check if the bank validates. (The validation is done by the NJ.BankManager) If it doesn't validate the user has cheated and we flag the bank as "invalid". A player with an invalid bank gets a "free" 20LP (+20 LP or =20LP; whichever is greater). Thus we can even handle players who try to cheat ^^
I know that by deleting the bank the player could circumvent the system but even if the system ain't perfect it's still ways better than not having a system.
Comments