Author Topic: Duplicate Names  (Read 4131 times)

Stumpy

  • Posts: 2
  • Turrets: +0/-0
Duplicate Names
« 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).

kevlarman

  • Posts: 2737
  • Turrets: +291/-295
Duplicate Names
« Reply #1 on: September 16, 2007, 02:31:48 am »
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)
Quote from: Asvarox link=topic=8622.msg169333#msg169333
Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

n00b pl0x

  • Posts: 2412
  • Turrets: +55/-168
Duplicate Names
« Reply #2 on: September 16, 2007, 03:32:23 am »
get setleveld
will sort out my sig, or I will get banned.

HOW DO I SORTED SIG?

soultcer

  • Posts: 23
  • Turrets: +0/-0
Duplicate Names
« Reply #3 on: September 16, 2007, 05:01:32 am »
--
« Last Edit: June 05, 2011, 12:23:17 pm by soultcer »

Caveman

  • Guest
Duplicate Names
« Reply #4 on: September 16, 2007, 10:27:04 am »
The best strategy against such players is still to NOT play on unattended servers.

/dev/humancontroller

  • Posts: 1033
  • Turrets: +1002/-383
Duplicate Names
« Reply #5 on: September 16, 2007, 11:39:29 am »
Quote from: "soultcer"
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.

Caveman

  • Guest
Duplicate Names
« Reply #6 on: September 16, 2007, 11:41:43 am »
The better solution would be to post in a way we all could read and understand what you tried to say.

Stumpy

  • Posts: 2
  • Turrets: +0/-0
Duplicate Names
« Reply #7 on: September 16, 2007, 01:59:25 pm »
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.