Lag and KicksWritten by CipSoft on Friday 04 June 2010
Many of you have probably already experienced this: You are out on a hunt and suddenly your character does not move anymore, everything around you stands still. Then, your character jumps, and things get back to normal - or you get logged out. Lag and kicks are a common disease of the internet, and a very disturbing nuisance in all online games, not only in Tibia.
Causes for Lag
Structure of the Internet
There are plenty of different causes for lag. The most common one is a result of the structure of the internet. The internet is a huge net of cables in which data packages travel from one point to another. On their way, they pass many different nodes which usually are the different internet providers. Lag can be caused somewhere between your computer, and the online service that you would like to use, for example, Tibia. Each and every cable, node, server, program, computer and internet provider in this net plays an important role. Just one problem at any of these points can slow down your connection - a broken hardware component or an error in a software, or something as simple as a digger that caused a broken cable. If your data package cannot reach its destination, it takes a different route through the net. Then it just takes a couple of milliseconds longer till it reaches its destination. If you are using a service for which a fast connection is not that important, for example, a search engine or an instant messenger, you will not really be bothered by this. In an online game though, where you are risking death if you cannot react to a threat instantly, a couple of milliseconds can indeed be fatal.
Another cause for lag is that you only have a certain bandwidth that you can use. Picture your bandwidth as a cable. All your internet traffic has to fit through it. So if you are using other internet applications while playing Tibia, more traffic has to go through this cable. Lots of traffic might result in a traffic jam which you experience then as lag. Often, you share the bandwidth with several other people. So while you are playing Tibia, your roommate might download a large file from the internet. This download will slow down the internet traffic for you as well. The more people and the more internet applications share a bandwidth, the more the connection gets clogged up.
Just like you, CipSoft also has an internet provider and a certain bandwidth. So the connection cannot only be clogged up on your side, but also on our side. An example for that would be a DDoS attack which will be explained a bit further down.
Your Own Computer
Another form of lag is caused directly by your computer. For example, when you ask your computer to do many things at once, your operating system defines which request gets the most processing power. So if you are running any other programs while playing Tibia, it could cause lag, depending on the program and your PC's processing power. Lag can also happen if your hardware is not strong enough for your programs, or your hardware drivers are not installed correctly.
Other programs that slow down your connection are firewalls or anti-virus software that are scanning your internet traffic. Since it is their job to do this, you should not turn them of, however, some of these programs are doing their job pretty slowly, or they use up lots of processing power from your PC.
Client Side Graphic Lag
There is another type of lag that our programmers call client side graphic lag. It appears, when the game client on your PC gets overloaded. This could happen when the client needs to load many graphics from your harddrive at once, for instance, when you change floors and the client has to display many new creatures and items for the first time. The client then gets the graphics from your harddrive, and if that process is slow, you would experience this as lag, even though from the server side, everything would be fine.
Lag could also be caused by our game server, for example, during back-up times. However, you normally do not notice this.
Then, there could be errors in the logic of the game server that may result in lag. There was an example for this type of lag in the past, when a player transported his entire guild hall interior in just one parcel. Every move of the parcel resulted in lag for all players on that game world, since the game server was busy dealing with the parcel, so it had trouble doing all other tasks at the same time. We constantly monitor our servers, so we noticed this immediately, and it did not take long for our programmers to find a way to prevent such things from happening in the future.
A word that is often used to describe lag is latency. Latency is a measurement of the time it takes from you pushing a button on your keyboard, that command running through your computer, the resulting data packages being sent to the destination server where the requested action is carried through until the entire process is completed. Latency includes all factors mentioned above: the connection speed, as well as all hardware and software included in the process and the power of your PC. Latency always exists. If you have a high latency though, you most likely will experience lag in an online game. Some game publishers use tricks to hide latency effects from players, for example, by showing animations if something takes a bit longer. Others use different techniques, for example not showing everything to everybody. That only works in games though in which it is not important that you see exactly the same as your fellow player.
The problem about lag is that you only have control over your PC, and we only have control over our servers. Everything else that lies in between is neither in your hands, nor in ours. The best way to minimize latency is to try to keep the distance between your PC and the service you are trying to use as small as possible, so that your data packages have to travel a shorter way in the internet. Hence, we ask European players to play on game worlds situated in Germany, and players from America and South America to connect to American game worlds, for example.
Causes for Kicks
If your data packages do not reach our game server anymore at all because of a complete block or disruption on the way, the game client on your PC and our game server notice this independently from one another. Both then end their connection and your character gets kicked out of the game. However, if your character is pz-locked, it will remain logged in for a while, and this might result in a deadly situation.
If there is a problem close to our game servers, a problem at our data centre for instance, many players will be affected by this at once. Our game server then notices this and declares exceptional circumstances. That means that the server checks all connections again and immediately logs out all characters that cannot be reached anymore within a couple of seconds, regardless of their pz-lock. That is called a mass kick. Such a mass kick that is initiated by the game server is a precautionary measure. Many character deaths are prevented that way. If characters were not kicked, chances that they would be killed are pretty high.
Deciding the threshold at what point characters are kicked out of the game is a tightrope walk between monitoring traffic, common fluctuations, limiting abuse scenarios, and trying to make it as fair as possible and as safe as possible for everybody.
Mass kicks also occur of course, when one of our game servers crashes. Then all characters on that game world are obviously logged out as well.
Special Scenario: DDoS Attacks
Every now and then you can read in our news that we are suffering from DDoS attacks. DDoS stands for Distributed Denial of Service. This means that somebody is trying to prevent Tibia from functioning efficiently. You can imagine such an attack like this: Many data packages are sent to one of our servers at once and they create a big traffic jam. Then your data packages get stuck in this traffic jam and do not reach our servers anymore as they should. That is why you experience lag and kicks when our servers are under attack. By ruining your fun, perpetrators are trying to hurt us. Needless to say, such attacks are highly illegal.
(If you want to know more about DDoS attacks, you can read about it here)
What Does CipSoft Do to Prevent Lag and Kicks?
Monitoring, Evaluation, Cooperation, Firewalls
We monitor our servers and check our log files regularly to see if any problems have occurred. That way we can intervene immediately if there are any problems in the game server logic, for example.
We also invest in good internet providers, and we selected good data centres that work with us to reduce the latency for our players. We also evaluate new services to see what we can improve.
Further, we have invested in firewalls, software and hardware likewise, and we constantly monitor our network situation. If we find anything out of the ordinary, we contact our providers immediately to initiate countermeasures. Many of our countermeasures are working well. We are already able to filter out many DDoS attacks, for example. You do not notice them at all. However, sometimes attacks do get through, and you unfortunately feel the consequences then.
Many of you wish for warnings when there are lag and kicks. Unfortunately, we are unable to provide them most of the time. We do not know in advance when somebody is launching an attack on our servers, or if a thunderstorm affected a big internet provider in the United States, for example. In such situations, warnings would always be too late. Unfortunately, we cannot tell you then when it is safe to play again, either. We would not like to create a false sense of security. We simply do not know when a technical problem has been fixed if it is not our own technical problem, and we have no idea when an attacker of our servers will have given up for good. All we can do for such scenarios, is try to minimize the negative effects you experience ingame when suffering from lag and kicks.
We can only warn you in advance if lag or kicks could appear during planned maintenance work, for example. In such a case, you would find a note some time prior to the maintenance work in our news section.
Ways to Determine the Type of Lag
Checks on Your End
When you experience lag, the first step you should do is to check if you can reach other websites. If this takes longer than usual, or they do not open up at all, you can assume that the problem is situated close to you.
To rule out that the lag is caused on your computer, things you could check for example are your firewall, to see if maybe the service you are trying to reach is blocked, or you can check via your task manager (for Windows PCs) which of your programs are running in the background and use up lots of processing power. Maybe a virus scanner is doing a scan and slows everything down? Also check what the people around you are doing. Maybe your brother is downloading a huge file, while you are trying to play Tibia.
If you cannot identify the cause of the lag on your end, maybe it is connected to your provider. If you are using the same provider as your friend, for example, ask him to see if he can reach the service you are not able to reach.
If the problem is situated any further away from you than your own internet service provider, you cannot really do anything else to get rid of it.
If you want to determine where on the way from your end to the destination the lag is caused, you can use the command tracert. With this command you can trace the way of your data packages on Windows computers. All you need to do is open a MS-DOS Prompt by clicking on Start in your Windows, then on Run. There, enter cmd. In the window that then opens, enter the line tracert [IP address] or [URL] (without the brackets) and hit return. You will then receive information which nodes and providers your data packages pass in order to reach their destination, and how long it takes for your data packages to reach each point.
Lag and kicks really are a nuisance in online games, and we do understand that you are frustrated when you die in Tibia because of a connection problem. Unfortunately though, as explained here in this rough outline, there is only so much that we can do - and there is only so much that you can do. That does not make the problem any better, but we hope that these explanations cleared a few questions that you might have had and helped you to understand the technical reasons behind lag and kicks.