Hit registration is the process by which the game server determines whether a bullet hit a player and applies the corresponding damage. It sounds simple, but the accuracy of this process is exactly what determines how "fair" and predictable the game feels at the level of individual bullets and headshots.
The problem arises when there's a discrepancy: the player sees on their screen that the crosshair was precisely on the opponent's model at the moment of firing, but the damage isn't registered or is only partially registered. The community calls these moments "bad hitreg" — and it's one of the most common causes of disputes and complaints in both professional and amateur circles.
Why This Happens
There are several reasons for the discrepancy between what the player sees and what the server records:
- Network latency (ping) — data about the opponent's position and the shot travels with a delay, so the server sees a slightly different picture than the player's client.
- Server architecture specifics — this used to be directly tied to tickrate: the less frequently the server updated the game state, the higher the chance that the exact moment of a precise hit would "slip through" between two ticks.
- Hitboxes — invisible zones on the character model used to calculate hits; if they don't perfectly match the visual model, discrepancies occur.
Connection to Subtick
Hit registration often comes up in discussions of CS2's move from a classic tickrate to sub-tick. Sub-tick is supposed to make hit registration more accurate, because the server takes into account the exact time of a player's action instead of rounding it to the nearest tick. But how shooting feels to players does not always match the theory, so arguments about hitreg continue.