Skip to main content

Experiência com a Riot Games

 Riot Direct existe porque jogar um jogo onde alguém tem lag ou alta latência estraga completamente a experiência. Ao lado do Wi-Fi, uma das maiores causas de atraso e latência são as incertezas da internet. A solução da Riot Direct é aproximar a rede da Riot de nossos players, desenvolvendo nossa própria rede backbone e colaborando com provedores de serviços de Internet em todo o mundo. Isso nos permitiu limitar essas incertezas e reduzir a defasagem e a latência.



Já faz um tempo desde que você tem notícias da nossa equipe. Então, neste artigo, vamos contar um pouco sobre o que fizemos para reforçar conexões consistentes e estáveis, reduzir a latência e melhorar a experiência geral do jogador para todo o nosso portfólio multi-jogo.


DE UM PARA MUITOS

Quando a Riot Games era realmente apenas Riot Game, projetar a rede e tudo dentro dele era menos complicado.

Com um conjunto de jogos em expansão repentina, passamos de uma rede projetada para:

  • Um jogo
  • Servidores de jogos localizados em um local específico por região e por fragmento
  • Principalmente um protocolo
  • Um limiar de latência

Para:

  • Vários jogos
  • Vários locais para servidores de jogos para cada região
  • Vários protocolos diferentes
  • Múltiplos limiares de latência

Mudar para um ambiente multi-jogo enquanto ainda apoiava League of Legends significava que tínhamos que redesenhar a rede enquanto tentava evitar a dor dos jogadores.

Tenha em mente - cada jogo não é apenas um servidor de jogos, mas a plataforma, os serviços e as pessoas necessárias tanto para o jogo quanto para a infraestrutura que o suporta. Tudo isso se traduz em mais capacidade e novos recursos.

Fazer tudo isso enquanto lidava com operações diárias era um grande desafio.

COM O QUE ESTAMOS TRABALHANDO

A Riot Direct existe desde 2014, então, neste momento, estamos bem robustos. Este é um ótimo lugar para começar - agora precisávamos pegar esta rede somente da Liga e suas produções de esports e adaptá-la + ampá-la para apoiar adequadamente jogos futuros e potencialmente seus esports.

Nem todos os jogos são iguais quando se trata de networking. Eles têm requisitos diferentes para protocolos, latência e localização do servidor.

Protocolo: Jogos rápidos como League of Legends VALORANT dependem da velocidade do UDP em detrimento da confiabilidade, enquanto um jogo mais lento como Legends of Runeterra depende do protocolo TCP mais lento, mas mais confiável.

Latência: Mesmo que todos nós queremos que o ping sub-15 milissegundos para League of Legends, o jogo ainda é muito jogável em torno de 60ms latência em média. LoR pode ser jogado em níveis ainda mais altos de latência. Se você tentasse jogar VALORANT com mais de 60ms de latência, isso seria muito difícil, então o VALORANT otimizado para um número maior de servidores de jogos.

Localização do servidor: Os servidores de jogos DO VALORANT estão localizados em todo o mundo. Os servidores de jogos de League of Legends, no entanto, estão localizados em Chicago, Amsterdã, Tóquio, Seul, São Paulo, Santiago, Istambul, Miami e Sydney.


IPv4 Acompanhamento exaustão: os endereços IPv4 são armazenados em um inteiro sem assinatura de 32 bits, o que significa que há aproximadamente 4.294.967.296 endereços possíveis. O número de endereços disponíveis via routable público é ainda menor, porque existem conjuntos de regras que afirmam quais blocos de endereços podem ser roteados pela internet.

Negação de Serviço: É uma sensação terrível quando os jogos são comprometidos devido a um DDoS. Ao mesmo tempo em que criamos nossas soluções de networking, sempre temos que manter esses ataques em mente, porque à medida que adicionamos mais jogos, aumentamos nossa exposição.

Todas essas peças combinadas significavam que, para suportar novos jogos com configurações individuais de servidor e requisitos de rede, a rede original projetada para um servidor de jogo centralizado (como League e LoR) precisava também acomodar jogos com servidores de jogos descentralizados (como o VALORANT). Tudo durante uma inesperada e sem precedentes pandemia global.

COVID-19: A pandemia COVID-19 significava que tínhamos que realizar tudo isso sem a capacidade de trabalhar e colaborar em um escritório. Também tivemos que gerenciar o efeito nas entregas de hardware, o que impactou nossos Pontos de Presença (PoPs) - e mais locais de servidores significavam mais PoPs.


RIOT DIRECT

UMA VISÃO GERAL RÁPIDA

Riot Direct é basicamente uma rede de cabos e roteadores especificamente usados para pacotes da Riot, incluindo pacotes para processos críticos de execução de jogos.

Para fornecer um pouco de contexto, os provedores de serviços de internet (ISPs) padrão para o roteamento de batata quente - isso significa que eles querem tirar o tráfego do cliente de sua rede o mais rápido possível usando o ponto de saída mais econômico. A maneira como isso afeta seus clientes (nossos jogadores) varia amplamente com base no aplicativo que eles estão executando e seus requisitos gerais de largura de banda.

A internet é um lugar complicado onde não podemos simplesmente conectar dois pontos com uma linha reta. Cada região é construída com base em geografia, política e políticas comunitárias individuais, e seja por terra ou mar, precisamos sempre nos adaptar à sua infraestrutura.

Ao ter o Riot Direct presente em todo o mundo em locais-chave, estamos perto de outros ISPs, para que possamos nos conectar diretamente usando PNIs (Private Network Interconnecting, interconexão de rede privada) ou através de trocas de internet. Dessa forma, os ISPs podem descarregar totalmente o tráfego indo para nossos jogos perto da fonte, por isso evitamos a internet o máximo possível. Cada um desses locais é chamado de ponto de presença (PoP).

Uma vez que o tráfego esteja dentro do Riot Direct, usamos o roteamento de batata fria - usamos o melhor caminho possível de volta para os jogadores, mantendo o tráfego dentro de nossa espinha dorsal pelo tempo que for necessário. Para isso, precisamos criar políticas específicas que levem em consideração todas as transportadoras com as quem observamos, bem como as restrições geográficas de cada caminho disponível.

É assim que funciona. Quando alguém decide jogar um dos jogos da Riot, seu cliente recebe um endereço para o qual precisa enviar pacotes. Os pacotes deixam o computador do jogador e viajam para sua rede local para a rede de um provedor de serviços de internet (ISP). Idealmente, os pacotes saem rapidamente da rede do ISP e entram na rede da Riot Direct em um de nossos PoPs.

Então, basicamente, o PoP diz: "Ei, se você tem tráfego tentando chegar a esses endereços, entregue tudo para mim, porque eu sei o caminho para lá." O tráfego pode, então, viajar de forma rápida e fácil através de uma das fibras dedicadas da Riot Direct para o servidor de jogo correto.

IMPLEMENTAÇÃO DE LEAGUE OF LEGENDS

League of Legends foi o primeiro jogo da Riot, então nossa rede Riot Direct foi originalmente adaptada para rodar jogos da Liga. Aqui está uma visão geral rápida de como isso funciona.

Os servidores da Liga estão todos localizados no mesmo lugar para cada região - na América do Norte, por exemplo, esta é Chicago - então a rede original Riot Direct foi projetada para direcionar o tráfego para este único local. Todos os servidores de jogos têm endereços IPv4 públicos - isso impacta a escalabilidade devido à exaustão do endereço IPv4 e ao aumento do custo financeiro.

Outra peça importante é que o tráfego de retorno da Liga tentará usar o melhor caminho de volta, e terá sucesso na maior parte do tempo. Isso significa que o tráfego tem várias opções. Às vezes, ele vai viajar as fibras do Riot Direct de volta para o PoP original, e às vezes ele sai da localização do servidor de jogo para montar a internet de volta. Em termos de rede, o melhor caminho é sempre calculado com base no ponto de vista dos servidores.

O tráfego de retorno é baseado na melhor seleção de caminhos do BGP. Para nós, a qualidade do caminho é determinada pelo quão perto estamos. Um PNI, por exemplo, é sempre preferido em vez de um trânsito (internet regular) porque olhamos diretamente para eles. Não apenas logicamente, mas também fisicamente - há uma fibra dedicada real entre nós, enquanto um trânsito é uma conexão indireta sobre outro ISP (que é diferente dos ISPs domésticos).

IMPLEMENTAÇÃO VALORANTE

O atirador em primeira pessoa da Riot, VALORANT, pode parecer semelhante à Liga do ponto de vista competitivo, mas tem um conjunto drasticamente diferente de necessidades de rede. O foco inicial da equipe DO VALORANT em alto desempenho significava que eles se implantavam em vários locais com muitos servidores de jogo para reduzir o lag, o que pode ser absolutamente uma mudança de jogo em um jogo de tiro em primeira pessoa.

Trabalhamos em estreita colaboração com a equipe do VALORANT para apoiar esses objetivos, o que significava criar uma estratégia totalmente nova que pudesse funcionar com qualquer jogo futuro com uma configuração de rede semelhante. Simplificando, nossa solução foi aproximar nossa rede e servidores dos jogadores. Conseguimos isso com uma variedade de estratégias, incluindo aproveitar qualquer rede de elenco, e resolver para a exaustão IPv4 com a quais já estávamos lidando para a Liga.

VISÃO GERAL DE QUALQUER VISÃO

Quando um jogador inicia um jogo VALORANT, a plataforma determina sua localização e atribui um IP de servidor de jogo relevante. Ao contrário da League, este IP público não se origina do servidor de jogos, mas de cada PoP - esses PoPs são distribuídos em torno de uma região. Cada PoP dentro de uma região anuncia o mesmo endereço IP para que os jogadores possam acessar o endereço de vários locais, sempre terminando no PoP mais próximo - esta estratégia de rede é chamada de qualquercast.

DANDO UMA OLHADA MAIS DE PERTO COM ALGUNS EXEMPLOS

Digamos que temos um jogador VALORANT localizado na Virgínia, EUA, e eles recebem um endereço de 192.207.0.1, entrando na rede da Riot Direct em nosso Virginia PoP. Uma semana depois, o jogador decide fazer uma viagem para a ensolarada Los Angeles, e faz logon no VALORANT de seu hotel em Los Angeles. Essa partida soCal ainda receberá o IP 192.207.0.1, mas desta vez ele entrará na rede da Riot Direct do nosso PoP de Los Angeles.

Ao dissociar a sub-rede do servidor de jogos e mover a seleção da região para a plataforma, podemos focar no uso ideal de sub-rede com base na topologia da internet em qualquer área.

Para League of Legends, tivemos que usar diferentes sub-redes para os fragmentos norte-americanos e latino-americanos, o que era um requisito difícil do nosso lado. Mas para o VALORANT, usamos a mesma sub-rede de qualquer elenco para as Américas do Norte e Central.

Para comparar, os cacos sul e brasileiro da América Latina tinham duas sub-redes diferentes para a Liga. Decidimos também usar dois para o VALORANT porque se os jogadores estivessem localizados em algumas regiões do norte da Argentina, a infraestrutura de internet subjacente tendia a ir para o Brasil em vez de Santiago. Então, se usarmos o mesmo IP de qualquercast para ambos, seria difícil do ponto de vista de roteamento determinar o que o ISP de um jogador faria. E como é o mesmo IP, a plataforma não tem controle sobre onde vai pousar. Ao ter dois IPs anycast damos à plataforma e aos jogadores a flexibilidade para escolher a melhor opção.

BENEFÍCIOS DA ANYCAST

Embora tenhamos muitos servidores em locais estratégicos ao redor do mundo para garantir a menor latência possível para todos os jogadores, isso não significa que temos um servidor por PoP. A originação do Anycast não está ligada ao servidor do jogo em si, então internamente precisamos encontrar a melhor solução para retornar o tráfego entre nossa borda e o servidor de jogo.

Velocidade crescente: Qualquer rede de quaisquercast significa que podemos aproveitar a internet para escolher o ponto de entrada mais próximo em nossa rede. O tráfego de jogadores está sempre preso ao seu ponto de entrada no caminho de volta.

Evitando a exaustão do IPv4: Com nossa implementação de rede de qualquercast, adicionamos a Tradução de Endereço de Rede (NAT) ao nosso fluxo de jogo, que permite que os servidores de jogos usem endereços IP privados em vez de públicos. IPs privados não precisam ser únicos como os públicos fazem. Isso significa que podemos adicionar mais servidores de jogo mais próximos aos jogadores, reduzindo ainda mais a latência.

Otimizando o retorno do pacote: O NATing também garante um retorno do servidor através da rede da Riot Direct. Assim, quando os pacotes retornam do servidor para o player, eles sempre voltam para o PoP em que entraram através de nossos cabos dedicados.

Isso resolve um grande desafio que temos com o roteamento da Liga - cada decisão de roteamento entre a borda e o servidor de jogo é baseada em todos os caminhos disponíveis do ponto de vista do servidor. Com uma engenharia cuidadosa, podemos acertar a maior parte do tempo, mas devido à natureza da internet, às vezes está fora de nossas mãos.

Imersão no tráfego do dos: Quando o tráfego de Negação de Serviço (DoS) ou Negação Distribuída de Serviço (DDoS) é enviado para o endereço de qualquercast em qualquer região, ele é distribuído em cada PoP que usa esse local específico, absorvendo a tentativa de ataque.


Em última análise, a defasagem e latência muitas vezes dependem da internet pública altamente variável. Ao aproximar mais PoPs dos jogadores, buscamos reduzir a incerteza para garantir uma experiência consistente e excelente.

E QUANTO AO SUPORTE AO IPV6?

Então... Onde está o suporte ao IPv6? O IPv6 resolveria nosso problema de exaustão de endereços IPv4, por isso estamos trabalhando na adição de endereços IPv6 anycast. Ainda manteremos os endereços IPv4 anycast, mas adicionar o IPv6 dará aos jogadores com endereços IPv6 públicos suporte nativo, salvando-os da latência, evitando nats de grau de operadora isp. Os endereços IPv4 e IPv6 do Anycast trabalharão juntos para garantir que o maior número possível de jogadores tenha suporte nativo de ponta a ponta para suas versões do Protocolo da Internet.

ENTÃO POR QUE NÃO COMBINÁ-LOS?

Eu sei o que você está pensando. Uau, essa implementação do VALORANT parece muito doce - por que não fazer isso pela Liga?

Embora adoraríamos copiar e colar nossas soluções, não é tão simples assim. Liga antecede a Riot Direct - seus sistemas já estavam em vigor quando a Riot Direct foi formada pela primeira vez. League também é um jogo totalmente diferente, com seu próprio cliente, backend, conexões e público de jogadores ao vivo. Conseguimos colaborar com nossos amigos no VALORANT para construir esse novo roteamento de rede muito mais cedo em seu processo de desenvolvimento.

Tenha certeza, isso é só o começo. As mudanças no Riot Direct descritas neste artigo são apenas as bases para o nosso futuro multi-jogo. O Riot Direct existe para ajudar nossas equipes de jogo a criar e apoiar a melhor experiência possível para os jogadores, e cada novo jogo nos permite aprender mais e criar ferramentas melhores para todos os nossos jogos.

Comments

Popular posts from this blog

Tales of Arise: um guia completo para o Palácio da Autelina

  Tales of Arise: um guia completo para o Palácio da Autelina O Palácio Autelina é o terceiro calabouço importante em Tales of Arise.  Embora seja muito mais curto do que os dois anteriores, ainda há muito o que fazer. Já tendo derrotado Lord Dohalim no lago subterrâneo em Razum Quarry, Autelina Palace acaba sendo um dos castelos mais curtos em  Tales of Arise  .  Como os jogadores já sabem de sua visita anterior, o Palácio tem apenas dois andares e, para tornar as coisas ainda mais simples, o primeiro está completamente trancado no retorno do grupo. Palácio da Autelina - 2F O primeiro andar do palácio é bem trancado, então os jogadores devem ir direto para o segundo andar.  Eles perceberão imediatamente que a entrada da Câmara do Senhor foi bloqueada por um campo de força vermelho.  Law não é capaz de derrubá-lo, então o grupo precisará desativá-lo usando o terminal no Quarto do Senhor. Para encontrar a chave do quarto de Dohalim, os jogadores precisa...

Como jogar League of Legends: Wild Rift no PC com o BlueStacks

 League of Legends: Wild Rift  é um jogo da  Riot Games  disponível para download grátis em celulares  Android  e  iPhone  ( iOS ). Entretanto, também é possível aproveitar o  MOBA  em um PC utilizando um emulador, como o  BlueStacks . A principal vantagem de jogar a versão mobile de  League of Legends  em um computador é poder rodar o jogo em uma máquina que tenha configurações mais básicas. Confira, a seguir, como jogar o LoL Wild Rift no PC usando o emulador BlueStacks. Bastante esperado pelos fãs, LoL: Wild Rift chegou ao Brasil e Américas em março de 2021. O jogo foi anunciado pela desenvolvedora no dia 15 de outubro de 2020 durante as comemorações dos 10 anos do LoL. Na mesma data, games como  Teamfight Tactics (TFT)  Mobile e  Legends of Runeterra (LoR)  também foram revelados. Como baixar e jogar League of Legends: Wild Rift no PC Passo 1. No computador, acesse a página do BlueStacks n...

Cebolinha e a Tumba do Coelho

  Cebolinha está vivendo seus dias de Indiana Jones! Inspirado num cenário que lembra muito os filmes de aventura do herói americano, o nosso coleguinha Cebolinha vai ter muitas surpresas pela frente. Junte-se a ele e comece a explorar a tumba abandonada em busca de tesouros perdidos. Faça ele pular nas plataformas até conseguir chegar no final de cada uma das fases, sem cair no precipício.   JOGAR