Entrar | Sem registro? Registrar!
How MMORPG work.

Como um MMORPG funciona tecnicamente?

Escrito por CipSoft (traduzido por Rodrigo Schimit Leon) on Friday 02 May 2008
Em horários de pico, mais de 60 MIL jogadores estão online para aparticipar do mundo medieval de Tibia. Como todas essas pessoas jogam ao mesmo tempo? Quais os aparatos técnicos são necessários para conseguir que todas essas pessoas movimentem seus personagens? Hoje nós gostariamos de explicar para você como um MMORPG, como por exemplo o Tibia, funciona.

Logo quando você entra no Tibia, inúmeras coisas são verificadas: qual outfit o personagem selecionado está usando? O personagem dormiu em uma cama e regenerou mana e hit points? O personagem é dono da casa na qual ele estava dormindo, ou deve ser colocado na frente dela? O personagem está numa premium account, ou deve ser movido para um templo na área free? Além disso, o personagem precisa ser movido para um lugar correto no mapa, os equipamentos precisam ser carregados e finalmente você recebe a mensagem de sua ultima visita ao Tibia. Todas essas coisas são checadas quando você acessa o jogo depois de ter selecionado um personagem em sua lista de personagens. Normalmente isso leva cerca de 2 segundos. Tempo e a performance são fatores muito importantes em um MMORPG como Tibia, as coisas precisam acontecer em tempo real. Isso significa que todas as ações que você quer realizar precisam ser transmitidas em tempo real. Se você pressionar uma tecla que faça seu personagem andar, seu personagem precisa mover no exato momento e não 3 segundos depois. Isto é particulamente importante quando você está lutando com outro personagem ou criatura. Por está rasão, todos os dispositivos e códigos são constantemente aperfeiçoados para manter o tempo que o seu personagem precisa para agir o mais baixo possível. De quais dispositivos estamos falando aqui? Quais ferramentas são necessárias para manter Tibia em operação? Essas perguntas serão respondidas nos próximos parágrafos.
Game Server


Muitos jogos de interpretação online funcionam basicamente de uma mesma forma. Os jogadores instalam um cliente para o jogo em seu computador e então conectam-se aos game servers através de uma conexão com a internet. Existem vários servidores diferentes que são necessários para jogar um jogo como o Tibia. Ao todo, mais de 200 servidores foram configurados para rodar o Tibia. 18 servidores são necessários só para manter o website de Tibia no ar. Existem servidores onde apenas imagens estão salvas, um servidor extra para as páginas codificadas como a de login, outro servidor guarda as estatísticas, tem servidores dos quais você pode baixar o cliente e muitos outros para o fórum online.

Quando você entra no website, você será primeiramente conectado aos servidores que estão localizados na frente de outros website servers. Eles conferem todos os pedidos e então os distribuem aos servidores corretos. Deste modo o site consegue trabalhar mais rápido e com mais eficiência. Para jogar Tibia, muitos mais servidores são necessários. Mais importante é os servidores de jogo, servidores de login e o banco de dados. Porém, o seu computador não consegue "entender" os dados enviados por esses servidores se você não tiver o cliente instalado.

Cliente:

O cliente é um programa que é instalado em seu computador. Com ajuda do cliente, você pode ver uma certa parte do mapa de Tibia. Seu personagem sempre é o ponto central localizado no meio da tela ativa. Ele mostra objetos e criaturas que estão ao redor do seu personagem e exibe efeitos especiais, por exemplo, quando você usa alguma magia. Coisas como o automap, aparência das criaturas, outfits do personagem ou a forma do client, estão todas salvas em arquivos do seu computador, assim como as suas hotkeys e suas configurações pessoais do client. Sempre quando você quer fazer algo no jogo, o cliente manda essas ações ao game server e a sua localização. Sem o cliente, o game server não saberia o que você gostaria de fazer e ninguém poderia jogar. Só quando o cliente estiver dando comandos ao game server, Tibia ganha a vida.

Servidores de Login:

Servidor de Login

Antes de você poder começar a jogar de fato, você precisa entrar no jogo. Então você precisa de servidores de login. Sempre que você está tentando entrar no Tibia, o servidor de login está confirmando os dados da sua account no banco de dados e identifica os seus personagens. Depois que você selecionar um personagem de sua lista de personagens, o servidor de login funciona como uma placa de trânsito, guiando o seu cliente de Tibia para o game server correto. Tibia tem vários servidores como estes que são distribuídos no mundo inteiro.Isso é muito importante pois garante o acesso ao jogo mesmo se um dos login servers não estiver disponível. Se um servidor falhar, os jogadores ainda podem entrar no jogo pelos outros servidores. No Tibia, todos os patchs são salvos também nos servidores de login. Assim sempre que seu cliente conecta a um servidor, também confere se você tem a última versão do cliente ou se precisa atualizar com o ultimo patch.

Database:

São salvos dados muito importantes no banco de dados. Sempre que você tenta entrar no jogo, o login server está obtendo informações essenciais do banco de dados. Por exemplo, é conferido se seus dados de conta estão corretos, mas também é salvo outras informações importantes aqui. A conta é uma conta de tutor? O personagem é membro de uma guilda? Existem quaisquer entradas na criminal record? O personagem é premium account? Todas essas perguntas são respondidas pelo banco de dados.

Como dados importantes estão guardados no banco de dados, outros servidores se localizam na frente dele. Esses servidores permitem que apenas perguntas muito específicas passem para o banco de dados. Isto é importante não apenas para a segurança do jogo, mas também aumenta muito a velocidade das solicitações que são feitas ao banco de dados.

Game Server:

Depois de ter conferido os dados de um jogador, o cliente é conectado ao servidor de jogo. Aqui o jogo atual acontece. Em Tibia, cada um dos 74 servidores são hospedados em precisamente um game server, cada um deles com capacidade para até 1,000 jogadores. Outros jogos com mapas muito grandes hospedam um game world em vários servidores. Em jogos menores, como o TibiaME, muitos game worlds compartilham um server. Servidores de jogo realizam várias tarefas, por exemplo, eles notificam seu cliente quando você é atacado por uma criatura ou outro jogador, eles calculam quanto de dano você recebeu com base no seu skill, equipamento e level, ou verificam se um monstro está próximo ao seu personagem. Servidores de jogo também enviam regularmente dados ao cliente conferindo se o jogador ainda esta online. Se eles não adquirirem uma reação, o personagem será "kickado" do jogo.

Como já dito, é essencial que todas as ações em Tibia aconteçam muito rápido. Por isso o mundo inteiro de Tibia é salvo nos game servers. Levaria muito tempo se o servidor de jogo tivesse que pedir uma certa parte do mapa cada vez que você movesse o seu personagem. Também os itens espalhados ao redor de Tibia, criaturas, itens no seu depot e como também dados do personagem como as magias e quests são salvos na memória de cada game server. Isto não apenas permite que cada mundo tenha acesso rápido a esses dados, mas também assegura que um servidor possa continuar funcionando por um longo tempo mesmo que perca conexão com o banco de dados.

A parte mais problemática é a conexão entre os servidores de jogo e o cliente, pois dificilmente podemos influenciá-la. A única coisa que podemos fazer para obter uma conexão mais rápida e eficiente é escolher um bom data center que tem conexões com um grande número de provedores. Deste modo, a conexão pode ser rapidamente desviada se um provedor não trabalhar corretamente. Esta é uma das razões pelas quais estamos movendo nossos game servers americanos para um novo data center.

Esqueminha


Sempre que você quer jogar Tibia, seu cliente se conecta ao login servers. Então o login server confere seus dados no database que manda todas as informações importantes de volta para o login server.

Agora sua lista de personagens será exibida. Depois de selecionar um personagem, o login server guia seu cliente ao servidor de jogo correto. Depois que você entrar no jogo, há uma comunicação constante entre seu cliente e nosso game server que lhe permite executar certas ações com seu personagem, mas também confere se seu cliente ainda está trabalhando.

Um número muito grande de servidores é necessário para operar Tibia. Nós constantemente estamos melhorando a comunicação entre os servidores para assegurar que seu personagem possa atravessar suavemente o mundo fantástico de Tibia. Embora com tantos processos técnicos acontecendo a fundo, Tibia está funcionando perfeitamente, como você pode notar enquanto joga.

Divirta-se em Tibia!

Equipe
CipSoft