Help with client sided bullet replication

So I’ve been workin on a bullet physics system that uses client sided hitreg, and I’ve been using remote events to tell the other clients to replicate the visual effects for bullets by sending them bullets parameters (start point, direction, velocity, timestamp to accommodate for latency) using event:FireAllClients().

Latency accommodation is calculated by subtracting the timestamp (start time) from the current server time.

Everything seems to work fine, but I’ve started noticing that the replicated bullets hit the player first, and then the damage and hit effects (which are done on the server) happen a short time after (usually 0.1 or 0.2 seconds). Is there a way I can fix this?