May 02 2008 -
How Does an MMORPG Function Technically?
|n peak times more than 60,000 players are online to enjoy the medieval world of Tibia. How can all these people play together? What technical devices are necessary to enable all these people to move their characters? Today we would like to explain to you how an MMORPG like Tibia technically works.
Whenever you log into Tibia, numerous things have to be checked: Which outfit is the selected character wearing? Did the character sleep in a bed and regenerate mana and hit points? Does the character still own the house in which it was sleeping or must it be placed in front of it? Is the character on a premium account or must it be now moved to a temple in a free area? Moreover, the character must be placed on the correct spot of the map, the inventory must be loaded and finally you receive a message about your last login when you enter the game. All these things are checked while you enter the game after having selected a character from your character list. In most cases this needs less than 2 seconds.
Time as well as performance are very important factors in an MMORPG like Tibia that takes place in real time. This means all actions which you want to fulfil must be carried out right away. If you press forward to make your character walk, your character must move right away and not 3 seconds later. This is particularly important when you are fighting other characters or creatures. For this reason all devices and codes are constantly improved to keep the time your character needs to act as low as possible. Which devices are we talking about here? Which tools are necessary to operate Tibia? These questions will be answered in the next paragraphs.
Many online role playing games basically work in the same way. Players install a client for the game on their computer and then connect to the game servers via the internet. There are several different servers that are needed to play a game like Tibia. All in all, more than 200 servers have been set up to operate Tibia. 18 servers alone are needed to keep the Tibia website running. There are servers where only pictures are saved, an extra server for the encoded pages like the login, one server hosts the statistics, there are servers from which you can download our client and there are several servers for the forum. Whenever you enter the website, you will first be connected to servers which have been placed in front of the other website servers. They check all requests and then distribute them to the correct servers. This way the website works much faster and more efficiently.
In order to play Tibia many more servers are needed. Most important are the game servers, login servers and the database. However, your computer could not deal with the data sent by these servers if you had no client installed.
The client is a program that is installed on your computer. With the help of the client, you can view a certain part of the Tibia map. Your character is the central point always located in the middle of the adventure screen. It shows objects and creatures that are around your character and displays special effects, e.g. when a spell is cast. Things like the automap, the appearance of creatures, existing outfits for characters, or the look of the client are all saved in files on your computer, along with your hotkeys and your personal client configurations.
Whenever you want to do something in the game, the client tells the game server where you are located and which action you would like to perform. Without the client, the game server would not know what you would like to do and nobody would be able to play. Only when the client is giving commands to the game server, Tibia comes to life.
Before you can actually start playing, you need to log into the game. Therefore you need login servers. Whenever you are trying to connect to Tibia, the login server is confirming your account data at the database and identifies your characters. After you have selected a character from your character list, the login server works like a road sign, guiding your Tibia client to the correct game server.
Tibia has several login servers which are distributed all over the world. This is important as it ensures that our game is always reachable even if one login server is not available. If one server fails, players can still log into the game via the other login servers.
In Tibia all patches are also saved on the login servers. So whenever your client connects to a login server, it also checks if you have the latest version of the Tibia client or if it needs to download the latest patch.
Very important data is saved in the database. Whenever you try to log into the game, the login server is getting essential information from the database. It is checked if your account data is correct, but also other important information is saved here. Is the account a tutor account, is the character a member of a guild, are there any entries in the criminal record, is the character on a premium account? All these question can be answered by the database.
As sensitive data is saved in the database, other servers are placed in front of it. These servers only allow very specific questions to get through to the database. This is not only important for the safety of the game, but also improves the speed of requests to the database enormously.
After having checked a player's data, the client is connected to the game server. Here the actual game takes place. In Tibia, every single one of the 74 game worlds is hosted on precisely one game server, each of them holding up to 1,000 players. Other games with very big maps host one game world on several servers. In smaller games, such as TibiaME, several game worlds share a server.
Game servers fulfil several tasks, e.g. they notify your client when you are attacked by a creature or another player, they calculate how much damage you deal depending on your skill, equipment and level, or check if a monster is near your character. Game servers also send data to the client regularly to check if the player is still online. If they do not get a reaction, the character will be logged out of the game after some time.
As already said, it is essential that all actions in Tibia happen very quickly. For this reason the complete Tibia world map is saved on the game servers. It would take much too long if the game server had to ask for a certain part of the map in the database every time you move your character. Also items that are lying around in Tibia, creatures, items in your depot as well as character data such as spells and quests are saved in the working memory of each game server. This does not only enable every game world to have quick access to this data, but also ensures that a server can keep running for a longer time even if it loses the connection to the database.
Most problematic is the connection between game servers and client as we have hardly any influence on it. The only thing we can do to provide a connection as reliable and quickly as possible, is to select a good data centre which has connections to a large number of providers. This way, the connection can be detoured quickly if one provider does not work properly. This is one of the reasons why we are moving our American game servers to a new data centre at the moment.
A very large number of servers is necessary to operate Tibia. We are constantly improving the communication between the servers to ensure that your character can run through the fantastic world of Tibia smoothly. Even though many technical processes are going on in the background, Tibia is working perfectly if you do not notice them when playing.
Have fun in Tibia!
Your CipSoft Team