Server side hit detection

I would prefer to use projectiles as I will be using cannons/Turrets in my game.

right, you can do that with FastCast

And FastCast does exactly that! It uses projectiles, only difference being that instead of using the costly roblox physics simulator, it uses raycasting at every physics timestep to give the exact projectile arc without all of the unnecessary calculations done by the physics engine.

Can you elaborate on this?? I’ve resorted to doing client side hit detection, as server side is just way too unreliable and players have mentioned countless times that on their client they hit somebody, but that person doesn’t die.

I know most FPS games on Roblox use client side hit detection too

I did that at first too, but there are many, many bugs with that.

I have come to a solution: I made the projectile Replicate to all clients (through remote events) thus, not causing any lag, and then I also at the exact same time, fire a server-side projectile (which is invisible, so no one sees the lag) to handle the hit detection and damage.

That’s already what I’m doing :grimacing: however, even so, there’s notable difference with hit detection done on the server. Players can visually see their bullets hitting a target, but the target doesn’t die cause the server says that player is in a different spot

I don’t think there is, my friends and I have tried and tested my gun system multiple times, and no one saw any difference.

That problem would be due to the players own lag… like in most gun games, cant be helped.

The lag I’m referring to is when the projectile gets parented to workspace, there’s a fraction of a second pause in the projectile, there is no difference in the client projectile position and server-sided projectile position, (yes, of course there is a difference, but its so small that it will never make a difference in gameplay), also, I’m handling the damage on the server, so I don’t have the problem of getting false positives.