Nos últimos anos, a Valve tem trabalhado para melhorar a qualidade do multiplayer no Dota 2 e no CS: GO, retransmitindo o tráfego e transferindo-o para seu backbone da rede. Isso permite proteger os jogos contra ataques de negação de serviço, reduz o ping e melhora a qualidade da conexão. No Steamworks SDK versão 1.44, a
Valve lançou uma nova API que fornece acesso a este serviço a todos os parceiros do Steam.

A Valve publicou um
post especial . A API inclui:
- O acesso à rede Valve, que permite que os jogadores sejam protegidos contra ataques, fornece passagem 100% NAT confiável e conexão aprimorada.
- Ferramentas para avaliar instantaneamente o ping entre dois nós arbitrários sem enviar pacotes.
- Conexão de alta qualidade via protocolo UDP confiável com criptografia de ponta a ponta.
Acesso à rede de válvulas
A Valve possui nós de retransmissão implantados em 30 pontos de conexão de rede em todo o mundo, com uma largura de banda de vários terabits. Existem pelo menos algumas vantagens da rede.
Em primeiro lugar, a retransmissão de tráfego é anônima e protege servidores e usuários de jogos contra ataques de negação de serviço. Além disso, como as decisões de roteamento são tomadas dinamicamente pelo cliente, se o nó de retransmissão ficar indisponível, o cliente poderá alternar para outro nó dentro de alguns segundos ou, se necessário, para outro ponto de conexão. Um invasor poderá interromper o processo do jogo apenas se ele for capaz de sobrecarregar vários datacenters ao mesmo tempo.
Em segundo lugar, os clientes poderão escolher uma rota que os transfira o mais rápido possível de uma conexão pública à Internet para conexões dedicadas. A Valve garante o roteamento ideal no backbone da rede, pois trabalha com mais de 2.500 provedores de Internet. Além disso, o tráfego de jogos sensíveis ao atraso tem precedência sobre downloads de conteúdo sobre HTTP. Isso é possível porque a parcela do tráfego de jogos na largura de banda usada é relativamente pequena. No backbone da rede, um aumento repentino no tráfego que não é de jogos não afetará a qualidade do jogo.
A cereja no bolo é reduzir o ping! O protocolo Valve oferece ao cliente a oportunidade de escolher a rota pela qual as solicitações serão raiz. O cliente leva em consideração cada ponto de conexão do relé, determina o atraso de ponta a ponta na rota e, em seguida, seleciona a rota com o menor atraso.
Se você permitir que os clientes escolham uma rota, a conexão deles será melhor do que o padrão surpreendentemente frequentemente. Após analisar 16 milhões de conexões de endereços IP de clientes exclusivos com servidores dedicados nos datacenters da Valve, eles obtiveram os seguintes resultados:
- O tempo de ping diminuiu em 43% dos jogadores.
- Para 25% dos jogadores, o tempo de ping diminuiu 10 ou mais ms.
- Para 10% dos jogadores, o tempo de ping diminuiu 40 ou mais ms.
O escopo das melhorias varia de acordo com a região.

Ferramentas de avaliação de ping
Os
ISteamNetworkingUtils
interface
ISteamNetworkingUtils
incluem ferramentas de avaliação de ping de retransmissão baseadas em rede. Medindo o tempo de ping para diferentes nós de retransmissão, geramos coordenadas que descrevem a localização do host na Internet. Usando esses dois conjuntos de coordenadas, a Valve pode estimar com muita precisão o tempo de ping entre dois nós arbitrários sem enviar pacotes. Esse recurso é extremamente útil ao selecionar jogos e ao selecionar um nó de rede ponto a ponto.
Protocolo de ponta a ponta de código aberto
SteamNetworkingSockets
não apenas fornece acesso a funções baseadas na rede de retransmissão da Valve e no backbone da rede para parceiros Steam, mas também é uma biblioteca de transporte universal para jogos, oferecendo os seguintes recursos:
- Fragmentação, montagem e retransmissão. No seu código, você envia e recebe mensagens que podem ser menores ou maiores que pacotes de rede. Para aumentar a eficiência, o protocolo combina várias mensagens pequenas em um pacote, divide mensagens grandes em vários pacotes, as coleta no lado de recebimento e retransmite segmentos de mensagens confiáveis perdidas devido à perda de pacotes.
- Criptografia e autenticação. A segurança não é uma preocupação secundária de um jogo online moderno: a vulnerabilidade pode arruinar a impressão do jogo. A criptografia adequada é um verdadeiro desafio. A Valve foi guiada por padrões modernos para transmissões confiáveis e aplicada a mensagens não confiáveis usadas por jogos. A criptografia interna protege os dados contra interceptação por padrão. A proteção contra ataques seqüestrados exige que terceiros confiáveis dêem acesso ao certificado ou segredo compartilhado. O Steam é ideal para seus jogos: para que um invasor possa interceptar ou modificar pacotes, ele deve estar dentro do processo do jogo, onde o sistema VAC o detecta.
- Os principais recursos dessa API também estão disponíveis na versão de código aberto . A Valve deseja que os desenvolvedores aproveitem ao máximo a API e isso não seria possível sem a garantia de que o acesso ao código-fonte é gratuito.
Isso não é tudo
Esta é a primeira de uma série de atualizações destinadas a melhorar o desempenho de jogos na rede para parceiros do Steam. Até agora, a Valve apenas melhorou a operação de redes ponto a ponto, mas, além disso, planeja dar aos parceiros acesso aos desenvolvimentos usados em seus servidores dedicados.