NetworkOwnership questions

This question may seem simple at first, but the DevHub’s documentation provides no information that I can find.

say you have a Sphere part with a BodyForce inside it, and you want the player to be able to control it, Normally you would give the client access to the physics calculations with:

--Server script
part:SetNetworkOwner(player)

--LocalScript
part.BodyForce.Force = Vector3.new(SOMEVECTOR3)

However, if I do not want the Player to control how fast the part can move, that no longer becomes viable, as they can just give themselves a huge push the moment they gain NetworkOwnership.

Is there a better way to give the player control of the sphere? Or can I use NetworkOwnership in a different way to prevent them from increasing the speed of the ball crazily.

I suppose you’re talking about how if you give the client network ownership of something, they can do whatever they want with it, like give it an insane amount of speed. As far as I know, you’d just have to keep track of relevant data on the server (speed, etc) to make sure that the client isn’t doing anything that you don’t want them to. If you give them network ownership, that’s just how it is.

Note that changes made to things like size on the client won’t replicate so you don’t need to worry about clients changing the size, only things like speed or position.

Thank you, the API Documentation on NetworkOwnership is severely lacking, so this answers my problem.

2 Likes