Skip to main content
Utilisez cette rubrique pour comprendre comment simuler un réseau à capacité réduite sur une trousse de développement XBOX One. Les environnements réseau des utilisateurs peuvent être imparfaits et chaotiques. La bande passante disponible et la fiabilité de transmission pour les utilisateurs peuvent être considérablement inférieures à celles de votre espace de développement. Pour offrir la meilleure expérience possible à une base d’utilisateurs diversifiée, testez votre jeu dans des environnements clients réalistes. Utilisez vos trousses de développement XBOX One pour exécuter des simulations réseau de bande passante limitée, de perte de paquets et de latence. Les simulations réseau sont une occasion de mieux comprendre le comportement de votre jeu dans des conditions variables.

Configurer un réseau de test

La simulation réseau est contrôlée avec xbstress.exe, l’outil de stress en ligne de commande du Microsoft Game Development Kit (GDK). Utilisez cet outil pour configurer divers facteurs de stress de la console, y compris la simulation réseau. Pour tous les détails, consultez xbstress (rubrique sous NDA). À des fins réseau, xbstress contrôle un pilote spécialisé sur XBOX One. Ce pilote abandonne des paquets, injecte de la latence et limite le débit. Lorsque vous utilisez la simulation réseau, fournissez un environnement réseau propre pour vous assurer que les seuls problèmes réseau sont ceux causés par xbstress. Un environnement réseau propre doit répondre aux critères suivants.
  • Une bande passante disponible supérieure à celle de la cible de simulation.
  • Une connectivité fiable avec une perte de paquets négligeable.
  • La latence la plus faible possible. Placez tous les nœuds sur la même liaison pour réduire au minimum l’effet des sources externes de latence.

Exécuter une simulation de base d’un réseau

xbstress (rubrique sous NDA) comporte quatre profils de simulation préconfigurés pour simuler facilement des scénarios réseau importants : minimum, moyen, excellent et rompu. Ces profils sont basés sur des données provenant de diverses sources qui surveillent la qualité continue des connexions Internet. Comme les autres outils en ligne de commande, xbstress interprète l’indicateur de ligne de commande /X: comme l’adresse IP ou le nom d’hôte de la console. La commande de simulation exécute ce qui suit :
  • Pour simuler une connectivité faible, exécutez xbstress simulate network=min.
  • Pour simuler une connectivité moyenne, exécutez xbstress simulate network=avg.
  • Pour simuler une excellente connectivité, exécutez xbstress simulate network=exc.
  • Pour simuler une connectivité rompue, exécutez xbstress simulate network=broken.
  • Pour simuler une déconnexion Ethernet physique, exécutez xbstress simulate network=disconnect.
  • Pour arrêter la simulation réseau, exécutez xbstress stop.
Le tableau suivant présente les détails des profils de simulation. La latence est injectée dans les deux directions des flux réseau de la console. Pour simuler le profil moyen, nous mettons en œuvre une latence effective de 50 ms en injectant un délai de 25 ms sur les paquets entrants et sortants. Si vous simulez le profil moyen sur deux consoles sur la même liaison, leur latence pair à pair effective serait de 50 ms dans les deux directions.

Exécuter une simulation de conditions réseau complexes

Pour vérifier que votre code réseau est robuste et prêt pour la certification, testez-le lorsqu’il est confronté à des conditions réseau complexes. De plus, testez-le dans des situations où une console peut atteindre certains des points de terminaison qu’elle utilise, mais où d’autres points de terminaison ne sont pas disponibles ou la bande passante de connexion est limitée. Vous pouvez simuler de telles conditions réseau complexes à l’aide de la fonctionnalité channel de xbstress (rubrique sous NDA). Par exemple, vous utiliseriez des canaux pour simuler des conditions telles que les suivantes :
  • L’utilisateur ne peut pas accéder au réseau XBOX (aussi appelé XBOX Live), mais toutes les autres ressources réseau sont disponibles.
  • L’utilisateur ne peut pas accéder à l’un des serveurs qu’un studio utilise pour héberger des services personnalisés.
  • L’accès aux XBOX services semble correct, en général, mais l’accès à un service particulier (comme les succès) est très lent.
  • L’utilisateur a configuré une session multijoueur, mais il ne peut maintenant plus accéder à la console d’un autre utilisateur.
Pour spécifier comment l’accès à une adresse ou à une plage d’adresses particulière doit être simulé
  1. Spécifiez un canal pour l’adresse ou la plage et le profil de connexion à simuler sur le canal.
  2. Définissez un canal distinct pour chaque adresse ou plage d’adresses pour laquelle vous voulez spécifier un profil de connexion différent.
  3. Spécifiez tous les canaux qui s’appliquent à un scénario de simulation.
  4. Utilisez la commande xbstress simulate network=channels pour commencer à simuler les conditions réseau qui ont été spécifiées par vos canaux.
Chaque spécification de canal comporte les trois valeurs suivantes.
  • Canal : Identifié par un nombre arbitraire de 0 à 100. Les descriptions de canaux sont traitées en ordre numérique, du plus bas au plus élevé. Par conséquent, si vous spécifiez deux règles qui s’appliquent à une adresse particulière, le canal portant le numéro le plus élevé est appliqué à cette adresse.
  • Réseau : Le nom du profil à appliquer à une adresse ou à une plage d’adresses.
  • Adresses : Peuvent être spécifiées individuellement, dans une liste délimitée par des points-virgules, ou sous forme de plage à l’aide de masques de sous-réseau.
Pour utiliser xbstress (rubrique sous NDA) afin de bloquer tout accès au réseau XBOX, utilisez les adresses IP des serveurs XBOX comme suit.
Pour plus d’informations sur les adresses des serveurs XBOX, consultez Configuration de l’accès à votre réseau de développement pour le développement de titres Microsoft Game Development Kit. Un nom d’hôte peut également être utilisé au lieu d’une adresse IP pour cette commande. Ce nom d’hôte sera résolu en une seule adresse IP et ne fonctionne donc que pour les services qui ne sont pas à charge équilibrée et qui se résolvent en une seule adresse IP.
Pour limiter ou bloquer la communication avec des services HTTP à charge équilibrée, utilisez plutôt Fiddler au lieu de xbstress (rubrique sous NDA). Pour plus d’informations, consultez Fiddler sur les trousses de développement XBOX.

Exécuter une simulation précise d’un réseau

Utilisez xbstress pour contrôler individuellement la bande passante entrante, la bande passante sortante, la perte de paquets et la latence. Utilisez ces contrôles lorsque vous voulez un contrôle plus précis des paramètres de simulation. Pour plus de détails, consultez xbstress (rubrique sous NDA).

Exempter le trafic réseau

La simulation réseau n’affecte pas tout le trafic provenant de la XBOX One. Le trafic associé aux outils est exempté de la simulation réseau. Cela garantit que les outils fonctionnent correctement pendant que vous déboguez les problèmes qui surviennent lorsque vous mettez votre code réseau à l’épreuve avec une connexion simulée. Si la simulation réseau rend une console inutilisable, malgré ces exemptions, vous pouvez désactiver la simulation réseau. Débranchez le bloc d’alimentation de la console, attendez dix secondes, rebranchez la console, puis allumez-la.

Exemptions de ports par défaut

Les types de trafic suivants ne sont pas affectés par les limitations de stress réseau. Cette liste n’est pas exhaustive. Dans certaines circonstances, d’autres trafics utilisés pour les fonctionnalités du système peuvent également être autorisés à échapper aux limitations de stress réseau.
  • Configuration réseau IPv4 :
    • Protocole de résolution d’adresse (ARP)
    • Protocole de configuration dynamique de l’hôte (DHCP) : ports 67 et 68 du protocole UDP (User Datagram Protocol)
  • Configuration réseau IPv6 :
    • SLAAC : ICMPv6
    • DHCPv6 : port UDP 546
  • XTF et PIX : protocole TCP (Transmission Control Protocol), ports 4201 et 4221-4223
  • Telnet : TCP, ports 23, 24, 2302 et 2303
  • XStudio : TCP, port 2375
  • Server Message Block (SMB) : TCP 445

Exemptions personnalisées pour les ports

Pour exempter des ports supplémentaires de la simulation réseau et les utiliser pour vos propres outils personnalisés, utilisez xbstress pour configurer des exemptions personnalisées. Vos outils peuvent ensuite utiliser ces ports pour communiquer sur le réseau. Pour configurer une exemption, utilisez les arguments tcpportexemptions ou udpportexemptions dans xbstress. Les deux arguments sont suivis d’une liste, séparée par des points-virgules, des ports à exempter. Les exemples suivants illustrent l’utilisation de ces commandes.
  • La commande xbstress set tcpportexemptions 49152;49153 crée des exemptions pour les ports TCP 49152 et 49153.
  • La commande xbstress set udpportexemptions 49153;49154 crée des exemptions pour les ports UDP 49153 et 49154.

Interactions entre la simulation réseau et la capture réseau

L’utilisation de xbtrace (rubrique sous NDA) pour effectuer des captures réseau sur la console tout en effectuant une simulation réseau peut produire des captures réseau trompeuses. Les effets de simulation (comme les abandons de paquets) sont mis en œuvre après la procédure de capture. Par exemple, une capture pourrait indiquer qu’un paquet a été transmis, même s’il a ensuite été abandonné par le pilote de simulation avant d’être réellement transmis sur le réseau.

Voir aussi

Stress (xbstress.exe) (rubrique sous NDA)
Last modified on October 6, 2026