How is generally managed the shooting and hitting targets in online shooter games? How it is decided who is actually hit if two players are moving and shooting at each other? Is it decided by server or clients? How "real-time" the synchronization between server and all clients is? I can imagine that the players ping (different ping) and some server and/or client computation time can make quite a mess in this. Is it so?
I seen various weird stuff in games I played, I would like to get some explanation why is it happening as it is:
I shoot directly into the body of another player from close distance and it is no hit (Counter Strike 1.6, Arma 2, Arma 3, Heroes & Generals). Is it bias in perception, or it is real scenario for some reason?
I shoot somewhere into a blank space (but realtively close to some player) and it is hit (Counter Strike 1.6, Heroes & Generals). Again is it bias in my perception? Or is it some auto aiming aid of those games?
Players kill each other (Heros & Generals) - why is that happing? Is not clear who "shoot" first?
I am getting killed when I am already hidden behind corner (Heroes & Generals).
If it is not possible to describe this process in some general scope (how it is usually handled in games), then please answer it for the games I mentioned.
Note: my ping is usually much lower then ping of other players - in CS1.6 I usually have less than <5 ms.