Ruthven said:
If you are having ping issues and a hit goes through your block, you clearly just didn't block at the right time. The game doesn't work on the basis of blocks "mostly" working, if you block you block and if the game says you didn't block, it's right.
And yet, in the context of unavoidable ping spikes and occasional packet loss there is no way to know what the "right time" is. So from the player's perspective (the only one that matters), blocks do "mostly" work.
On top of that, servers get into a laggy state sometimes (exacerbating these problems) and need to be restarted. Since a restart helps, that would seem to indicate that's not a network problem.
Also, you're saying "the game is right", but there are two components to it. The server is saying one thing, the client is saying another, and the server wins. That approach is a tradeoff between increasing the difficulty of hacking the game and making the code simpler against a smoother experience for the player. I'm fine with that (after all, games need to actually ship, etc), but it's silly to pretend that issues don't exist or only exist in the minds of players who don't have an appreciation for the correctness of the magical, omniscient server (after all, why should they?)