Should I handle knockback on the server or client?

I am making a simple melee/combat system thats reliant on some strong knockback, and I was curious (mostly from the concern of exploiter/security and fluidity/gameplay) should I try to use,

:ApplyImpulse() on the client?
or
VectorForce from the server?

Or any other ideas of how I should tackle knockback?

1 Like

I recommend using LinearVelocity as it makes sure the person getting knocked back doesn’t get flung however it is a bit confusing to use at first

about exploiting and security I don’t think it really matters if you render the knockback on the server or client

Exploiters can only manipulate things on their client but usually never the server
A good example would be Rocket Launcher with a 5 second cooldown

– Bad Solution –
Client sends RemoteEvent to Server to Shoot the Rocket Launcher
After shot Client handles the Cooldown and ‘halts’ all input to do with the Rocket Launcher
(If the server doesn’t have any checks then the Exploiter can just spam the Shoot event as much as they want)

– Good Solution –
Client sends RemoteEvent to Server to Shoot the Rocket Launcher
After shot Server handles the Cooldown and halts all attempts to Shoot until the Cooldown is finished

That’s a brief explanation of exploit proof code however if you need something more detailed I recommend you research yourself

1 Like

I see, thank you for the input! I appreciate the response :grinning:

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.