Anticheat

From Minetest
Revision as of 09:18, 3 September 2023 by Poetry (talk | contribs)


Introduction

This page discusses Minetest "anticheat" concepts and issues.

Anticheat basics 

Location security isn't a thing in Minetest. The server's design allows the client to handle the physics. This is a poor design but unavoidable now. Without the flaw it wouldn't be the same game. In fact, it would be totally incompatible.

In some commercial game setups, the server and the client both do physics and the server compares physics on the two sides to determine if the client has cheated or not.

Minetest could do that to make a better anticheat while remaining backwards-compatible. However, it would require a lot of processing on the server side.

The "anticheat" mod seems to be the only lightweight way of preventing incorrect movement, but it only checks whether you "moved too fast". Additionally, this type of check can cause problems for players who haven't broken the rules.

Noclip anticheat 

We're not sure if there is a mod that can detect noclip violations. That wouldn't require the server to do physics. However, it would be complicated regardless.

One approach to that would be for the server to check paths; e.g., use the pathlib mod to determine the path between the last known position of a client and a new position that the client sends, then apply the "moved too fast" check along the entire path (such as around the whole room and through a door) and detect whether that number of meters was traversed "too fast".

The server could also check to see if a destination is completely blocked off and, if so, treat access to the destination as a "noclip violation".

Editors: How would these techniques take permitted modes of teleportation such as "/tp", "/tpr", and travelnets into account?

MultiCraft cheat clients 

In Fall 2023, McKaygerhard alleged that MultiCraft included official clients for sale that explicitly included support for cheating. The allegation was not confirmed.