Here’s a nice white paper from Valve with diagrams on lag compensation, prediction, authoritative server, etc:<p><a href="https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking" rel="nofollow">https://developer.valvesoftware.com/wiki/Source_Multiplayer_...</a>
For those interested in game neworking I found this to be a good book on the subject:<p><a href="https://www.amazon.com/Multiplayer-Game-Programming-Architecting-Networked-ebook/dp/B0189RXWJQ/ref=sr_1_2?ie=UTF8&qid=1511654324&sr=8-2&keywords=game+networking" rel="nofollow">https://www.amazon.com/Multiplayer-Game-Programming-Architec...</a><p>Also this is a good paper (10 years old) on DOOM 3's networking:<p><a href="http://mrelusive.com/publications/papers/The-DOOM-III-Network-Architecture.pdf" rel="nofollow">http://mrelusive.com/publications/papers/The-DOOM-III-Networ...</a>
> <i>The CD keys we used were algorithmically generated so as to be very difficult to guess randomly. Because authenticating takes several seconds, and the odds of guessing a valid CD key are low, there is a large barrier to repetitive key guessing.</i><p>I would love to learn more about this. How did the authentication system work? How difficult was it to brute force? Does it simply involve a master key creating individual subkeys? Is it RSA?
This paper is what started a lot of things now still in used today, the tribe model:<p><a href="http://www.pingz.com/wordpress/wp-content/uploads/2009/11/tribes_networking_model.pdf" rel="nofollow">http://www.pingz.com/wordpress/wp-content/uploads/2009/11/tr...</a>
> "The days of needing to do such things as manually type in IP addresses to connect to remote servers are coming rapidly to a close. Therefore, it is important for you to provide a seamless user experience for your gamers as they go on-line."<p>>> I miss the days of playing CS-1.5 and having to use gametiger.com to find servers to play in. Lots of pool_day and de_dats.
It's close to quake 3 protocol as well.
It's not uncommon to see fake server listings with fake players and server information, some of them even allow you to connect to.
PSA: Add print=1 to old gamasutra articles to get a single page.<p><a href="https://www.gamasutra.com/view/feature/131577/halflife_and_team_fortress_.php?print=1" rel="nofollow">https://www.gamasutra.com/view/feature/131577/halflife_and_t...</a><p>Also, the reason many don't use TCP is that while it guarantees ordering and packet arrival people completely forget that it's doing that by adding an indeterminate amount of latency. It's not some "packets arrive perfectly / user different pipes, because [magic]" solution.
I don’t recommend lag compensation. It’s a bad idea because it degrades the experiences of more-committed / better players in order to cater to the less-committed / worse players.
I have had a suspicion for a while that "Flat Earthers" are trolling everyone into giving them a free ride into space in order to prove them wrong.