HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Spoof Detection

10-01-2005, 03:24 PM#1
Tim.
I was just thinking a few minutes ago, could you detect and kick users with a 'spoofed' name from a game? I supose checking the player name for a color code would work, since if you ask the game to make a text message with thier name, it colors thier name the same color as the spoof. Except how could you check for it? Substrings? What about users who spoof thier name without changing the color; for example spoof my name (Tim.) to the name 'Lord Vexorian.' Could a map tell that 'Lord Vexorian' is a spoof and kick them from the game?

I guess this could be useful if you want to ban 'spoofers' from your map; just curious.
10-01-2005, 03:54 PM#2
shadow1500
only way is to detect the color code, the game itself cant even find if its a spoof or not because when the host requests the player name the spoof sends the 'spoofed' name so only colored names will work with that.
10-01-2005, 09:13 PM#3
Tim.
Yeah thats what I thought. So basically you could detect if a player spoofed thier name with a color, and remove it (For the duration of the game). Hmm, that could be a useful trigger for people who use colors in multiboards or Game Messages using player names.
10-01-2005, 09:56 PM#4
The_AwaKening
Never thought of this, but I would love some type of a trigger like this in my map.
10-02-2005, 03:50 PM#5
Tim.
Okay I made it, seems to work just fine.

Code:
AntiSpoof
    Events
        Time - Elapsed game time is 0.01 seconds
    Conditions
    Actions
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                For each (Integer B) from 1 to 30, do (Actions)
                    Loop - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Substring((Name of (Player((Integer A)))), (Integer B), ((Integer B) + 1))) Equal to |r
                            Then - Actions
                                Player - Set name of (Player((Integer A))) to ((Substring((Name of (Player((Integer A)))), 1, ((Integer B) - 1))) + (Substring((Name of (Player((Integer A)))), ((Integer B) + 2), 30)))
                            Else - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Substring((Name of (Player((Integer A)))), (Integer B), (Integer B))) Equal to |
                            Then - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (Substring((Name of (Player((Integer A)))), 1, 1)) Equal to |
                                    Then - Actions
                                        Player - Set name of (Player((Integer A))) to (Substring((Name of (Player((Integer A)))), ((Integer B) + 10), 30))
                                    Else - Actions
                                        Player - Set name of (Player((Integer A))) to ((Substring((Name of (Player((Integer A)))), 1, ((Integer B) - 1))) + (Substring((Name of (Player((Integer A)))), ((Integer B) + 10), 30)))
                            Else - Actions
10-04-2005, 12:28 AM#6
The_AwaKening
I can see that how it detects the spoof, but I'm not sure what your actions are doing. Looks like you are adding something to the name?
10-04-2005, 08:58 PM#7
Tim.
I set it to locate and remove the color codes from the spoofed name; resulting in the exact same username but without the colors.
10-04-2005, 10:09 PM#8
The_AwaKening
What I'm wondering if it could do is tell you what the persons actual account is, or is that not possible.
10-04-2005, 10:39 PM#9
Tim.
Quote:
Originally Posted by shadow1500
The game itself cant even find if its a spoof or not because when the host requests the player name the spoof sends the 'spoofed' name so only colored names will work with that.

As you can see, there is no way to see the actual account name. However using this trigger will mean colored multiboards, game text messages, and any other time the player name is displayed, will not be effected by the spoof colors. Also it might lower the general talk like, 'OmFg Hax0rZ.'
10-07-2005, 11:49 AM#10
xxxSpikexxx
Nice thing.
but is it neccessary to check if the name realy is spoofed?
if you just change the name of the player to itself without a colorcode it wouldn't change any names without a spoof, would it? white changed to white looks like white.

anyway if all maps would use that it would perhaps reduce the number of these 1337 naps on b.net - quite a dream.
10-08-2005, 12:38 AM#11
Tim.
I do not understand.

This checks if the name contains a colorcode, and if so, removes it. If there is no color code it has no effect, and if the color code that is used is white, it is still removed. The point of this is not really to change the color of the name as it is to make it so game messages are not colored incorrectly (For example if I spoof my name red, then this would happen)


This:
Quote:
My God!! Tim. just got killed!!
Becomes this:
Quote:
My God!! Tim. just got killed!!

By removing the color from the name, the game messages will no longer be messed up.
10-16-2005, 10:41 PM#12
Kalvorod
I didn't really read the script, but wouldn't it be easier to just check if the first 2 letters of someones name = |c, and if it is, set the name to substring(playername,11,99)

I'm new to the substring buisness, so maybe my numbers are off, but I'm pretty sure that's how it works.

EDIT: Oh i see, you want to check the whole name, rather than just the front. I've seen no one with more than one color in their names, so I see no point in having all the extra confusing code. I'm merely saying this so you understand that I understand what you did, but still don't agree with it.
10-17-2005, 10:19 AM#13
Tim.
You cannot have more that 1 color in your name due to max character lengths; however that does not mean you have to place the color code at the front of the name.

I don't know how well you understand spoofing, however have you ever seen the name:
Quote:
o_O
If you only check the first letter 'o' it will come up as normal, and leave the final letter spoofed. Which will continue to screw up game messages.