Skip to main content
Use este tópico para entender como simular uma rede com capacidade reduzida em um kit de desenvolvimento XBOX One. Os ambientes de rede dos usuários podem ser imperfeitos e caóticos. A largura de banda disponível e a confiabilidade de transmissão para os usuários podem ser consideravelmente menores do que as do seu espaço de desenvolvimento. Para oferecer a melhor experiência possível a uma base de usuários diversificada, teste seu jogo em ambientes realistas de clientes. Use seus kits de desenvolvimento XBOX One para executar simulações de rede com largura de banda limitada, perda de pacotes e latência. As simulações de rede são uma oportunidade de obter informações sobre o comportamento do seu jogo em condições variáveis.

Configurar uma rede de teste

A simulação de rede é controlada com o xbstress.exe, a ferramenta de estresse de linha de comando do Microsoft Game Development Kit (GDK). Use essa ferramenta para configurar vários estressores do console, incluindo a simulação de rede. Para obter detalhes completos, consulte xbstress (tópico sob NDA). Para fins de rede, o xbstress controla um driver especializado no XBOX One. Esse driver descarta pacotes, injeta latência e limita a taxa de transferência. Ao usar a simulação de rede, forneça um ambiente de rede limpo para garantir que os únicos problemas de rede sejam aqueles causados pelo xbstress. Um ambiente de rede limpo deve atender aos critérios a seguir.
  • Largura de banda disponível maior do que a do destino da simulação.
  • Conectividade confiável com perda de pacotes insignificante.
  • A menor latência possível. Coloque todos os nós no mesmo link para minimizar o efeito de fontes externas de latência.

Executar uma simulação básica de uma rede

O xbstress (tópico sob NDA) tem quatro perfis de simulação pré-configurados para simular facilmente cenários de rede importantes: mínimo, médio, excelente e interrompido. Esses perfis se baseiam em dados de várias fontes que monitoram continuamente a qualidade das conexões de internet. Como outras ferramentas de linha de comando, o xbstress interpreta o sinalizador de linha de comando /X: como o endereço IP ou o nome do host do console. O comando de simulação executa o seguinte:
  • Para simular conectividade ruim, execute xbstress simulate network=min.
  • Para simular conectividade média, execute xbstress simulate network=avg.
  • Para simular conectividade excelente, execute xbstress simulate network=exc.
  • Para simular conectividade interrompida, execute xbstress simulate network=broken.
  • Para simular uma desconexão física do cabo Ethernet, execute xbstress simulate network=disconnect.
  • Para interromper a simulação de rede, execute xbstress stop.
A tabela a seguir mostra os detalhes dos perfis de simulação. A latência é injetada nas duas direções dos fluxos de rede do console. Para simular o perfil médio, implementamos uma latência efetiva de 50 ms injetando um atraso de 25 ms nos pacotes de entrada e de saída. Se você simular o perfil médio em dois consoles no mesmo link, a latência ponto a ponto efetiva entre eles será de 50 ms nas duas direções.

Executar uma simulação de condições de rede complexas

Para verificar se o seu código de rede é robusto e está pronto para a certificação, teste-o diante de condições de rede complexas. Além disso, teste-o em situações em que um console consegue alcançar alguns dos pontos de extremidade que usa, mas outros pontos de extremidade estão indisponíveis ou a largura de banda da conexão é limitada. Você pode simular essas condições de rede complexas usando o recurso channel do xbstress (tópico sob NDA). Por exemplo, você usaria canais para simular condições como as seguintes:
  • O usuário não consegue acessar a rede XBOX (também conhecida como XBOX Live), mas todos os outros recursos de rede estão disponíveis.
  • O usuário não consegue acessar um dos servidores que um estúdio usa para hospedar serviços personalizados.
  • O acesso aos serviços XBOX parece normal, em geral, mas o acesso a um serviço específico (como Conquistas) está muito lento.
  • O usuário configurou uma sessão multijogador, mas agora não consegue acessar o console de outro usuário.
Para especificar como o acesso a um endereço ou intervalo de endereços específico deve ser simulado
  1. Especifique um canal para o endereço ou intervalo e o perfil de conexão a ser simulado no canal.
  2. Defina um canal separado para cada endereço ou intervalo de endereços em que você deseja especificar um perfil de conexão diferente.
  3. Especifique todos os canais que se aplicam a um cenário de simulação.
  4. Use o comando xbstress simulate network=channels para começar a simular as condições de rede especificadas pelos seus canais.
Cada especificação de canal tem os três valores a seguir.
  • Canal: identificado por um número arbitrário de 0 a 100. As descrições dos canais são processadas em ordem numérica, do menor para o maior. Como resultado, se você especificar duas regras que se aplicam a um endereço específico, o canal de número mais alto será aplicado a esse endereço.
  • Rede: o nome do perfil a ser aplicado a um endereço ou intervalo de endereços.
  • Endereços: podem ser especificados individualmente, em uma lista delimitada por ponto e vírgula ou como um intervalo usando máscaras de sub-rede.
Para usar o xbstress (tópico sob NDA) para bloquear todo o acesso à rede XBOX, use os endereços IP dos servidores XBOX da seguinte forma.
Para obter mais informações sobre os endereços dos servidores XBOX, consulte Configurar o acesso à rede de desenvolvimento para desenvolver títulos do Microsoft Game Development Kit. Um nome de host também pode ser usado em vez de um endereço IP para esse comando. Esse nome de host será resolvido para um único endereço IP e, portanto, só funciona para serviços que não usam balanceamento de carga e que são resolvidos para um único endereço IP.
Para limitar ou bloquear a comunicação com serviços HTTP com balanceamento de carga, use o Fiddler em vez do xbstress (tópico sob NDA). Consulte Fiddler em kits de desenvolvimento XBOX para obter mais informações.

Executar uma simulação refinada de uma rede

Use o xbstress para controlar individualmente a largura de banda de entrada, a largura de banda de saída, a perda de pacotes e a latência. Use esses controles quando quiser um controle mais refinado dos parâmetros de simulação. Para obter detalhes, consulte xbstress (tópico sob NDA).

Isentar tráfego de rede

A simulação de rede não afeta todo o tráfego proveniente do XBOX One. O tráfego associado a ferramentas é isento da simulação de rede. Isso garante que as ferramentas funcionem corretamente enquanto você depura os problemas que surgem ao desafiar seu código de rede com uma conexão simulada. Se a simulação de rede tornar um console inutilizável, apesar dessas isenções, você poderá desativar a simulação de rede. Desconecte a fonte de alimentação do console, aguarde dez segundos, conecte o console novamente e, em seguida, ligue-o.

Isenções de porta padrão

Os tipos de tráfego a seguir não são afetados pelas limitações de estresse de rede. Esta lista não é completa. Em algumas circunstâncias, outros tráfegos usados para a funcionalidade do sistema também podem ter permissão para escapar das limitações de estresse de rede.
  • Configuração de rede IPv4:
    • Address Resolution Protocol (ARP)
    • Dynamic Host Configuration Protocol (DHCP): portas 67 e 68 do User Datagram Protocol (UDP)
  • Configuração de rede IPv6:
    • SLAAC: ICMPv6
    • DHCPv6: porta UDP 546
  • XTF e PIX: Transmission Control Protocol (TCP), portas 4201 e 4221-4223
  • Telnet: TCP, portas 23, 24, 2302 e 2303
  • XStudio: TCP, porta 2375
  • Server Message Block (SMB): TCP 445

Isenções personalizadas para portas

Para isentar portas adicionais da simulação de rede e usá-las em suas próprias ferramentas personalizadas, use o xbstress para configurar isenções personalizadas. Suas ferramentas poderão então usar essas portas para se comunicar pela rede. Para configurar uma isenção, use os argumentos tcpportexemptions ou udpportexemptions no xbstress. Ambos os argumentos são seguidos por uma lista separada por ponto e vírgula das portas a serem isentas. Os exemplos a seguir demonstram o uso desses comandos.
  • O comando xbstress set tcpportexemptions 49152;49153 cria isenções para as portas TCP 49152 e 49153.
  • O comando xbstress set udpportexemptions 49153;49154 cria isenções para as portas UDP 49153 e 49154.

Interações entre a simulação de rede e a captura de rede

Usar o xbtrace (tópico sob NDA) para realizar capturas de rede no console enquanto também realiza a simulação de rede pode resultar em capturas de rede enganosas. Os efeitos da simulação (como descartes de pacotes) são implementados após o procedimento de captura. Por exemplo, uma captura pode indicar que um pacote foi transmitido, mesmo que ele tenha sido descartado posteriormente pelo driver de simulação antes de ser de fato transmitido pela rede.

Confira também

Estresse (xbstress.exe) (tópico sob NDA)
Last modified on October 6, 2026