Exploit problem

I made a throwing ball, and I ran some tests (in the run command) and I did manage to exploit, I can’t think about a solution to prevent the exploit problem, the client can change the speed and a lot of things to the “body mover” they can even create a new one, how can I prevent people from exploiting that?
Note: I set the ball NetworkOwner to the player who throws it

You have 2 options, have the server handle everything and thus set network ownership of the ball to the server by calling :SetNetworkOwner()/:SetNetworkOwner(nil) on it or you can constantly check the ball for any unexpected behaviors/characteristics which would indicate that someone is exploiting, check who the current network owner is and kick/ban them accordingly.

Does this happen just on your side or to everyone else as well. There is something called filtering enabled which is going to be always enabled and can’t be turned off. I would check if the exploit that changes the throwing ball happends to everyone in the server or just you. Also your using exploits this could get you banned from roblox

I tried to set network owner to the server (using :SetNetworkOwner(nil)) and it is still the same,
and even if I manage to make the ownership to the server It will effect the server performance (the ball is a magic ball attack there will be a lot of players using it at the same time)

Unanchored parts will always have their network owner set to the player which last touched them I believe, so you may need to call :SetNetworkOwner(nil) inside of a Stepped/HeartBleed loop.

Its not “Exploits” hes using the run command bar which is a feature Roblox made and hes just executing lua code. This is not called exploits, exploits are stuff you can run in EVERY game what hes doing is called “testing” he didnt exploit in other games he tested on his own games.