One way cheating could easily be abused is by glitching through solid objects. I have found that projectiles can go out of solid objects, but projectiles cannot go into solid objects. This means that, in an arena, if I clipped through a wall, I could easily attack monsters one-by-one completely without risk.
My immediate suggestions are as follows:
Set up some simple client sided values to validate movement, then
Have server check movement, and if their speed is way over than what it should be, kick them.
Create some checks done by the server to validate positioning values. If they are inside of an object, send them to the closest point outside of the object
Randomly obfuscate release code, so that the open-source code is different than the user-readable release in the public server
I'm not entirely familiar with anti-cheat methods, and I know this is difficult in an open source game, but at the very least, something should be done if any sort of competition is opened in-game.
I've noticed that players are starting to cheat at the game with Javascript injections through such methods as browser "javascript:[X and Y code]."
With Nick's suggestion of opening up formal competition using a monster arena https://github.com/ironbane/IronbaneServer/issues/213 , I feel like some users will start simply cheating to one-up other players.
One way cheating could easily be abused is by glitching through solid objects. I have found that projectiles can go out of solid objects, but projectiles cannot go into solid objects. This means that, in an arena, if I clipped through a wall, I could easily attack monsters one-by-one completely without risk.
My immediate suggestions are as follows: Set up some simple client sided values to validate movement, then Have server check movement, and if their speed is way over than what it should be, kick them. Create some checks done by the server to validate positioning values. If they are inside of an object, send them to the closest point outside of the object Randomly obfuscate release code, so that the open-source code is different than the user-readable release in the public server
I'm not entirely familiar with anti-cheat methods, and I know this is difficult in an open source game, but at the very least, something should be done if any sort of competition is opened in-game.