I own a combat game and we use Network Ownership to make NPC movement smoother and be less expensive to the server.
As you might know, Network Ownership not only gives the client permission to control the movement of physics parts but it also gives permission to control Humanoids, meaning that Humanoid State Types would be replicated to the server if altered on the client, which is a huge problem. Any exploiter could insta kill any Humanoid by doing:
local Humanoid
Humanoid:SetHumanoidStateEnabled(Enum.HumanoidStateType.Dead, true)
Humanoid:ChangeState(Enum.HumanoidStateType.Dead)
I’d like to bring a discussion on what could be a good security measure for this. Is there any way to prevent the client from having control of NPC Humanoid State Types without taking Network Ownership?