I don't have any experience in gaming industry and I would like to do some gamin development for fun (initially on server side).
However, being the noob I am, it is not quite clear to me what is generally considered a good approach in the industry in terms of the split of game logic between server and client regarding the geometry.
For example, let's assume use case from Counter Strike: flash bang is thrown. Target position of FB is X, and its impact radius is R. Then, the question is, who does calculation which players will be impacted: client(s) or server? Calculation would be "for every player's location(which is represented as point in geometry) within radius R of impact point, if there exists straight line (i.e. is visible) between player point and impact point, then apply flashbang effect" etc.
To me it seems that for every map, server side has to keep some kind of representation of map geometry (without graphics part) and player location in order to at least prevent cheats, and also to smooth out gameplay i.e. decide and enforce total event order across all clients (i.e. decide which player got the actual headshot first in case they click around the same time etc).
Thanks in advance for any input.