> Also, client side damage is a mistake.
I’m assuming you mean client side hit detection, as a person who lives in a region where a lot of games are 100 ping, that’s absolutely necessary. Without it players with latency above the tick rate would have to lead their shots to hit other players. While it causes some unfairness for the victim (ex. getting hit behind cover), it’s still the best way to do it but it must be disabled at a certain threshold, preferable where it doesn’t completely ruin the experience for players with average connections playing on their closest server. That said it is a band aid and ideally you would just set up servers closer to players.
> ideally you would just set up servers closer to players.
That doesn't really solve the problem though. In my last apartment a ping to my router on WiFi was 15ms, and it had some nonsense hardware that caused spikes of 100ms+ every now and again [0]. Someone else in your household watching Netflix can cause buffer bloat, and in a multiplayer game you have both players connections (or 10 or 100 players depending on the game). Even at 10ms latency to the server, you have a worst case network latency of 50ms if the server runs at 30hz (plus network buffering plus client frame rates plus buffering plus render buffering...)
You also need the population to support having servers everywhere, and choose to put servers in places, _and_ you very quickly hit diminishing returns. Sure you could locate in 3 cities in the UK to absolutely minimize latency, but the advantage of doing so is complete elimi6 if one player is on WiFi, so the servers for all of Europe might as well be in Amsterdam or Dublin.