The best way for bullet hitreg

So the question is not how to make a bullet (it’s simple) but what is the best way to make it. I couldn’t find a clear answer so that’s why I created a new topic

Currently (only talking about hitreg part) my gun sends to a server origin position (gun barrel) and a target position (mouse position). A server then draws a ray and if it detects a humanoid, it deals damage and returns to a client a hit confirmation

But what if a client have a very high ping? I have 300-350 Mbps and I still have ping at least 60 ms (usually it’s higher). It would be unfair for players to have high ping, and so, should a server rely on a client? But on the other hand, a “victim” can take damage even if he is far away from a bullet

What do you think, how a bullet hitreg should be done? The bullets are simple and works like lasers so no travel time

P.s. I heard one of the ways to make a bullet hitreg is to remember the position of players and remember a time (in milliseconds) and rewind everyone’s positions back by a player’s ping, is this actually the best way to make it?

Search tool up top with different search terminology.

You should consider looking at FastCast if you want to prevent bullet lag or jittering.

Your logic for determining origin position and target position sounds fine, although you should have sanity checks, e.g. ensuring the player is actually where claim they are (validating origin position) and other such things.