New Plugin: Auto-handicap
voodooc
Join Date: 2002-12-26 Member: 11560Members
<div class="IPBDescription">Make it fun even with team stacking</div> OK, so I've been running my new plugin on the WFL server for the past day or so, and it seems to be working well.
We have this problem on our server -- some of you might have it too: we have a core of regular, skilled players, who all like to play on the same team, because there is nothing more frustrating to them than playing with a bunch of noobs.
The end result is frequently hideous team stacking, where one team just dominates the other throughout the entire game.
My fix? AUTO HANDICAP.
Here's what the plugin does:
- throughout the life of the server, track player kill-deaths and store them in a mysql DB.
- every 15 seconds it calculates the sum of all player kill-death ratios on each team
- it then assigns a handicap, based on the ratio of team weights, normalized to 1.
- handicap modifies all damage dealt by each team (including sentries, etc)
Example:
Team One:
- three player with a 3:1 K:D ratio (300)
Total : 900 weight
Team Two:
- nine players with 1:2 K:D ratio (50)
Total: 450 weight
Ratio of weights is: 2:1, normalized as 1:0.5
I've actually softened the handicapping by half, so in the current version, it ends up 1:0.75.
Problems:
YOU HAVE TO RUN THE SERVER IN TOURNAMENT MODE FOR THIS TO WORK.
Yes, because the NS developers do not see fit to grace my whining with an answer or help. They have two server cvars, mp_team1handicap and mp_team2handicap. For some reason, they decided to only allow those variables to work under TOURNAMENT MODE.
Unfortunately, tourney mode also enables the following side-effects:
- friendly fire (we have a lot of admins, so this isn't a problem)
- have to say 'ready' to start the round
- map doesnt automatically switch
- there is no '25 res window' at the beginning for aliens
- you don't see periodic updates as to total nodes on each team
And I'm sure, a few other things we haven't noticed.
Oh, and also, when you first run the plugin, you can get some wonky balancing problems because the statistical information is young and inaccurate. New players are automatically assigned a weight of 100 (1:1 K:D ratio), and their first games can cause skewed weights if they go on a killing spree.
I'd really like for this to be able to work OUTSIDE of tournament mode, but I can't figure out how to hax0r it without some help from the devs.
Feedback, suggestions, thoughts?
vc
We have this problem on our server -- some of you might have it too: we have a core of regular, skilled players, who all like to play on the same team, because there is nothing more frustrating to them than playing with a bunch of noobs.
The end result is frequently hideous team stacking, where one team just dominates the other throughout the entire game.
My fix? AUTO HANDICAP.
Here's what the plugin does:
- throughout the life of the server, track player kill-deaths and store them in a mysql DB.
- every 15 seconds it calculates the sum of all player kill-death ratios on each team
- it then assigns a handicap, based on the ratio of team weights, normalized to 1.
- handicap modifies all damage dealt by each team (including sentries, etc)
Example:
Team One:
- three player with a 3:1 K:D ratio (300)
Total : 900 weight
Team Two:
- nine players with 1:2 K:D ratio (50)
Total: 450 weight
Ratio of weights is: 2:1, normalized as 1:0.5
I've actually softened the handicapping by half, so in the current version, it ends up 1:0.75.
Problems:
YOU HAVE TO RUN THE SERVER IN TOURNAMENT MODE FOR THIS TO WORK.
Yes, because the NS developers do not see fit to grace my whining with an answer or help. They have two server cvars, mp_team1handicap and mp_team2handicap. For some reason, they decided to only allow those variables to work under TOURNAMENT MODE.
Unfortunately, tourney mode also enables the following side-effects:
- friendly fire (we have a lot of admins, so this isn't a problem)
- have to say 'ready' to start the round
- map doesnt automatically switch
- there is no '25 res window' at the beginning for aliens
- you don't see periodic updates as to total nodes on each team
And I'm sure, a few other things we haven't noticed.
Oh, and also, when you first run the plugin, you can get some wonky balancing problems because the statistical information is young and inaccurate. New players are automatically assigned a weight of 100 (1:1 K:D ratio), and their first games can cause skewed weights if they go on a killing spree.
I'd really like for this to be able to work OUTSIDE of tournament mode, but I can't figure out how to hax0r it without some help from the devs.
Feedback, suggestions, thoughts?
vc
Comments
Natural Selection v2.01d @ Warmfuzzyland.com|33ms|209.204.62.175:27019
kthxbai~~~
I would actually recommend running it first for a few days with tourneymode OFF -- so it calcs weights, tracks kills/deaths, but doesnt actually set the handicap. Once it's been populated, it doesnt matter if youre on a killing spree, and rack up 100 kills -- because you already have a couple thousand in the database.
Remember, it calcs player weights over the life of the server, not just within a single game. It's not trying to punish a team for doing well, its making it more difficult for a team that is filled with skilled players that is playing against a team of not-so-skilled players.
Anyone have any good ideas for how to appeal to the NS devs to enable the handicap cvars in non-tourney mode? Threats? Bribes? Promises of sexual favors?
vc
It also helps cure the mass-F4-at-the-hint-of-danger problem. When one or two drop, it only strengthens the resolve of the remaining players on the team. Usually, its the people who are complaining who leave first, and those left watch their enemy team's handicap go from 1.0 to 0.8, and it gives them hope. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo-->
On the noob side, its much more fun to play when you have a chance against the team of noob-rapers who are pwning you heartily.
On the l33tplayer side, its much more satisfying to pwn 3 enemies without dying, when you know you're only doing 60% damage to them.
All in all, its a lot of fun!
vc
vc
I'd be interested to see statistics too..
YOU HAVE TO RUN THE SERVER IN TOURNAMENT MODE FOR THIS TO WORK.
Yes, because the NS developers do not see fit to grace my whining with an answer or help. They have two server cvars, mp_team1handicap and mp_team2handicap. For some reason, they decided to only allow those variables to work under TOURNAMENT MODE.
<!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
Try 2.01e it allwos handicap to work in non tourney mode... <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
Either I'm blind or you really didn't post a download url. Any eta on when this plugin maybe released? Its exactly what I need..
YOU HAVE TO RUN THE SERVER IN TOURNAMENT MODE FOR THIS TO WORK.
Yes, because the NS developers do not see fit to grace my whining with an answer or help. They have two server cvars, mp_team1handicap and mp_team2handicap. For some reason, they decided to only allow those variables to work under TOURNAMENT MODE.
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Try 2.01e it allwos handicap to work in non tourney mode... <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo--> <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
Try 2.01e it allwos handicap to work in non tourney mode... <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
YOU #love ME
YOU REALLY #love ME
yay for 2.01e
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
Either I'm blind or you really didn't post a download url. Any eta on when this plugin maybe released? Its exactly what I need..
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
There are a couple things that need to happen:
1) I need to finish a few reporting features. I want a triggered popup that tells you what the current weights of all players on both teams are, and who the top twenty weighted players are.
2) We need members on our NS server. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo-->
* RUTHLESS PLUG *
I'm co-owner of a game server hosting company, warmfuzzyland.com. One of our products is called a 'Community Server', where people pay a small monthly fee for a reserved slot, choice of admins, etc. on one of our public servers.
What we would like to do is develop these sort of things for the community at large (i.e., all you guys), but we want to make sure we get something out of it.
So, as soon as our NS server reaches the minimum membership to cover its monthly cost, I'll release the plugin to the public. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo-->
Oh, what wicked webs we weave, when first we practice to break even.
Cheers,
vc
The <a href='http://ns.warmfuzzyland.com' target='_blank'>WFL NS Community Server</a> is a mere 30 Simoleans away from making the rent this month!
Unfortunately, a few of our current volunteer admins are unhappy with the plugin and are resigning. We're having a grand old discussion about it <a href='http://ns.warmfuzzyland.com/index.php?name=PNphpBB2&file=viewtopic&t=573' target='_blank'>on our forums</a>.
I'd still like to make some adjustments to the weighting algorithm. I think it may be over-weighting certain players, or in certain situations. I'd love to have some feedback from interested parties. If you're planning on running this on your own server, this would be the time to help fine-tune it!
Discussion thread <a href='http://ns.warmfuzzyland.com/index.php?name=PNphpBB2&file=viewtopic&p=5588#5588' target='_blank'>here</a>.