Author Topic: Avoiding Vote-Kick  (Read 23631 times)

Seven

  • Posts: 7
  • Turrets: +0/-0
Avoiding Vote-Kick
« Reply #30 on: June 07, 2007, 01:09:41 pm »
Quote from: "TinMan"
This guy's a noob, he made a myspace to brag about shit: http://www.myspace.com/3pwnt


hehe....

Quote from: "http://www.myspace.com/3pwnt"
3 has 1 friends.


..and not even one at that - 'Tom' is the myspace creator and default friend of everyone, so I hear. (I've never actually used myspace myself)

Yeah, I think 0 friends would be about right for this kind of dickhead.....
ig omitted pending litigation outcome.

altarzor

  • Posts: 4
  • Turrets: +0/-0
Avoiding Vote-Kick
« Reply #31 on: October 30, 2007, 01:06:42 pm »
"/callvote clientkick 1 reason" doesn't work on some servers. It's the clientkick command that's disabled, and only the kick command works. I've found success using the /serverstatus command to look which ID each player has.

Hugely impractical clientkick doesn't work on some servers out there.

-[=AHs=]- DarkEnix

  • Posts: 76
  • Turrets: +0/-2
    • http://www.dunhavanything.com
Avoiding Vote-Kick
« Reply #32 on: October 30, 2007, 01:14:29 pm »
but u cant avoid things like

(1)Vote Kick blahz : (F1) 99 (F2) 0

the person acctually did not vote cuz waiting fer time to get to 1 , then suddenly

blahz disconnected

u see , u cant actually kick them
img]http://madnesscombat.net/images/ranks/major.gif[/img]



Caveman

  • Guest
Avoiding Vote-Kick
« Reply #33 on: October 30, 2007, 01:14:49 pm »
Just don't play on servers whose owner are too dumb to use a newer qvm.

Shadowgandor

  • Posts: 826
  • Turrets: +61/-66
Avoiding Vote-Kick
« Reply #34 on: October 30, 2007, 05:35:10 pm »
The 'insert number' color type avoided me as well.
Not a good sign if you see an admin cursing because he can't kick lol

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
Avoiding Vote-Kick
« Reply #35 on: October 31, 2007, 09:38:56 pm »
You people don't read bugzilla.
http://bugzilla.icculus.org/show_bug.cgi?id=3274
http://bugzilla.icculus.org/show_bug.cgi?id=3354

PS: serverstatus doesn't show the client numbers. It's just there so that you could easily count how many players there are. If, however, everyone connected in a sequential order and haven't left, it's accurate, but that's a rare case.

Caveman

  • Guest
Avoiding Vote-Kick
« Reply #36 on: October 31, 2007, 10:57:04 pm »
We do read bugzilla, we just don't like your way of arguing.
I for one think, for example, that your client-side client-list is total bull.
Why? because it does not take the server into account, where numerical names are still allowed thus making your 'contribution' useless.

And if you think that giving !listplayers to unregistered player is a good thing, you never had some real bitches on your server, if you have one at all.

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
Avoiding Vote-Kick
« Reply #37 on: November 02, 2007, 01:20:57 am »
What are you talking about?! You need to increase your reading comprehension. Let me make it clear.

Alert: A numerical player name could allow players to be immune from votekicking, because in the new server code, numerical votekick values mean client numbers.
Q: What is the exact bug? Is it the numerical player name, or is it the ambiguous kick vote parser?
A: The kick vote parser is to be blamed. Btw, noone asked you to upgrade your server from kick <name> & clientkick <num> implementation to kick <name|num> implementation. Don't complain if you did.

1.1.0: use /callvote kick "<name>" - works in all cases, but not well for names like "+*&<  +)|{"
backport with admin system: !listplayers, /callvote kick <num> - there would be griefers anyway, if admins were present
previous with !listplayers disabled: without admins, there is no defense against "3" - need clientlist (or don't remove !listplayers)

To disambiguize, we want to separate the vote into kick <name> and kickn <num> (shorthand for clientkick <num>).

In all cases, a feature rich UI beats all.

PS: if you don't like the idea, don't apply the patch, kthxbye.

waflz

  • Guest
Avoiding Vote-Kick
« Reply #38 on: November 02, 2007, 01:49:09 am »
can you please stop combining trying to be sophistocated, leet and annoying in the same post mr humancontroller :\

Nux

  • Posts: 1778
  • Turrets: +258/-69
Avoiding Vote-Kick
« Reply #39 on: November 02, 2007, 11:18:44 am »
I see what he's saying and it's quite sensible. What's wrong with what he's suggesting?

The only issue I can see is the confusion during the changeover where many people are used to using the <name|num> and would need to be notified of the new system.

A UI based kick system would work well, provided it's NOT based on selecting a player by aiming at them. This isn't as easy as it might sound in a real game scenario where the offender might not even be in view. As for a drop-down menu based selection system, this would work quite well (in fact I've made something similar out of binds using the numpad, scroll wheel and a specialised 'Alt'-set system).

PS- Caveman, what do these "real bitches" do with !listplayers that annoys you so much?

Kaleo

  • Posts: 2098
  • Turrets: +176/-220
    • KaleoDesign
Avoiding Vote-Kick
« Reply #40 on: November 02, 2007, 11:47:03 am »
Quote from: "Nux"
PS- Caveman, what do these "real bitches" do with !listplayers that annoys you so much?


Find out his player slot and kick his deconning ass...



jks!
Quote from: Stannum
Thou canst not kill that which doth not live,
but you can blow it into chunky kibbles!
I has a cookie, and u can has a cookie, but i no givs u mai cookie...

player1

  • Posts: 3062
  • Turrets: +527/-401
    • My Avatar! (if they were enabled) [by mietz]
which is it?
« Reply #41 on: November 03, 2007, 05:02:26 am »
Quote from: "/dev/humancontroller"
I'm fed up with everyone writing !listplayers ... all the time.

tuple

  • Posts: 833
  • Turrets: +97/-80
Avoiding Vote-Kick
« Reply #42 on: November 03, 2007, 03:02:43 pm »
Create default bans for the slot numbers.  Noone with a name that matches a slot number can then join the server.  No logic complications/potential bugs needed.  No commands to pollute the command list needed.

Really, its quite simple.

Turning a program into a windows OS, with arcane, single use commands is really not a good way to do things from the perspective of someone who actually has to use those commands.  Simplicity in implementation and use really is the best long term solution.

Additionally, the only server (that I know of) that does not allow seeing slot numbers in !listplayers is, well, don't go there.  Anyone could ask and the would get a chorus of "Don't Go There"  Code fixes to take into account a single modified server (or even a couple) seems, well, insane.

Nux

  • Posts: 1778
  • Turrets: +258/-69
Avoiding Vote-Kick
« Reply #43 on: November 03, 2007, 05:28:44 pm »
Quote from: "player1"
Quote from: "/dev/humancontroller"
I'm fed up with everyone writing !listplayers ... all the time.


That's a complaint about the !listplayers command being messaged, not the use of listplayers itself. You can already stop it being messaged by the use of / in console but not everyone might know this. If seeing '!listplayers' is really that annoying, then the solution would be to circumvent the message (for all users) not the command.

Quote from: "tuple"
Create default bans for the slot numbers.  Noone with a name that matches a slot number can then join the server.  No logic complications/potential bugs needed.  No commands to pollute the command list needed.


'Create default bans for the slot numbers.'? If you really do mean 'ban' then this is a stupid and nonsensical suggestion. A perhaps more plausable idea would be to have the slot number names taken by admins so that the name would be 'protected' from them.

As for a more long term solution, people should have an error message when they try to change their name to a 'bad' one telling them why this won't be allowed.

By the way.. When you use the 'Esc->Vote->kick' menu to kick someone with a number name, this will just put thier name into the standard kick command. Then the command interprets it as a slot number and calls a vote for someone else. If the menu system took the slot number (and not the name) from the selected player, the system would work.

Just so you know this isn't only about the use of console commands directly.

tuple

  • Posts: 833
  • Turrets: +97/-80
Avoiding Vote-Kick
« Reply #44 on: November 03, 2007, 11:15:03 pm »
Actually, banning the slot number name has worked for quite a while.  Not sure why you think its stupid and nonsensical since you insulted the idea but gave absolutely no reasoning.  Reason for the ban, that name is banned.  Anyone that connects with a slot number for a name sees that and must change their name.  My point of course is that modifying the client to account for what is essentially a server side issue seems silly.  Second, considering there is more than one work around for it, I wouldn't consider it a priority.

As far as commands showing up in chat,

Lakitu7-g_adminSayFilter.patch
When g_adminSayFilter 1, filters display of !commands that were typed into the chat.
Author: me. Idea: CU|Dyin

That took all of 2 minutes to find.  May only work for actual admins, not lvl0 people.  Don't know, worth a try though.

imperiumZero

  • Posts: 118
  • Turrets: +0/-4
Avoiding Vote-Kick
« Reply #45 on: November 03, 2007, 11:27:47 pm »
Perhaps a way to fix this issue is simple.

to have the server recognize a number prepend a # or something....

so

/kick #3  idiot
--would kick slot 3 for reason idiot while
/kick 3 idiot
 --would kick player '3' for reason idiot...

just my $0.02

EDIT: and about filtering out !cmds, again just prepend a / in the console and it won't show in any chat...
lt;kevlarman> because microsoft's drivers are absolutely horrible that couldn't accelerate glxgears if they tried

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
Avoiding Vote-Kick
« Reply #46 on: November 03, 2007, 11:31:53 pm »
I still wouldn't allow the server to fuck with me that easily. I can get the client numbers with or without the server "allowing" or knowing it.


A basic UI, right click on the abuser, and select an option.

imperiumZero

  • Posts: 118
  • Turrets: +0/-4
Avoiding Vote-Kick
« Reply #47 on: November 03, 2007, 11:35:04 pm »
*shudders*

god damned popups....

<idea>
what about appending a clientid to every name displayed in the console between []'s

so

Munchkin[4] was mauled by Rawr[2]'s Tyrant

but only in console....
lt;kevlarman> because microsoft's drivers are absolutely horrible that couldn't accelerate glxgears if they tried

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
Avoiding Vote-Kick
« Reply #48 on: November 03, 2007, 11:36:30 pm »
Quote from: "imperiumZero"
/kick #3  idiot
--would kick slot 3 for reason idiot while
/kick 3 idiot
 --would kick player '3' for reason idiot...

The deconner is named "#3", and he is on some slot other than 3.

imperiumZero

  • Posts: 118
  • Turrets: +0/-4
Avoiding Vote-Kick
« Reply #49 on: November 03, 2007, 11:38:39 pm »
then disallow any names containing #...pretty simple.
lt;kevlarman> because microsoft's drivers are absolutely horrible that couldn't accelerate glxgears if they tried

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
Avoiding Vote-Kick
« Reply #50 on: November 03, 2007, 11:38:44 pm »
Quote from: "imperiumZero"
<idea>
what about appending a clientid to every name displayed in the console between []'s

so

Munchkin[4] was mauled by Rawr[2]'s Tyrant

but only in console....

Tremulous isn't about monitoring client numbers. :D

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
Avoiding Vote-Kick
« Reply #51 on: November 03, 2007, 11:39:33 pm »
Quote from: "imperiumZero"
then disallow any names containing #...pretty simple.

then just disallow number-only names in the first place ...pretty simple.

dude... that's not the solution

imperiumZero

  • Posts: 118
  • Turrets: +0/-4
Avoiding Vote-Kick
« Reply #52 on: November 03, 2007, 11:46:07 pm »
Quote from: "/dev/humancontroller"
Quote from: "imperiumZero"
then disallow any names containing #...pretty simple.

then just disallow number-only names in the first place ...pretty simple.

dude... that's not the solution


then at least someone can use numbers at the start of the name

....

or on a side note...

perhaps creating a uniq identifier visible when you !listplayers...

like the first four letters on an md5sum of their IP+time of day on the server...which is only visible to admins....


being able to ban like that would work too.
lt;kevlarman> because microsoft's drivers are absolutely horrible that couldn't accelerate glxgears if they tried

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
Avoiding Vote-Kick
« Reply #53 on: November 03, 2007, 11:59:24 pm »
Quote from: "imperiumZero"
Quote from: "/dev/humancontroller"
Quote from: "imperiumZero"
then disallow any names containing #...pretty simple.

then just disallow number-only names in the first place ...pretty simple.

dude... that's not the solution


then at least someone can use numbers at the start of the name
yes
Quote from: "imperiumZero"
or on a side note...

perhaps creating a uniq identifier visible when you !listplayers...

like the first four letters on an md5sum of their IP+time of day on the server...which is only visible to admins....


being able to ban like that would work too.
wtf?

imperiumZero

  • Posts: 118
  • Turrets: +0/-4
Avoiding Vote-Kick
« Reply #54 on: November 04, 2007, 12:11:26 am »
Quote from: "/dev/humancontroller"
Quote from: "imperiumZero"
or on a side note...

perhaps creating a uniq identifier visible when you !listplayers...

like the first four letters on an md5sum of their IP+time of day on the server...which is only visible to admins....


being able to ban like that would work too.
wtf?


Along side !listplayers

you have the columns (in no order I can remember),

clientid, team, end-of-guid, etc...


so add a new column that takes...for instance...
pseudocode:

strncpy($buffer,md5sum($string), 4);

where the string is a  static, non fake-able attribute (like IP, and time of connection, and latency of challenge-response packet) and post the final four letters on a new column.

!kick <string-in-the-specified-column>
lt;kevlarman> because microsoft's drivers are absolutely horrible that couldn't accelerate glxgears if they tried

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
Avoiding Vote-Kick
« Reply #55 on: November 04, 2007, 02:23:52 am »
wtf? WTF!?

dude wtf?
- The client number IS a non-fakable attribute of a player connected to a server.
- All clients know about it (the server doesn't need to provide !listplayers).
- There may be ambiguity with the specified hash.
- If it's provided in !listplayers, griefers just chose a name1 from the list like "ece1", just like with client numbers. If !listplayers is not provided, then, well, kind of works :P (if kicking by client num is off). Griefers must then use names like |@//**,,:$}%P%^^ ''

Nux

  • Posts: 1778
  • Turrets: +258/-69
Avoiding Vote-Kick
« Reply #56 on: November 04, 2007, 11:37:47 am »
Quote from: "tuple"
Actually, banning the slot number name has worked for quite a while.  Not sure why you think its stupid and nonsensical since you insulted the idea but gave absolutely no reasoning.


If you mean disallow those names from being set in the first place then that's ok. In tremulous, since 'ban' is a command used for disallowing players by their guid or IP, I thought that's what you meant.

Just be sure to note that players need to be informed as to why they can't join the server and the best time to do that is while you're stopping them from setting a 'bad' name in the first place.

I'd also like to point out that the problem will to an extent persist when allowing a number to be in the name at all. For the players who know you can use unique sub-strings to identify players and yet don't know about the ambiguous slot number identifier, it's not unreasonable that they would choose the number part of the name to identify that player and so would result in some other player being voted for. I'm not pretending this would be a common scenario, just pointing out a kink in the system.

What I liked about dev/humancontroller's system was that it lacked that ambiguity. If the point of contention is that '!kick' would no longer be able to use slot numbers and the trouble of remembering the extra n for those cases, then how about having '!kick' do exactly what it did before and having '!kickn' isolate it to name only strings. As numbers always mean slot numbers with '!kick' this would remove the ambiguity issue and not interfere with what the '!kick' command does.

It might be a slightly disproportionate degree of attention to make a new command to resolve such a small issue, but it is a solution.

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
Avoiding Vote-Kick
« Reply #57 on: November 04, 2007, 01:46:33 pm »
Quote from: "Nux"
It might be a slightly disproportionate degree of attention to make a new command to resolve such a small issue, but it is a solution.
New? kickn is non other than clientkick, which has been around since 1.1.0 stock, but was removed (combined with kick) because, I think, it was annoying to type such a long word. Well, kickn is 1 letter shorter than kick.

tuple

  • Posts: 833
  • Turrets: +97/-80
Avoiding Vote-Kick
« Reply #58 on: November 04, 2007, 04:29:21 pm »
You can also ban by name alone.  So if you have a 64 slot server, you create bans for 1 through 64.  Using X's for the guid and 0.0.0.0 for the IP, with a ban reason of "That name is not allowed".  That will do the trick.  The simple solution would be to stop the server from allowing clients with 1 - 64 as a name to join and have it give the reason.  Creating a ban accomplishes this.  Anything done client side can/will be modified so server side is really the only place to do this.

There is the complication of people using black characters in their name, so their name would appear to be 4notslot4.  That may be patched in svn so that black characters in names do not show as black.  If not, I'm pretty sure there are patches for it.

Ultimately, the issue is caused by the server allowing the ambiguity to exist.  The cleanest and least complicated solution from the perspective of players/admins would be to simply not allow those names to be used.


Warning: 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.

Here's a quicky that will generate the bans for you, dump its output (using >> NOT > :) ) into admin.dat.  Using bash that is.  I avoid the windows command line like the plague, so windows folks, ask a linuxy friend for the list :P
Don't forget to readconfig afterwards.
Code: [Select]
for i in `seq 64`;do
 echo
 echo "[ban]"
 echo "name    = $i"
 echo "guid    = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
 echo "ip      = 0.0.0.0"
 echo "reason  = pick a real name or get out, name $i is not allowed."
 echo "made    = 07/17/07 20:08:00"
 echo "expires = 0"
 echo "banner  = Console"
done

Nux

  • Posts: 1778
  • Turrets: +258/-69
Avoiding Vote-Kick
« Reply #59 on: November 04, 2007, 09:47:58 pm »
Quote from: "/dev/humancontroller"
Quote from: "Nux"
It might be a slightly disproportionate degree of attention to make a new command to resolve such a small issue, but it is a solution.
New? kickn is non other than clientkick, which has been around since 1.1.0 stock, but was removed (combined with kick) because, I think, it was annoying to type such a long word. Well, kickn is 1 letter shorter than kick.


The !kickn that I was refering to was the !kickn I mentioned in the same post.

Quote from: "I"
...how about having '!kick' do exactly what it did before and having '!kickn' isolate it to name only strings. As numbers always mean slot numbers with '!kick' this would remove the ambiguity issue and not interfere with what the '!kick' command does.


This command does not yet exist.