Questions about making a football game (anti-cheat)

Simply put, I’m wanting to make a football game and I have some questions regarding making an anti-cheat system. My main concern is exploiters flying, teleporting and making themselves faster etc. which would completely ruin the experience for others. I’ve thought of looking into server authoritative movement for players but it’s not something I’m very familiar with and I’m wondering if it’s worth setting it up.


1.) Is it necessary?
The new anti-cheat system Roblox has been developing seems to have heavily decreased the amount of exploiters on the platform. I feel like they’re much less common now - and if someone does exploit it’s usually not long before they get banned. So I’m wondering, even just for game development in general - is it worth investing time in making an anti-cheat system of sorts? (I’m meaning stuff like server authoritative movement, stopping people from teleporting and flying/making their selves faster etc.)

2.) If so, what would be some necessary anti-cheat features for such a game?
The main thing I’m concerned about is what I stated above - “exploiters flying, teleporting and making themselves faster etc”. Are there any other potential ways that an exploiter could mess up the game? As long as I set up the game as best that I can regarding coding, and potentially add server authoritative movement, could there be anything else that exploiters could do excluding things to do with poor coding? By poor coding I just mean something silly like creating a RemoteEvent that when fired gives the player a the ball or something (this is just a silly example).


In conclusion I’m unsure whether it’s worth investing time in coding an anti-cheat system for the game, alternatively I could just script the game to the best of my ability and hope that Roblox keeps updating/adding more anti-cheat features.

I think a full anti-cheat system is too much. If your still worried maybe try adding some velocity checks on the players.

Good luck!

1 Like

I think it could be necessary but definitely don’t spend too much time on it or make advanced anti-cheats.

Besides classic exploiting like flying/teleporting etc., your general practice for remote events should be that even if player gives you something completely invalid, the code still functions perfectly fine.

For example; player could be spamming kick remote event to make the ball fly or whatever, you could add server side cooldowns.

For flying or teleporting;

  • To prevent flying you can define players max X, Y, Z position values. So if they ever go beyond these points you’d just clamp their position

  • To prevent teleporting or speed hacks you could add max position change in a certain time, and if its beyond the maximum, you could teleport them to the maximum threshold point. (You could change the maximum depending on if the player is running or not)


I don’t recommend instantly kicking or banning a player as game glitches happen quite often.

What you could do is though log these changes to datastores with player user id, position/velocity etc. type of information; then decide if there is going to be any punishment by manually going over it yourself. (I DONT KNOW IF THATS THE BEST METHOD, JUST THEORIZING)

Those are some examples, I wish you luck finding the best methods for preventing these types of things!

1 Like