News:

Come Chat with us live! Learn how HERE!

Main Menu

Avoiding Vote-Kick

Started by Nux, June 05, 2007, 01:00:45 AM

lord.undergamer

Mmm, I had a patch awhile back for adaptive votekick that would be a bit more intelligent than the one currently in place. The listplayers approach works, but its vulnerable to newbies calling votes on servers when most votes get F1/yes to nearly anything.


benmachine

Quote from: tupleWarning: Tangent :P
Of course, having the vote kick cache the IP at the time the vote is called may not be a bad idea.  That way, a vote kick called on slot 4, client at slot 4 quits before the vote ends, User "Poor Sucker" joins into slot 4 before the vote is over and is then vote kicked for whatever reason could be avoided.  The vote kick ban could be placed on the IP, so even if poor sucker at slot 4 is kicked, he wouldn't be banned for an extended period of time, which is common anymore with vote kicks.
Already fixed in SVN :)
// use ip in case this player disconnects before the vote ends
   Com_sprintf( level.voteString, sizeof( level.voteString ),
     "!ban %s %d vote kick", level.clients[ clientNum ].pers.ip,
     g_adminTempBan.integer + 1 );
   Com_sprintf( level.voteDisplayString, sizeof( level.voteDisplayString ),
     "Kick player \'%s\'", name );
benmachine

player1

Quote from: benmachine
Quote from: tupleWarning: Tangent :P
Of course, having the vote kick cache the IP at the time the vote is called may not be a bad idea.  That way, a vote kick called on slot 4, client at slot 4 quits before the vote ends, User "Poor Sucker" joins into slot 4 before the vote is over and is then vote kicked for whatever reason could be avoided.  The vote kick ban could be placed on the IP, so even if poor sucker at slot 4 is kicked, he wouldn't be banned for an extended period of time, which is common anymore with vote kicks.
Already fixed in SVN :)
// use ip in case this player disconnects before the vote ends
   Com_sprintf( level.voteString, sizeof( level.voteString ),
     "!ban %s %d vote kick", level.clients[ clientNum ].pers.ip,
     g_adminTempBan.integer + 1 );
   Com_sprintf( level.voteDisplayString, sizeof( level.voteDisplayString ),
     "Kick player \'%s\'", name );

heh! :)