1

Topic: My idea to detect aimbots

Hi, I have an idea to detect aimbots. I'm not sure how exactly an aimbot works. I assume an aimbot is a modified client which would get the x and y of all enemy tee's in the map from the server (I really haven't looked at the source code of Teeworlds, sorry if I'm not making sense at all. but bear with me.) and find the closest one and aim at it. In this case what if we modify the server so that it feeds a few fake and random enemy tee positions to clients, but (I'm not sure how yet) not visible to the actual players. In other words, a few invisible enemy tees flying around the map which the aimbot cannot differ from real enemies,but a player can. I hope with this method it would be possible to detect aimbots easily since this makes them to act different from a say "highly skilled player" (I hope no one is skilled enough to see an invisible tee, tough tongue). I call these fake enemy tees, "test tee" or "Ttee". because they are used for testing integrity of players.

after the hard part is implemented, it would be really easy to detect cheaters. To find the cheaters, server can check if a player is constantly aiming at Ttees around him or not. for example whenever a new Ttee appears, if someone suddenly aim at it, it would mean he failed the integrity check. and to avoid false alarms and to be almost sure, if someone fails the test for like 5 times, then server can confirm he is aimbot.

Or instead of aiming we can use shooting. if someone's bullets hit a newly appeared Ttee, it would count as one fail. but I think it would raise the rate of false alarms since spamming bullets or grenades are a common behavior.

Behavior of Ttees have several practical possibilities. I suggest a limited number of Ttee, randomly appearing around players, moving around, then disappearing.
But in order to make them act like humans we can record player movements and make Ttees replay them. but I don't think it would be necessary.
Or maybe all it needs is Ttees appearing and then disappearing instantly.

Although I don't know almost anything about the source code of Teeworlds, but I think it is possible to implement such thing. If you think this is not a good idea or it can not be implemented, please provide your argument. I'm open to further discuss the idea.
thanks for your time.

But... what if we tried more power?

2

Re: My idea to detect aimbots

In this case what if we modify the server so that it feeds a few fake and random enemy tee positions to clients, but (I'm not sure how yet) not visible to the actual players. In other words, a few invisible enemy tees flying around the map which the aimbot cannot differ from real enemies,but a player can.

Nice idea but if you make these tees invisible the client has to know which tees are real for rendering, so ofc I can make my bot aiming the real tees, otherwise you have some strange tees flying through the map and confusing the player, that doesnt make any sense.

3 (edited by Slayer *gV* 2012-05-30 11:27:18)

Re: My idea to detect aimbots

Logical mistake, like TT <3 mentioned already:
An aimbot will know everything the player finally will see / receive. There is no difference.

4

Re: My idea to detect aimbots

TT <3 wrote:

Nice idea but if you make these tees invisible the client has to know which tees are real for rendering, so ofc I can make my bot aiming the real tees, otherwise you have some strange tees flying through the map and confusing the player, that doesnt make any sense.

I agree. My point is, the client and thus the aimbot should not be able to tell which tee is real and which is fake.
I can think of tee's with transparent skins. Or with skins that are exactly like the background (this one might be hard to implement in server because the skin need to change fast. but I don't think it's impossible).

But... what if we tried more power?

5

Re: My idea to detect aimbots

mASOUD wrote:

I agree. My point is, the client and thus the aimbot should not be able to tell which tee is real and which is fake.
I can think of tee's with transparent skins. Or with skins that are exactly like the background (this one might be hard to implement in server because the skin need to change fast. but I don't think it's impossible).

Even at this point, the client will somehow render "invisible people", and it can always realize these people are invisible.

There is almost nothing a computer cannot identify while a human can. A solution could be: draw captchas on all skins with some of them telling "true" and other "false". But I think Teeworlds would kind of fall in another genre than the retro FPS :D

Not Luck, Just Magic.

6

Re: My idea to detect aimbots

mASOUD wrote:

I can think of tee's with transparent skins. Or with skins that are exactly like the background (this one might be hard to implement in server because the skin need to change fast. but I don't think it's impossible).

Note on this post:
Bots = Bots on the gametype
Cheaters = Humans

It will not work.
You dont receve other skins, just the name of the skin (Exemple: You are using the koala.png skin, other people will receve the info. that you'r using the koala.png skin, but not the skin)
But teams (Like DDRace - /team 1 /team 2) could work.
Exemple:
Normal players: /team 0
Bots on the server (Based on your idea): /team bots (Players can't join to this team)

So, if the bots are around of cheaters, cheaters will try to kill the bots that are on other team (And no one can catch or tutch them)

Playing Teeworlds since 2011!
"I will always be topless for you"
                  - Günther Branlutte

7

Re: My idea to detect aimbots

HeroiAmarelo wrote:

So, if the bots are around of cheaters, cheaters will try to kill the bots that are on other team (And no one can catch or tutch them)

Wtf.

Not Luck, Just Magic.

8

Re: My idea to detect aimbots

I've created a demo file. It may help you to understand my idea. Download

Playing Teeworlds since 2011!
"I will always be topless for you"
                  - Günther Branlutte

9

Re: My idea to detect aimbots

Ok, since the skins are handled by the client, it's not possible to make them invisible. What if they appear and disappear so fast that only an aimbot can aim at them? and players don't even see them because they disappear quickly.

HeroiAmarelo wrote:

I've created a demo file. It may help you to understand my idea. Download

weird way to describe your idea but from what I understood, you say some Ttees join their own team and roam around. obviously in that case, game would get confusing and also the cheater can design an aimbot that ignores the tees on that team.

But... what if we tried more power?

10

Re: My idea to detect aimbots

mASOUD wrote:

weird way to describe your idea but from what I understood, you say some Ttees join their own team and roam around. obviously in that case, game would get confusing and also the cheater can design an aimbot that ignores the tees on that team.

The cheater can always design the bot so it gets around your protection. Especially if you make them appear only for a short time. And the the shortest time you could make them visible and invisible would be 40ms, which is already quite long (2 game ticks, snapshots are sent each two ticks).

11 (edited by Ich 2012-05-30 17:09:17)

Re: My idea to detect aimbots

My idea is, go make something similar to esl and customize it perfect to teeworlds rules/gameplay. Then just make any modded client which sends and recieves data from a modded server. Thats kinda like esl wire. I also would have some ideas for it but i guess not much would like the idea of allways playing with a modded client which i totally can understand 'cause i play with the standart client. But for me is that the best way to prevent aimbotters and keep everyone using the same client and not cheater gamer client for example (idk why that topic isnt banned from this forum, sry dune). And ps: i don't like esl that much but they got some good and easy ways to prevent cheating or hacking. If you are interested or don't likez it i could explain it a bit further to show you my whole idea.

Pi_

12 (edited by mASOUD 2012-05-30 17:15:06)

Re: My idea to detect aimbots

Pi_ wrote:

My idea is, go make something similar to esl and customize it perfect to teeworlds rules/gameplay.

What is "esl" ?

But... what if we tried more power?

13 (edited by Ich 2012-05-30 17:56:40)

Re: My idea to detect aimbots

mASOUD wrote:

What is "esl" ?


Esl is an "Electronic Sports League" with lots of games listed, with the "versus" option which makes finding clans to war easyer and listed ranks of clans and players. Some games like cod got some tool called esl wire. It detectes aimbots and hacks way better than vac or punkbuster does and esl makes games better in my opinion. For example in cod (again big_smile) there are alot of newbish things which sux alot and they are just not allowed in esl. Esl is a good idea but i don't like it that they just list so much tiny games like teeworlds. I would like to see a only teeworlds league which is thought-out professional and ofc with some wire tools. I would be interested about doing that together with others who are interested and got coding skills but i would first need to find these guys and i have to check if the community would like it. The next problem is that there aren't so many teeworlds vanilla clans (in my opinion vanilla is the only sensefull mod(it's not a mod) which is based on fight against another team or other players (insta = just a fun mod but not really necessary). It maybe a try would be a good idea to get new players but i didn't thought much about it yet.

edit: here you got the esl teeworlds site: http://www.esl.eu/eu/teeworlds/


Pi_

14

Re: My idea to detect aimbots

I didn't quite grasp how does their "wire anti cheat" work but I don't think it offers a solution where the source is available for cheater to study.

But... what if we tried more power?

15

Re: My idea to detect aimbots

Idk if there are allready way to aimbot without a modded client but if no then just make a wire client whichs wire is compatible to wire supportive mods and don't give a source?

16

Re: My idea to detect aimbots

Pi_ wrote:

Idk if there are allready way to aimbot without a modded client but if no then just make a wire client whichs wire is compatible to wire supportive mods and don't give a source?

Don't give source code implies no custom clients et cetera, not really what one would like to achieve? And don't be trapped into thinking that esl wire is cheat secure..

17

Re: My idea to detect aimbots

I didn't mean not to give the source of teeworlds at all. I only mean not to give the source of the modded server and client files.

18

Re: My idea to detect aimbots

Pi_ wrote:

I didn't mean not to give the source of teeworlds at all. I only mean not to give the source of the modded server and client files.

Won't work, since it will be the same network protocol as the "original" Teeworlds.

Not Luck, Just Magic.

19

Re: My idea to detect aimbots

I don't know about how the teeworlds client and aimbots really work so i can't really help with ideas to protect it, but i still love the idea of a league in teeworlds to promote vanilla (which really needs it).

20

Re: My idea to detect aimbots

Why shouldnt a server detect bots on the same way as players? Too fast aiming isnt a good criterion, because there are some very good players who can aim really fast too or if you just have luck. But always pointing on the nearest player can be easily detected and is a good criterion for bad bots in my opinion. Furthermore you can find many other botlike actions. May be a bad movement but a very good aming skill or just if a player really always hit the nearest player (So the detection need some minutes may be five or ten) i guess that every normal player will aim sometimes not at the nearest opponent and he hits with every shot, particulary if tees move slow. I'm sure that there are some more botlike actions and in combination they may be will able to detect bots. It would be nice, if vanilla teeworlds support such a detection, but may be it is already rejected and i just dont know it (Sry if this is the case).

21

Re: My idea to detect aimbots

Useless. Bots will learn in one or two days to don't aim the nearest player, if they don't already do.
Good aiming but bad movement is something a server can't decide.

22

Re: My idea to detect aimbots

What about cryptographic hash function? If the server detects clients with a different hash value it bans them effective immediately.

Too bad for custom non bot clients. big_smile

Once in a century...

23

Re: My idea to detect aimbots

DARK HUNTER wrote:

What about cryptographic hash function? If the server detects clients with a different hash value it bans them effective immediately.

And how to you securely get the client hash? By asking him? "Lolol hello I'm haxxor1337's client my hash is 0xba125c47. Server - That's the same hash as the vanilla client. You're welcome".

Not Luck, Just Magic.

24

Re: My idea to detect aimbots

Well it was worth a shot big_smile

There really is no technical way to prevent cheat clients. The only way to detect one is the good ol' human sight and thinking (those few people that actually think). So best if we educate people not to start kick votes just because someone shot them smile (that is if they're willing to learn -_- )

Once in a century...

25 (edited by Twiss 2012-08-04 18:27:50)

Re: My idea to detect aimbots

Slayer *gV* wrote:

Useless. Bots will learn in one or two days to don't aim the nearest player, if they don't already do.
Good aiming but bad movement is something a server can't decide.

Why not? Players who are just as good as a bot or even better usually run through the maps very fast and of course much faster then noobs. Additionally, you can analyse their way. If so. tries to climb up a wall and fails many times he has a bad movement. If someone can go up high unhookable walls with grenade or makes good rocketjumps he has a good movement. Just some exmaples. But i suppose it wouldn't be worth the effort...

But ok i have a new idea. You could just take the reaction time it is in many cases unhuman it cant be luck. In combination with an optional account system really good players can be proofed and autmatically not recognized as a bot, so it is like a whitelist with good players who otherwise would be detected as a bot. Furthermore, the server can just start a vote kick so finally the players habe to decide, if a person is really a bot.

EDIT: I start a short research in the internet and it seems as 112 ms are the lowest possible reaction time for humans. It cant be just luck if you nearly always react faster. Ok yes you could make the bot so that it needs this time but in combination with the whitelist you can set it higher and then bots are less effective.