Why is the limit to server-side reach higher than client-side? [closed]
Solution 1:
A typical reason this is done is for latency compensation. For instance, take the following scenario:
- At time T-L, on the server, characters A and B are slightly less than 5 units apart and moving away from each other.
- At time T, character A's client receives an update from the server describing where A and B were at T-L. A attacks and the client registers a hit on B.
- At time T+L, the server receives the client's attack, but because of their movement in the intervening time, A and B are further than 5 units apart. If the range of the attack on the server is the same as on the client, the attack is now out of range.
This creates an undesirable user experience, where as far as A can tell, they should've been able to hit but were prevented by the server. By extending ranges slightly on the server side, this situation can be avoided.