Le rapport des tests SM par Bault, AkA Benoît Beauséjour :
https://robertsspaceindustries.com/spectrum/community/SC/forum/3/thread/server-meshing-tests/7209079
En mars 2024, suite au test du SM «A», nous avons confirmé un défaut de conception critique dans la file d'attente de messages réseau (NMQ) utilisée par les serveurs de jeu et les services hybrides. La NMQ est responsable de la transmission des données via les sockets UDP pour le trafic fiable et non fiable (éventuellement cohérent), ainsi que de la sécurité de cette transmission de données. Toutes les données de jeu, y compris les variables sérialisées, les propriétés d'entité et les appels de méthodes distantes, passent par cette file d'attente de messages. La faille identifiée a causé des problèmes lors du traitement de grandes quantités de liaisons et de messages, entraînant des problèmes de performances provoquant d'importants goulots d'étranglement dans la file d'attente. Son utilisation de la bande passante mémoire était également problématique. Pour résoudre ce problème, l'équipe est passée en mode de développement ciblé pour créer un remplacement : la file d'attente de messages de réplication (RMQ).
Le RMQ est conçu pour améliorer considérablement l'efficacité de la bande passante et maintenir la sécurité des serveurs de jeu, des clients et des réplicants. Plus important encore, il vise à éviter les goulots d'étranglement majeurs du réseau que les joueurs rencontrent généralement sous forme de retards d'interaction prolongés affectant plusieurs utilisateurs simultanément.
Comme indiqué précédemment, nous avons introduit la première version de RMQ dans les premières versions 3.24.0 en tant que « canari » sur des shards sélectionnés. Il est désormais entièrement déployé sur tous les shards en 3.24.1. Nous surveillons de près les performances de RMQ par rapport à l'âge des shards, car nous avons observé dans la version 3.23.1 qu'à mesure que les shards vieillissaient, le nombre de liaisons et de messages augmentait considérablement.
Il est encourageant de constater que depuis la mise en œuvre du RMQ, nous avons observé de nettes améliorations dans nos mesures et nos captures de performances. Nous sommes optimistes quant au fait que ces tendances positives persisteront à mesure que les shards vieillissent, même si nous continuerons à surveiller la situation de près.
Server Meshing Tests
Avec la RMQ en place, ainsi que d'autres améliorations hybrides, nous avons repris les tests de server meshing en utilisant la base de code de correctif actuelle à 3.24.
Nos objectifs de test sont les suivants :
- Identifier les zones nécessitant une optimisation pour obtenir une réplication à faible latence à grande échelle avec le jeu réel et les joueurs réels.
- Identifier les fonctionnalités du jeu qui nécessitent un ajustement pour un nombre élevé de joueurs.
- Identifier les environnements de jeu qui nécessitent des ajustements pour un nombre plus élevé de joueurs.
- Découvrir les bugs liés à la transition du serveur, à la récupération du serveur et à d'autres bizarreries introduites par la configuration maillée.
- Confirmer les changements et améliorer l'expérience de jeu avec un nombre plus élevé de joueurs (du point de vue du réseau)
Nous visons un cycle d'itération rapide pour tester nos corrections et optimisations, en garantissant une progression à chaque étape sans interférence avec d'autres modifications du jeu. Notre objectif est d'effectuer des tests hebdomadaires, jusqu'à ce qu'il soit temps de rejoindre la branche de développement principale pour les vagues PTU 4.0.
Nous ne procéderons à un test d'aperçu technique chaque semaine que si nous avons suffisamment de modifications et d'améliorations validées pour que vous puissiez tous jouer.
Nos tests doivent principalement suivre un modèle donné :
- Commencer d'abord par une configuration à serveur unique pour vérifier qu'il n'y a pas de nouveaux problèmes
- Étendre à une configuration de taille moyenne, c'est-à-dire 3 serveurs et 500 joueurs
- Étendre à une configuration de plus grande taille, c'est-à-dire 6 serveurs et 1 000 joueurs
- Revenir à un nombre de joueurs et de serveurs confortable en fonction des performances pour laisser le test ouvert pendant quelques heures afin que davantage de joueurs puissent expérimenter et que nous puissions capturer des données.
Dans ces tests, les missions ne seront pas disponibles car le système de missions est actuellement en cours de refonte pour être compatible avec le Server Meshing dans la version 4.0. Plusieurs systèmes de jeu (comme la partie sociale) sont également en cours d'ajustement pour le SM, mais ces modifications ne sont pas dans les versions Tech-Preview que nous souhaitons isoler pour tout développement en cours, à l'exception du code réseau. Les tests de ces systèmes reprendront lorsque la version 4.0 arrivera sur le PTU avec le SM activé.
Meshing Test "B" post-action report
Le test de maillage « B » a été réalisé le 12 septembre et a été le premier test sur RMQ.
Les résultats ont été décevants et inattendus, mais le goulot d'étranglement précédemment identifié dans le test « A » a été confirmé comme étant résolu. Bien que le délai d'interaction à grande échelle se soit amélioré, ce qui nous a permis de laisser les joueurs tester une configuration 4:350, le problème est resté. Le prochain goulot d'étranglement des performances à résoudre a été identifié.
Observations :
- Les temps d'entrée et de sortie de zone étaient problématiques, avec de nombreux joueurs bloqués lors du chargement lorsqu'un afflux de joueurs se produisait
- La latence et les délais d'interaction rendaient le jeu injouable avec un grand nombre de joueurs
- La zone à problème affectait également les connexions au serveur de jeu, ce qui aggravait le problème.
- Point positif : le problème initial de NMQ a été confirmé comme étant résolu grâce à des mesures et des captures
Le test a été interrompu prématurément.