Tremulous Forum
General => General Discussion => Topic started by: Nux on June 05, 2007, 01:00:45 am
-
I've seen a few ways people have avoided vote-kick. Just now for example a guy called 3 was causing trouble. When people tried to vote-kick 3 they would start a vote for whoever the 3rd player listed would be.
After frustrating alot of people so much that they decided to leave, I managed to start a vote-kick against him. The trick was he had foolishly coloured the 3 red so all I had to do was type
/callvote kick ^13
He was promptly voted out and currently hold a ban for.. 2 minutes :-?
Anyone got any other stories about pesky vote-kick evaders?
-
!listplayers
*scroll*
*scroll*
14 - Unknown Player 3
/callvote kick 14
[H]{MMD}Bringer{L}: Owned, bitch.
-
!listplayers
*scroll*
*scroll*
14 - Unknown Player 3
/callvote kick 14
[H]{MMD}Bringer{L}: Owned, bitch.
I think Gnud tried that before leaving.. He kept calling votes but for some reason it kept coming up with other people. I on the other hand couldn't do '!listplayers' because that particular server doesn't allow it for players with my level.
-
!listplayers
*scroll*
*scroll*
14 - Unknown Player 3
/callvote kick 14
[H]{MMD}Bringer{L}: Owned, bitch.
I think Gnud tried that before leaving.. He kept calling votes but for some reason it kept coming up with other people. I on the other hand couldn't do '!listplayers' because that particular server doesn't allow it for players with my level.
dont play s11
-
Nux, why were you in S11? You traitor! :P
TimeTraveler did some griefing stuff. Would continue to reconnect just before getting killed and do stuff like
/callvote kick <other-player> for reconnecting
and succeeded at it. Since he succeeded, I think the server deserved him. And to tell the truth, I still sometimes chuckle about it. Sad was that it made that perticular server unplayable with him around and he managed to ruin some nice games.
I think what this tells us is that the client/server still has some flaws that make it easy for these kind of griefings, and these examples of griefing exposes this flaws which should make it easy to fix them.
For example, to kick by slot number it could be implemented like
/callvote kick <playername>
or
/callvote kick #<slot-number>
the hash mark would make it less abuseble.
Other option would have been a to dissalow certain names (forcing a disconnect), like names starting with a digit or names shorter than 3 letters.
-
Nux, why were you in S11? You traitor!
When did I say I played on s11? I've never heard of the place >.<
Not sure what n00b pl0x is talking about.
-
Umm, /callvote clientkick might be what you are looking for
Oh and in emergencies you can use /serverstatus to find a clientnum instead of listplayers, but it's not as reliable.
We had a 3 the other day too. The server actaully had some quite intelligent people on it though, so we votekicked him about five times in a row before he'd even entered the game. Eventually he gave up.
The whole process was made somewhat easier by his tendency to reconnect in playerslot 3, but the first couple of times /callvote clientkick 12 worked just as well.
-
Hmmm, that's good then. The only trouble is when it's not common knowledge how to employ alternative means the majority of gamers will have trouble removing the trouble-maker.
..Are you implying I'm not intellegent because I didn't know about this yet? :P I think you mean 'knowledgable'.
Anywho I'll look into this 'clientkick' thing thanks.
-
kicking by slot numbers = win, no more despairing when deconning noobs copy the names of legitimate players.
is it possible to make GUID's mandatory or some other id thing? like a /find ip command or something?
btw, could someone explain how to get a GUID?
-
kicking by slot numbers = win, no more despairing when deconning noobs copy the names of legitimate players.
You seem to have missed the point of my original post. This person used the fact you can kick by slot number. When trying to kick by name..
/callvote kick 3
..the cmd would interpret that as a slot number and call a vote for the person who happens to be in slot three.
!listplayers
1. Nux[F]lame
2. 3
3. UnluckyPlayer
UnluckyPlayer called a vote.
Kick UnluckyPlayer? Yes:1 No:2
UnluckyPlayer: WTF?
-
I've been kicking around the idea to just disallow any name that's just a number < 100. I need to go ahead and make that...
-
No just disallow number only names....
-
Why? Noone has slot numbers > 100. There's no difficulty in banning them if there's no slot/name confusion.
-
btw, could someone explain how to get a GUID?
How to. (http://dretchstorm.com/node/584)
GUID download. (http://trem.tjw.org/backport/)
Why not just disallow two or less characters name. Not counting colors.
-
What if someone comes up with a way to disallow kicking by slot if !listplayers isn't available to every one?
The knowledgeable players (forum goers) will know that if they can't !listplayers they can safely call to kick the person by name. If they can !listplayers they'll kick by slot.
The previously stated ideas'd probably be easier though.
-
If admins disable !listplayers it's their own damn stupidity when their server gets overrun by griefers.
-
Pol doesn't seem to care.
He only does it so he can't get votekicked. >_>
Anyone think of banning the S11's from the master server?
-
If a admin level doesn't have list players, doing !listplayers should display a list of slots and names, minus the other info.
-
Anyone think of banning the S11's from the master server?
And have him go register with another host and be right back? No thanks.
-
Anyone think of banning the S11's from the master server?
And have him go register with another host and be right back? No thanks.
Good point.
-
For example, to kick by slot number it could be implemented like
/callvote kick <playername>
or
/callvote kick #<slot-number>
the hash mark would make it less abuseble.
The trouble there is what's to stop them from calling themselves '#<slot-number>'. The flaw won't have gone.
Is there a simple way of not allowing any misinterpretable strings in your name?
-
If a admin level doesn't have list players, doing !listplayers should display a list of slots and names, minus the other info.
I assume you mean /serverstatus instead of second !listplayers.
-
This guy's a noob, he made a myspace to brag about shit: http://www.myspace.com/3pwnt
If you get tired of him then just place a subnet ban on 86.31.
That's his ip range. He's been impersonating admins on SST and got himself a subnet ban.
Names:
3
kerwans
clam
rlx
[>-] Rose'PF
IPs:
86.31.140.13
86.31.140.213
86.31.140.82
86.31.138.61
86.31.142.175
86.31.136.83
-
This guy's a noob, he made a myspace to brag about shit: http://www.myspace.com/3pwnt
If you get tired of him then just place a subnet ban on 86.31.
That's his ip range. He's been impersonating admins on SST and got himself a subnet ban.
why would you ban a /16 when it's obviously a /21?
-
Came on sst, now subnet banned.
All admins who can subnet ban, add 86.31. to your admin.dat or whatever.
-
That Numbskull xD He even had a bind that posted his name in ASCII (Red Three).
To think he's gone to all this trouble making a point about his RED 3 when- using the fact that the three is red -you can callvotes on him. xD
-
Ownt.
-
This guy's a noob, he made a myspace to brag about shit: http://www.myspace.com/3pwnt
If you get tired of him then just place a subnet ban on 86.31.
That's his ip range. He's been impersonating admins on SST and got himself a subnet ban.
why would you ban a /16 when it's obviously a /21?
Come again? Tremulous doesn't do subnet bans nicely, it goes by blanks, not ranges.
-
This guy's a noob, he made a myspace to brag about shit: http://www.myspace.com/3pwnt
If you get tired of him then just place a subnet ban on 86.31.
That's his ip range. He's been impersonating admins on SST and got himself a subnet ban.
why would you ban a /16 when it's obviously a /21?
Come again? Tremulous doesn't do subnet bans nicely, it goes by blanks, not ranges.
that's what iptables is for
-
that's what iptables is for
Or R1Admin :P
-
This guy's a noob, he made a myspace to brag about shit: http://www.myspace.com/3pwnt
hehe....
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.....
-
"/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.
-
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
-
Just don't play on servers whose owner are too dumb to use a newer qvm.
-
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
-
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.
-
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.
-
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.
-
can you please stop combining trying to be sophistocated, leet and annoying in the same post mr humancontroller :\
-
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?
-
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!
-
I'm fed up with everyone writing !listplayers ... all the time.
-
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.
-
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.
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.
-
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.
-
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...
-
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.
(http://i243.photobucket.com/albums/ff238/MSL9PmqG/ui.png)
-
*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....
-
/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.
-
then disallow any names containing #...pretty simple.
-
<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
-
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 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.
-
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 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?
-
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>
-
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%^^ ''
-
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.
-
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.
-
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.
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
-
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.
...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.
-
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.
-
(http://www.crystalhorizon.com/images/Buick/pside-patched.jpg)
-
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.
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 );
-
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.
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! :)