4 ms·
First person shooters are split, part server and part client. For example, an enemy comes in range of you, your cheat automatically triggers a "shoot at the pr
by nousernamesleft 13y ago
First person shooters are split, part server and part client. For example, an enemy comes in range of you, your cheat automatically triggers a "shoot at the precise direction of their head" command to be send to the server. The server does not check if you were actually facing that direction, it does not check if you actually turned to face them in a manner that a human could. So things like aimbots are common where you literally click "next target" and it cycles through all the enemies heads. There is really no way to prevent this kind of cheating. Slower paced RPG style games where you just send "attack target with ability X" can be handled entirely server side. As we start seeing more fast paced action style MMOGs and fewer "computer reproduction of pen+paper+dice" style MMOGs the line gets blurred and more impossible to deal with cheats become problems.
- JoeAltmaier 13y agoBut, but, you just said how to prevent it! "Check if you actually turned to face them..." would work just fine?
- nousernamesleft 13y agoIf you just check that they did face the right way, then cheating is still trivial. Just instantly turn and fire instead of just firing (this is what aimbots actually do anyways). The problem is you can't have the client send all 1000 "the mouse position changed" events to the server and have it approve them to ensure that you actually moved the mouse rather than just instantly changing to pointing straight at the enemy's head.
- JoeAltmaier 13y agoMaybe stats on the behavior would work. You can tell who's typing on a keyboard by running stats on the inter-key delays etc. Probably stats on commands to the server (turn, fire delay etc) would identify bots pretty well.
- Retric 13y agoYou can't validate each mouse click before updating the client's view, but you can do the same aim validation as you do movement validation to prevent teleportation or excessive movement. Basicly, validating 1,000 motions a second is no problem it's latency that's the issue. So now you can still cheat but your limited to human reaction times or the server can detect and boot you.