Tremulous Forum
General => Feedback => Topic started by: Stumpy on September 16, 2007, 02:24:29 am
-
I've been playing Trem for a while now, and am thoroughly enjoying it, despite the odd childish deconner. However, not 10 minutes ago I was kicked from a game for precisely that: deconning (something I have never done, and would never dream of doing).
A quick check of the logs revealed that someone else had connected with my handle, done a quick run around deconning all the eggs and the OM, then disconnected. Unsurprisingly a vote was quickly called to kick me and rapidly passed. I can hardly blame anyone for calling the vote or voting "yes" - by the time I'd realized what had happened and attempted to (politely) protest my innocence, it was too late.
However, it surprises me that it's possible to connect with a duplicate name. Does the server not check for this? I had assumed it did (obviously with an exception for "UnnamedPlayer").
Would it be possible to implement such a test? It would have to be more than a simple string equality comparison, otherwise one would be able to connect with a duplicate name by including trailing spaces or extraneous color codes to defeat the test. I would suggest that a proper check for duplicate names would:
- Strip all color control codes
- Strip leading/trailing whitespace
- Check if the result is <q>UnnamedPlayer</q>, if so abort the test
- Perform the comparison (with case sensitivity? Can't see any particular harm in this)
One might even wish to allow server admins to remove the exception for "UnnamedPlayer" (given that there are several servers which don't appreciate players not having a "real" name).
The reason this particularly annoys me is that, should this person do it again, I could well find myself kicked straight away from servers I frequent simply for being a "known deconner". Admittedly, this wouldn't solve the problem of someone connecting while I'm not there and generally acting like an ass, but it'd be a simple step in the right direction.
I suppose the "ultimate solution" is to introduce some form of registered accounts on servers (i.e. tie a password to a name and reject connections with an invalid name/password combo) - but that's a rather more complex problem that would also require client side changes.
Anyway, my thanks to the developers for an extremely enjoyable game.
Cheers,
Dave (hoping I don't have to pick another handle).
-
up to date servers should already do what you described (and if you have a guid most servers have an admin level that gives no powers but provides you with name protection)
-
get setleveld
-
--
-
The best strategy against such players is still to NOT play on unattended servers.
-
Unfortunately these checks won't always work. E.g. there was a normal player named 'ASD1' (just an example). Then another player connected with the name 'ASDl' (yes that's a lowercase L) and started deconning random stuff. Even if you strip colors, whitespace and lowercase the names, they are still different for the server.
As a workaround: also check for similar characters (like 0 (zero) and O, 1 and lowercase L and uppercase i, ...).
The best strategy against such players is to get a GUID client and get setleveld.
The better solution would be to have an interactive console and UI. So that if you see this text: Reactor DE FUCKING CONN3D by UnknownAsshole, you can right click on the UnknownAsshole, and select KICK.
-
The better solution would be to post in a way we all could read and understand what you tried to say.
-
Many thanks for the suggestions regarding the upgraded client and the GUID. It turns out I'm already running the upgraded client (admittedly I upgraded on the basis that one of the servers I frequent told me to, without really understanding why - I missed the QKey stuff in a brief read through the .patch). So, I guess the next step is to get setleveld (which I assume I need to ask an admin for).
@soultcer: Good point. IIRC, the font in Trem distinguishes between 1 and lowercase L (albeit minimally), but I'm sure there are other combinations which are harder to spot (as you mentioned 0 and O, 5 and S, etc). I assume the GUID+setlevel name protection doesn't defend against such things, but I'm not overly concerned about it. Hopefully I don't annoy people enough to go to the effort of attempting this (though for the life of me I can't figure out why someone did in the first place, beyond puerile spite).
Incidentally, this leads to another question: I have a dual-boot setup running WinXP and Gentoo Linux. Naturally, Trem is installed on both OS' :). I assume I should copy (or just symlink) the generated qkey file from one partition to the equivalent location on the other to ensure each client runs with the same GUID (I already symlink downloaded maps to the Linux partition as it obviously saves downloading them twice, and saves a bit of space; the Linux partition is rather small).
Thanks again,
Dave.