Lag is usually not created by the server but instead created by each user.
CoD (and most online games) use standard TCP protocols for connections and UDP protocols for game updates known as “packets”.
The standard packet size is 25,000 bytes, (8 bits = 1 byte). This is easily done using the worst cable or even a good dial up connection.
In the game, you will see its players latency measured in milliseconds like 999 would be 0.999 of a second, 50 would be 0.05 of a second, 25 would be 0.025 of a second and so on..
Now that I’ve explained that, let’s look at how the server manages all these different pings or latency’s.
The server assigns an ID to each player as a connection is established starting with 1. The server updates each client in the order they connected so ID 1 is the first to be updated, 2 is next and so on.
Scenario: Let’s say that there are 6 players on the server, each have different latency’s.
1: latency of 25
2: latency of 48
3: latency of 140
4: latency of 200
5: latency of 32
6: latency of 74
Total latency of: 519 or 0.519 of a second. That is only just over a ½ of a second!
Adding the latency’s up is not how long the list of players will take to get a cycle of updates. Thanks to UDP, the server can utilize many updates per player, usually 30-50 per second called “snaps” or “ticks”.
What it does mean is that a player that say has a latency of 200 will take 0.2 of a second to send and receive his/her update, which in turn may look like a glitch or hack, but it is really the server showing you the updated version that you didn’t see because of the player with a higher latency.
This is usually what some people think of as some sort of hack or glitch since it looks like you hit them when actually you missed where they really were because of that players higher latency.