Kicked Due To Slot Reservation
swixblade
Join Date: 2002-11-15 Member: 8704Members
<div class="IPBDescription">Happening too damn often :(</div> You may or may not have experienced it. Playing a nice game of NS, your team about to win, you have the best kill/death ratio etc - and then suddenly you are looking at the console. Upon typing retry the game promptly tells you to bugger off, the remaining slots are reserved.
Now I realise clans have every right to give priority to their members, but there is one thing I can't understand. I have gotten into a habit of hitting 'View game info' of any servers I am kicked from. And it seems that 90% of the time, I am the only one (ie the first one) kicked. All the other players I remember from the game are still there, happily playing, even the noob gorge who built sensory then got killed 5 times etc.
So what I most want to know is this: how does the server decide who gets kicked first in the circumstances when a server is full, but a clan member wants to join? Is it decided by score, ping, the length of time you have been playing etc? Any info would be appreciated.
Now I realise clans have every right to give priority to their members, but there is one thing I can't understand. I have gotten into a habit of hitting 'View game info' of any servers I am kicked from. And it seems that 90% of the time, I am the only one (ie the first one) kicked. All the other players I remember from the game are still there, happily playing, even the noob gorge who built sensory then got killed 5 times etc.
So what I most want to know is this: how does the server decide who gets kicked first in the circumstances when a server is full, but a clan member wants to join? Is it decided by score, ping, the length of time you have been playing etc? Any info would be appreciated.
Comments
Anyone know?
int getRandomPlayerID(int currentPlayers)
{
if (currentPlayers > 3)
return 3;
else
return 1;
}<!--c2--></td></tr></table><span class='postcolor'><!--ec2-->
<!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo-->
It sucks to get kicked but there's not much to do about it other then to try and get a reserve slot yourself, or improve your ping.
<i>Pebbs</i>
Of course, cofr has every right to create the reserved slots, I just don't like the current method of enforcing them. The high ping method will tend to pick on the same people over and over (even if we only have a slightly higher ping). But I suppose that whatever method you choose, you will always get someone to complain about it <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
I'm assuming that Adminmod is configured to kick the highest pingers <i>by default</i>. This at least could be changed. If, on the other hand, server ops always go out of their way to kick those with bad connections (when maybe the default is a random kick), then it looks like the world is against us 56k'ers, and we might as well give up. Which then is the case?
And verbose, which program does that bit of code refer to?
Kick the highest pinger, or have 1 or two slots that people join into and it doesn't kick anyone.
Nano uses the kicking system, when full, it shows 16/17. Join in, it picks the highest pinger and boots them. If it HAD the option, I would make it kick the last connected person.
do a search, i beleivce there is already a MM plugin in these forums about that
Just something I wrote to poke fun at the non-random behavior you were seeing from the kicking-decision function. It would probably would have been more funny if I wrote it like this:
<!--c1--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->int getRandomPlayerToKick(int currentPlayers)
{
if (isPlaying("swixblade"))
return getIDbyName("swixblade");
else
return generateRandom(1, currentPlayers);
}<!--c2--></td></tr></table><span class='postcolor'><!--ec2-->
...since it always seems like you're the one who gets the boot <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo-->
If an admin is going to choose to leave all his slots open and kick players when a prefered player joins then there has to be a rule as to how it's done.
If the lowest frag count got kicked then youd end up loosing the Gorge or Commander 9times out of 10. So then you have eith ping, or time on server. Is it fair to kick someone that has been playing hours when they are probably a well behaved and popular regular? Is it fair to kick someone who only connected 2 minutes ago because they have the shortest time on? How frustraiting would it be to get repeated kicked less than 2 minutes into a game?
I don't like the kicking to make room idea, but I can see why it's done. If you only have 16 slots and want to give 10 people reserved access because they pay for the server you end up with a 6 player server when they're not around, that is pretty useless. So you make all 16 slots available so people can play while your away. So then you have to choose who do you kick, the majority of admins decide that because of the gameplay problems inherent with HPB it is these people who get the axe. If you don't like it your probably going to have to choose another server or get a reserved slot.
I am absolutely positive I saw something about adminmod kicking by other options - perhaps it was a pluggin or an older version, or a pluggin for an older version. I would like to see adminmod allow multiple reserve slot types so you could have 4 always reserved and 4 kick-reserves for when those first four are full. Not sure I'd use it, I'd just like to see it <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif'><!--endemo-->
//edit: PS. Roob's new server will initially have 20 player limit, 8 held reserved, so only 12 public. No kicking.
The crux of this problem seems to be the way Adminmod has chosen make ping not just the default, but the only way of deciding which player to kick. Plugins are great, but the truth is <i>most</i> server ops are just not going to bother with something like this, which would only benefit the minority of players still on 56k (if they were even aware of those players woes in the first place).
Just try to see it from our point of view for a while. Some of you may even remember the days when those with pings less than 100 were the lucky few...
there is no fiar way of kicking a person to let a clan member on, you could try joining a server when someone else has a higher ping than you, but it is really annoying to have someone lagging the server for everyone else, and you have to choose. ruin on persons game or ruin 15 people's game, and, in most cases, that 1 person has to go
Again, Do a search You will find that someone already posted that plugin in this forum...
cm_reservation 2
in clanmod.cfg
a tiny pet peeve of mine, it's 'lose', not 'loose'.
"I'm gonna lose this game cuz the comm dropped 20 CCs!!"
"My shoelaces are loose, i better tighten them"
I like the following approach, which uses multiple methods:
Firstly, kick the player with the lowest time in-game, as there is at least 5 minutes between the highest and lowest in-game time in the server.
OR, if the conditions for the above are not met, kick the player with the lowest score who has NEVER been comm/gorge
OR, if the conditions for the above are not met, kick a RANDOM player who is not currently comm/gorge.
This would be fairer than a simple random kick late-game, but still work early-game.
Let me explain the conditions.
The first condition, with it's 5 minute spread rule, prevents the time-based kicking where everyone has been in the game since near the beginning. The time could be adjusted for perfection.
The second condition kicks the player who has contributed the least. The NEVER clause is so that, if a player has been gorge the entire game, but was recently killed (so therefore is no longer, as in not yet again, gorge) he will not be mistakenly kicked. Even though he's not gorge at the moment, he is still "the gorge".
The third condition is simply that a player is not currently gorge. If all else has failed, we need a simple random kick with at least a bit of protection against screwing the team the kicked player is on.