FLWL / aoe2-ai-module

Library to extend AI scripting capabilities in Age of Empires 2.
GNU Lesser General Public License v2.1
16 stars 6 forks source link

Remove/change the current anti-cheating protection #14

Open 01010100b opened 3 years ago

01010100b commented 3 years ago

The current anti-cheating protection, where the server keeps track of which application tries to access commands for which player, is ineffective at its goal and leads to issues. It is ineffective because it doesn't stop players from controlling other players' units or getting their information, the underlying scripting system already allows for such exploits (we just recently had such a case in the scripters tournament). The protection mechanism is however giving issues in the following use-cases:

I think it would be best to just remove the current anti-cheating protection since it's ineffective anyway. If an anti-cheating system is created it must be implemented at the command level (for example up-add-object-by-id should fail to add a non-player unit to the local - ie controlled - unit list, there are plenty more examples of this).