Shahed
12-16-2002, 01:33
Greetings All
I read this article at Respawn (http://www.respawn.co.uk/), and thought it's worth posting here.
As all of us hate this issue in MP.
Happy Reading
http://www.totalwar.org/forum/non-cgi/emoticons/smile.gif http://www.totalwar.org/forum/non-cgi/emoticons/biggrin.gif http://www.totalwar.org/forum/non-cgi/emoticons/smile.gif
Lag....We have all seen it, we all hate it, but why does it happen ?
We have all heard the uneducated players shouting "Ok Who's the 56ker" or "Who's the modem user" when lag suddenly effects them but the truth is that for most games one players connection should not effect the server or the other players on it. Lag comes is two forms, Local and network lag and we will look at both of these in detail today.
Your connection speed is not a guarantee that lag will never effect you. The faster your connection the greater the distance you can usually go in order to connect to a server before network lag starts to have an effect on your game play. Your ping will go up long before lag starts to appear on most ADSL lines. 56k Modem users are effectively restricted to their own back yard in this respect. As 56k modems are a none digital device that suffer greatly from packet loss which seriously effects their connection over greater distances and is a big cause of lag. It also leads to more corrupt files when downloading. The greater the number of hops you have to make to reach a server the higher than chance of lag no matter what type of connection you have. A hop is a computer or router between you and your destination. Each computer will be configured differently and will have different problems. So if one hop must go though a server that's currently out of action then the your destination will either be unreachable or your request will have to be rerouted by your ISP. Which usually means instead of going directly to your server which may be hosted in city near your real location, the new route might go half way around the world to reach the same server. An unreachable host does not always mean the destination your trying to reach is at fault or off-line. Anything in between can effect your ability to join the server your trying to reach. So matter what your connection, any problem between you and your destination does effect you and anybody else that must go via the same route.
A busy day on the net can cause everybody to lag in the game because the bandwidth on some routes is operating at maximum capacity. If the bandwidth is not available then the fastest connection in the world will be reduced to what is available at that time no matter how much you paid for your connection to the net.
The big difference between Analog modems and Digital modems as far as stability and reliable connections goes is packet loss. Digital lines drastically reduces the errors you get over the net. This increase in reliability and effectively doubles your download speeds without having to double your connection speed. For example an average 56k analog modem can safely download 4.5kps but may still suffer packetloss from distance servers. High speeds for 56k modems also bring high risks of packet loss. A 64k ISDN modem or router will always connect at 64k and can always achieve download speeds of 8kps with no packetloss except when the route between the user and his destination is faulty. In which case everybody using that route suffers and not just the 56k user. So you see the digital line produces a much cleaner and safer connection and thus avoids the usual problems analog users suffer from.
An old rule of thumb that appeared in the early days of the net was a ping of 400 to a server means that server is unplayable for that user. Connecting to servers with high pings means you will have problems. Back in the old days a 33k user could get pings as low as 120 and in some cases 90 but today even local servers will usually result in a 200 ping for a 56k user at best. ADSL users may get 90 which should tell you that today's ADSL connections at best maintain the standard older 33k users where used to seeing every day. If you get less than a 90 ping then your connection is better than average. Pings of between 10 and 30 are a good sign that the player is either on the same local network as the server or very close to it.
So you see the reasons for network lag are effectively the distance and number of hops you have to make to the server. How busy that route is at the time you wish to use it and how stable that route is, this means mates on your home network leaching your mp3 files are actually making your own network the weakest link in the change by using up most of your own bandwidth during a game. The same can happen on computers on the net that have recently released a new product that is in high demand. The only factor that really should be considered by all users is pings because this is traditionally the one guide all games give users in respect to response times of a server. As stated above you really should not be joining servers with pings greater than 400 no matter what your connection is because if you do then your the one who will suffer from lag and all the finger pointing in the world will not change that.
Despite what most users like to think, your average game does not need an upload capacity of 256kps or a download capacity of 128kps. Bandwidth costs a fortune on the net and the more bandwidth a game uses the more expensive hosting a game becomes. Also it restricts who can join that game. The nets capacity must try and keep up with the demands users place upon it, right now it is not able to cope well if some big name runs an open day on a primary route between to countries. The entire net suffers. So games transfer as little as possible between computers which is why network code is probably the most optimized code in any game. The skill is getting as much information to move between computers using as little bandwidth as possible. Less bandwidth usage means more players can join a server and play together. Remember the players on the server also need to be able to cope with the information they get from the server about the other players. So if your one of 16 players your computer will need to know about the other 15 players. This could not work if every game required an ADSL connection just to have a 2 player game. So you see the bandwidth you have available and the bandwidth a game uses are two totally different things. Most games are setup for a 56k connection by default, so even ADSL users will not transfer more then the maximum amount of information the average 56k user could transfer.
This raises the question, can you be downloading other things whilst playing games. Well usually not, atleast not with the sort of network cards most users own. Your own cards ability to handle more than one task becomes an issue. Full duplex and half duplex is a measure of your cards ability to send and receive information at the same time but it does not take in to account any other factors. So if you card does handle incoming and outgoing packets well then you may not have a problem, if it does not then you could have a problem doing two things at once. However, if your Network Card is sharing an IRQ with another device then all that may be a mute point because your card will have to wait it's turn when it needs access to data. IDE based Hard drives are known for using up large amounts of CPU time. Modern drives have this down to less than 23% now so things have improved but if can imagine your network cards CPU usage plus your hard drives CPU usage then add the CPU power required by the game and all the hardware it requires to run then you suddenly see another source of lag that effects a lot of people.
Single player games cut out the network card completely so any local lag is purely down to the hardware the game requires to run. If the game does not run smoothly in single player than it will always be worse in multiple. This should be your guide when deciding to host a server of your own. It does all add up and it does all effect the performance of the game online. If you are not careful to choose the right hardware for the role you wish to put your computer too then you can expect problems playing online even with fast connections.
For example a worst case scenario these days that could actually exist would be an ADSL or Cable user with a 600mhz CPU and EIDE drives running with 128meg or less of ram. This combination would produce a 100% CPU hit with ever the drive was accessed because of the EIDE HD's being used. Even if the computer had 1 gig of ram this would not change. The fact that it has less than 128meg means Hard drive access is almost constant so the user suffers from serious local lag.
Another problem is UDMA drives. Whilst they do not suffer the same way as EIDE drives they still have similar restrictions in their usage. All IDE based drive systems where designed to perform 1 operation at a time. This means using them on a server can effect performance which is why SCSI exists and is heavily used on the best servers on the net. SCSI allows 256 operations to be taking place at once so it is much more suitable for servers though the price is usually higher if you wish to buy an Scsi drive.
All of these factors effect performance and any user that does not consider these factors before putting his computer to a use it is totally unsuited for, be it to play games, host a website or host a server for players to join is just asking for trouble. Especially since most IDE/UDMA drive systems can cause corruption of the data on your drive when your system is running at full capacity. SCSI uses little or no CPU time on good cards so data corruption is very rare indeed. The middle ground between the best and worst is usually enough to get by on these days. A good connection with UDMA drives and a fast CPU with lots of ram will run most dedicated servers just fine. If you want to play the game your self on your own server you really need a very good graphics card to make sure your system doesn't suffer from local lag because as a server any local lag you suffer will effect everybody on your server and lead to complaints. So do not think for a second that just because you have an ADSL or T1 line that your server will be fine. It won't.
At the end of day the distance from the server, the type of line you use be it digital or analog and your own computers hardware make the biggest difference in avoiding lag on a perfect day on the net. Most of the time the net is far from perfect so all we can do is use the 400 ping rule and hope for the best. Digital lines half the response time for games, so these days it a good upgrade for all games players to make. ADSL and ISDN are both good digital systems for game players.
56k users trying to join servers with pings higher than 400 is really not a good idea at all. If the user avoids all high ping servers than he really has no problems with the games he plays though lower pings would increase he chances of actually hitting something. Adsl users pointing fingers at 56kers and blaming them for lag are simply avoiding all the real issues involved here. Denying the possibility that their own system may be fault or that a network fault could actually effect even a T1 user enough to effect his game or any server a T1 user runs.
When lag occurs in a game that effects everybody on the server it is usually because the server is at fault or the network it is on is at fault and not some poor guy on a 56k connection. Also the 56ker who suffers from lag may appear to get a lag shield to ADSL users but he also suffers a major problem when he tries to hit anything him self. So whilst he cannot be hit easily, he cannot shoot anything either so all is fare in love and war. The ADSL user is just complaining the 56kers lag is doing so whilst holding a huge advantage over the 56k player already. If you hold such a big advantage over other players and then complaint about less fortunate players what does that make you ?
There is not much point picking on a person because of his computers power or his network connection. Such people are Internet Nazi's that deserve no respect from decent players. Only time will lead to the required changes to our connections becoming common place. The industry it self dictates the pace of change because not all regions on this planet are able to afford the needed upgrades to provide everybody with a T1 line right now. ADSL is not even available in all locations yet and the quality of the service is often less reliable than the average ISDN connection. Some big telecom companies even have staff who do nothing but try and persuade other companies not to embrace new technology just yet. My own Brother in law did that for a while. The reason is simple, the big companies would prefer to make the needed upgrades at their own pace because they know if everybody suddenly decided to upgrade as soon as the technology became available they would probably go bust or be caught out by the sudden demand for something they cannot supply.
So if you are really concerned about lag, the path to enlightenment starts at your next computer upgrade and not in the chat window of some game.
Source:
Lag: OK who's the 56k er ? (http://www.respawn.co.uk/modules.php?name=News&file=article&sid=376)
http://www.totalwar.org/forum/non-cgi/emoticons/wave.gif
I read this article at Respawn (http://www.respawn.co.uk/), and thought it's worth posting here.
As all of us hate this issue in MP.
Happy Reading
http://www.totalwar.org/forum/non-cgi/emoticons/smile.gif http://www.totalwar.org/forum/non-cgi/emoticons/biggrin.gif http://www.totalwar.org/forum/non-cgi/emoticons/smile.gif
Lag....We have all seen it, we all hate it, but why does it happen ?
We have all heard the uneducated players shouting "Ok Who's the 56ker" or "Who's the modem user" when lag suddenly effects them but the truth is that for most games one players connection should not effect the server or the other players on it. Lag comes is two forms, Local and network lag and we will look at both of these in detail today.
Your connection speed is not a guarantee that lag will never effect you. The faster your connection the greater the distance you can usually go in order to connect to a server before network lag starts to have an effect on your game play. Your ping will go up long before lag starts to appear on most ADSL lines. 56k Modem users are effectively restricted to their own back yard in this respect. As 56k modems are a none digital device that suffer greatly from packet loss which seriously effects their connection over greater distances and is a big cause of lag. It also leads to more corrupt files when downloading. The greater the number of hops you have to make to reach a server the higher than chance of lag no matter what type of connection you have. A hop is a computer or router between you and your destination. Each computer will be configured differently and will have different problems. So if one hop must go though a server that's currently out of action then the your destination will either be unreachable or your request will have to be rerouted by your ISP. Which usually means instead of going directly to your server which may be hosted in city near your real location, the new route might go half way around the world to reach the same server. An unreachable host does not always mean the destination your trying to reach is at fault or off-line. Anything in between can effect your ability to join the server your trying to reach. So matter what your connection, any problem between you and your destination does effect you and anybody else that must go via the same route.
A busy day on the net can cause everybody to lag in the game because the bandwidth on some routes is operating at maximum capacity. If the bandwidth is not available then the fastest connection in the world will be reduced to what is available at that time no matter how much you paid for your connection to the net.
The big difference between Analog modems and Digital modems as far as stability and reliable connections goes is packet loss. Digital lines drastically reduces the errors you get over the net. This increase in reliability and effectively doubles your download speeds without having to double your connection speed. For example an average 56k analog modem can safely download 4.5kps but may still suffer packetloss from distance servers. High speeds for 56k modems also bring high risks of packet loss. A 64k ISDN modem or router will always connect at 64k and can always achieve download speeds of 8kps with no packetloss except when the route between the user and his destination is faulty. In which case everybody using that route suffers and not just the 56k user. So you see the digital line produces a much cleaner and safer connection and thus avoids the usual problems analog users suffer from.
An old rule of thumb that appeared in the early days of the net was a ping of 400 to a server means that server is unplayable for that user. Connecting to servers with high pings means you will have problems. Back in the old days a 33k user could get pings as low as 120 and in some cases 90 but today even local servers will usually result in a 200 ping for a 56k user at best. ADSL users may get 90 which should tell you that today's ADSL connections at best maintain the standard older 33k users where used to seeing every day. If you get less than a 90 ping then your connection is better than average. Pings of between 10 and 30 are a good sign that the player is either on the same local network as the server or very close to it.
So you see the reasons for network lag are effectively the distance and number of hops you have to make to the server. How busy that route is at the time you wish to use it and how stable that route is, this means mates on your home network leaching your mp3 files are actually making your own network the weakest link in the change by using up most of your own bandwidth during a game. The same can happen on computers on the net that have recently released a new product that is in high demand. The only factor that really should be considered by all users is pings because this is traditionally the one guide all games give users in respect to response times of a server. As stated above you really should not be joining servers with pings greater than 400 no matter what your connection is because if you do then your the one who will suffer from lag and all the finger pointing in the world will not change that.
Despite what most users like to think, your average game does not need an upload capacity of 256kps or a download capacity of 128kps. Bandwidth costs a fortune on the net and the more bandwidth a game uses the more expensive hosting a game becomes. Also it restricts who can join that game. The nets capacity must try and keep up with the demands users place upon it, right now it is not able to cope well if some big name runs an open day on a primary route between to countries. The entire net suffers. So games transfer as little as possible between computers which is why network code is probably the most optimized code in any game. The skill is getting as much information to move between computers using as little bandwidth as possible. Less bandwidth usage means more players can join a server and play together. Remember the players on the server also need to be able to cope with the information they get from the server about the other players. So if your one of 16 players your computer will need to know about the other 15 players. This could not work if every game required an ADSL connection just to have a 2 player game. So you see the bandwidth you have available and the bandwidth a game uses are two totally different things. Most games are setup for a 56k connection by default, so even ADSL users will not transfer more then the maximum amount of information the average 56k user could transfer.
This raises the question, can you be downloading other things whilst playing games. Well usually not, atleast not with the sort of network cards most users own. Your own cards ability to handle more than one task becomes an issue. Full duplex and half duplex is a measure of your cards ability to send and receive information at the same time but it does not take in to account any other factors. So if you card does handle incoming and outgoing packets well then you may not have a problem, if it does not then you could have a problem doing two things at once. However, if your Network Card is sharing an IRQ with another device then all that may be a mute point because your card will have to wait it's turn when it needs access to data. IDE based Hard drives are known for using up large amounts of CPU time. Modern drives have this down to less than 23% now so things have improved but if can imagine your network cards CPU usage plus your hard drives CPU usage then add the CPU power required by the game and all the hardware it requires to run then you suddenly see another source of lag that effects a lot of people.
Single player games cut out the network card completely so any local lag is purely down to the hardware the game requires to run. If the game does not run smoothly in single player than it will always be worse in multiple. This should be your guide when deciding to host a server of your own. It does all add up and it does all effect the performance of the game online. If you are not careful to choose the right hardware for the role you wish to put your computer too then you can expect problems playing online even with fast connections.
For example a worst case scenario these days that could actually exist would be an ADSL or Cable user with a 600mhz CPU and EIDE drives running with 128meg or less of ram. This combination would produce a 100% CPU hit with ever the drive was accessed because of the EIDE HD's being used. Even if the computer had 1 gig of ram this would not change. The fact that it has less than 128meg means Hard drive access is almost constant so the user suffers from serious local lag.
Another problem is UDMA drives. Whilst they do not suffer the same way as EIDE drives they still have similar restrictions in their usage. All IDE based drive systems where designed to perform 1 operation at a time. This means using them on a server can effect performance which is why SCSI exists and is heavily used on the best servers on the net. SCSI allows 256 operations to be taking place at once so it is much more suitable for servers though the price is usually higher if you wish to buy an Scsi drive.
All of these factors effect performance and any user that does not consider these factors before putting his computer to a use it is totally unsuited for, be it to play games, host a website or host a server for players to join is just asking for trouble. Especially since most IDE/UDMA drive systems can cause corruption of the data on your drive when your system is running at full capacity. SCSI uses little or no CPU time on good cards so data corruption is very rare indeed. The middle ground between the best and worst is usually enough to get by on these days. A good connection with UDMA drives and a fast CPU with lots of ram will run most dedicated servers just fine. If you want to play the game your self on your own server you really need a very good graphics card to make sure your system doesn't suffer from local lag because as a server any local lag you suffer will effect everybody on your server and lead to complaints. So do not think for a second that just because you have an ADSL or T1 line that your server will be fine. It won't.
At the end of day the distance from the server, the type of line you use be it digital or analog and your own computers hardware make the biggest difference in avoiding lag on a perfect day on the net. Most of the time the net is far from perfect so all we can do is use the 400 ping rule and hope for the best. Digital lines half the response time for games, so these days it a good upgrade for all games players to make. ADSL and ISDN are both good digital systems for game players.
56k users trying to join servers with pings higher than 400 is really not a good idea at all. If the user avoids all high ping servers than he really has no problems with the games he plays though lower pings would increase he chances of actually hitting something. Adsl users pointing fingers at 56kers and blaming them for lag are simply avoiding all the real issues involved here. Denying the possibility that their own system may be fault or that a network fault could actually effect even a T1 user enough to effect his game or any server a T1 user runs.
When lag occurs in a game that effects everybody on the server it is usually because the server is at fault or the network it is on is at fault and not some poor guy on a 56k connection. Also the 56ker who suffers from lag may appear to get a lag shield to ADSL users but he also suffers a major problem when he tries to hit anything him self. So whilst he cannot be hit easily, he cannot shoot anything either so all is fare in love and war. The ADSL user is just complaining the 56kers lag is doing so whilst holding a huge advantage over the 56k player already. If you hold such a big advantage over other players and then complaint about less fortunate players what does that make you ?
There is not much point picking on a person because of his computers power or his network connection. Such people are Internet Nazi's that deserve no respect from decent players. Only time will lead to the required changes to our connections becoming common place. The industry it self dictates the pace of change because not all regions on this planet are able to afford the needed upgrades to provide everybody with a T1 line right now. ADSL is not even available in all locations yet and the quality of the service is often less reliable than the average ISDN connection. Some big telecom companies even have staff who do nothing but try and persuade other companies not to embrace new technology just yet. My own Brother in law did that for a while. The reason is simple, the big companies would prefer to make the needed upgrades at their own pace because they know if everybody suddenly decided to upgrade as soon as the technology became available they would probably go bust or be caught out by the sudden demand for something they cannot supply.
So if you are really concerned about lag, the path to enlightenment starts at your next computer upgrade and not in the chat window of some game.
Source:
Lag: OK who's the 56k er ? (http://www.respawn.co.uk/modules.php?name=News&file=article&sid=376)
http://www.totalwar.org/forum/non-cgi/emoticons/wave.gif