Maybe I'm being a bit dense about this, but my point about NOW is that the server has the final say as to who is where. The best the server can do is try to relay this information as accurately as possible.
Yes, players will lag, and their position will be slightly off at times.. seems the best I can do is have the server update them at regular intervals to make sure they're on track.
You obviously know what you're talking about and again, I'm not trying to simply contest you. I accept that I am wrong, but in order to come to the correct understanding, I need to relay my thoughts.
I'm going to set up an example. There are two players, both are standing still.
Player 1 starts moving right. Begins moving immediately client-side *(1)
Server receives the "Player Move Right" message. Broadcasts to all clients that Player 1 is moving right.
Player 2 still sees player 1 at the original location. Shoots at player 1 (Sends "Shoot" message to server).
Player 1 and player 2 get server's "Player 1 is moving right" message. Both player's screens are updated appropriately (Player 1's screen is adjusted, if needed).
Server gets the "Shoot" message from Player 2. Calculates that player 2 missed player 1.
Server sends the .. animate bullet message?.. to all clients to draw the bullet..?
Player 2 watches the bullet miss and cries in frustration
*(1) - Using as accurate of prediction as I can come up with.
This seems like a very possible but understandable situation. This is a networked game and networks have lag. I don't see how adding a timestamp to each message helps. ...... unless you're saying that the CLIENT sends a timestamp to the server as well?
I don't think it would help the situation above because that is really an extreme situation, but if it was a situation where Player 2 fires at player 1 at T=1 (and sent this message to the server), even if the server didn't get the message until T=3, the server would remember that player 1 was at the fired upon position at T=1 and generate a "hit" anyways? The more I type this the more I think I still have this wrong.