As you can see in the gif, the client is correctly placed (obviously), while the server is just behind it and went doing sharp turns will not even be in the same trajectory as the client one, how can I sync them together?
Currently I have a module, it has 2 functions: Server “Creation”, Client “Creation”, the server one detects the hit and damages etc., the client is just for visuals.
I have read this post: Projectile Replication
Although it says that I should detect immediately if the player hit the target, but with travel time how is that possible to determine?
So if I were to send the server my player position, I still have to consider that moving also is off-sync, I might as well just send my character position then?
You can do whatever you want but that’s not what it looked like you wanted, but sure. Different games handle it differently. Some try to adjust what the player sees, some rely on client info but do sanity checks etc. It’s a design choice you’ll have to make.