I've a doubt about synchronization on multiplayer games. In the case of the architecture of a game is like this:
Client tells to the server is shooting at this position, then the server simulates the same movement then tells to client if the enemy was hit or not.
I think in this type of architecture when a client has too much lag the information on shoot arrive very late on server. Could happen that if the client hits an enemy the same thing may not be happen on server that gets information too late, so the hit that is registered on client is lost.
I've noticed that when i've too much lag, all my hits are always registered.
So what I think is that the architecture of game is different of my proposed.
How "Overwatch", "CS:GO", or "Rainbow six siege" are handling this syncronization? It's possible that allow clients to send hit's information to server?