A Blizzard abriu a cortina no lado técnico de Diablo 2: problemas de servidor de Ressuscitado, que afetaram o novo jogo para PC desde o lançamento. O gerente da comunidade Adam Fletcher postou um longo explicador no blog compartilhando o que aconteceu, por que é aconteceu, e o que a equipe está fazendo para resolver esses problemas daqui para frente.

Junto com os surtos de popularidade que sobrecarregam os servidores, Fletcher diz que parte do problema se resume ao código legado. Ao se manter “fiel ao jogo original”, a equipe manteve muito do código antigo, com um serviço legado em particular “lutando para acompanhar o comportamento moderno do jogador”.

“Mencionamos’jogador moderno comportamento’porque é um ponto interessante para se pensar ”, diz Fletcher. “Em 2001, não havia quase tanto conteúdo na internet sobre como jogar Diablo II‘ corretamente ’(Baal roda para XP, Pindleskin/Esgotos Antigos/etc para encontrar magia, etc). Hoje, no entanto, um novo jogador pode procurar qualquer número de criadores de conteúdo incríveis que podem ensiná-los a jogar o jogo de maneiras diferentes, muitos deles incluindo muita carga de banco de dados na forma de criar, carregar e destruir jogos rapidamente sucessão. Embora tenhamos previsto isso-com jogadores criando novos personagens em novos servidores, trabalhando duro para obter seus itens de descoberta de magia-subestimamos enormemente o escopo que derivamos do teste beta. ”

Essencialmente, Diablo 2: ressuscitado tem um banco de dados global que atua como um hub central e vários bancos de dados regionais para ajudar a transportar a carga. O que a equipe descobriu, porém, é que eles estão economizando com muita frequência para o primeiro, o que significa que o último não está ajudando tanto quanto deveria.

“Não há necessidade de fazer isso frequentemente como éramos ”, diz Fletcher. “Deveríamos realmente salvá-lo no banco de dados regional e apenas salvá-lo no banco de dados global quando precisarmos desbloqueá-lo-esta é uma das atenuações que implementamos. No momento, estamos escrevendo um código para mudar totalmente a forma como fazemos isso, então quase nunca salvaremos no banco de dados global, o que reduzirá significativamente a carga nesse servidor, mas essa é uma reformulação da arquitetura que levará algum tempo para ser construída, teste e, em seguida, implemente. ”

Fletcher também fala sobre a perda de progresso. Os personagens dos jogadores ficaram presos em bancos de dados regionais durante a queda do servidor. A equipe não tinha como mover personagens para o banco de dados global, então eles sentiram que tinham duas opções: desbloquear todos com alterações não salvas no banco de dados global ou colocar o jogo totalmente offline por um tempo. A equipe sentiu que a primeira foi a decisão correta, pois permitiu que as pessoas continuassem jogando o jogo.

No entanto, avançando, a equipe acredita que tem uma maneira de restaurar os personagens de uma forma que não leva a quaisquer perdas de dados significativas. Fletcher diz que deve ser “limitado a vários minutos de perda, se houver”.

Então, o que a equipe está fazendo sobre tudo isso? Você está obtendo um limite de taxa, por enquanto, para impedir que as pessoas façam fazendas de itens que criam e juntam muitos jogos. Diablo 2: Resurrected também está obtendo filas de login para evitar que o jogo seja sobrecarregado durante os picos de popularidade, e partes críticas de funcionalidade estão sendo divididas em serviços menores.

“ As interrupções do nosso servidor não foram causadas por um único problema; estamos resolvendo cada problema conforme eles surgem, com soluções atenuantes e mudanças arquitetônicas de longo prazo ”, diz Fletcher. “Um pequeno número de jogadores experimentou perda de progressão de personagem-avançando, qualquer perda devido a uma falha no servidor deve ser limitada a vários minutos.

“ Esta não é uma solução completa para nós, e estamos continuando para trabalhar neste assunto. Nossa equipe, com a ajuda de outras pessoas da Blizzard, está trabalhando para levar a experiência do jogo a um lugar que seja bom para todos. ”

Categories: IT Info