Page 1 of 1

Anti Cheat

PostPosted: Sat Dec 31, 2016 04:34
by jordan4ibanez
I noticed that anti cheat isn't working out how it should be because people can hack into it and flush out all the measurements that are put into the game to stop cheating.
Would it be possible to ignore cheating packets that a hacked client sends server side?
If a client cheats, could it be possible to auto disconnect them or "ghost" them, as in they can walk around the world and edit it client side, but server side nothing is happening?
If a server finds a player cheating, could it be possible to auto ban them?
For example, if a client uses c++ equivalent to math.abs() to lower their health, have the client send back the current health. The hacker could have a fake value which calculates the real health of the client but use the real value in client to stay alive. Until the client dies, then check if the client is dead, and if player can still free move then kick them and take their items.

Flying and such is easier to get, you have to put in a server side jump timer to get the last time a player jumped, the node they jumped from, and the speed it would have taken them to get to their current position, and if it's out of range then kick them.

Mining hacks could be removed by getting the rate that a player mines and comparing it to the tool capabilities of the wielded item, kicking them if out of range.

Noclip hacks are a little more difficult to think about, but if the player is in a node that is not walkable, and then enters a new node which isn't walkable, then assume they are no clipping without no clip and kick them.

That's all I can think of for now.

Re: Anti Cheat

PostPosted: Sat Dec 31, 2016 18:28
by BrunoMine
I agree, but apparently the minetest developers in general is not worried about cheating. This is too bad for survival servers like mine.

To avoid cheaters I create my own mods to enforce security.

Anyway, I think it's important that we take this theme more seriously into minetest.

Re: Anti Cheat

PostPosted: Sun Jan 01, 2017 22:57
by sfan5
The script API exposes some "cheat events" that are triggered when inconsistencies like the ones you mentioned are detected. Mods can make use of this and kick player when too many inconsistencies are detected.

Re: Anti Cheat

PostPosted: Wed Jan 04, 2017 10:47
by Byakuren
jordan4ibanez wrote:Noclip hacks are a little more difficult to think about, but if the player is in a node that is not walkable, and then enters a new node which isn't walkable, then assume they are no clipping without no clip and kick them.

This can lead to a false positive if a player has two nodes placed at their position (at their feet and one node above that), and then the player jumps. But maybe it would be fine if it only triggered on such movements that are not upwards.

Re: Anti Cheat

PostPosted: Fri Jan 13, 2017 17:28
by Lejo
I think one problem is that much people set in minetest.conf: disable_anticheat = true, because they are stopped at sprinting or something else.

Re: Anti Cheat

PostPosted: Thu Feb 23, 2017 19:00
by ABJ
I've heard that players can "fly" by walking on ignore nodes on laggy servers and then get accused of hacking.