クライアントサーバー型のquakeのようなゲームにおいて、撃った瞬間に着弾する銃を考えているのですが、
馬鹿正直にサーバーだけで管理すればクライアント側ではヘッドショットしているのに、
サーバーにメッセージが到着したときには相手がいないといった状況がおこりますよね。

クライアントが撃った(ゲーム開始からの)時間をサーバーに送って、サーバー側で過去を洗い出して判定するのかと思いましたが
過去の状況をバッファリングしての当たり判定となると結構大変だと思うのです。
クライアントに他のクライアントの動きを予測させて表示するのは無理があるでしょうし、
着弾の遅れと納得するにしてもpingに依存&距離関係無しなのでいまいちです。
quakeなんかはどうやっているのでしょう?