Server meshing
Timeline 2024
L’équipe s’est concentrée sur le server meshing, pour améliorer le passage d’informations entre serveurs.
Le système d’échange d’UEC entre joueurs est en train d’être adapté au server meshing.
Des progrès ont été réalisés sur le “server meshing” et la résilience aux crashs.
Les complications sont les mêmes que pour la coupe des arbres. Il faut prendre en compte le server meshing, la persistance, etc, cela fait beaucoup d'informations. Il faut différentier les arbres notables (près des camps et points d'intérêt) et essayer d'être plus générique (par exemple définition par zone), dans le cas de zones plus denses ou moins fréquentées. Il n'y a aucune garantie aujourd'hui, mais ils étudient les possibilités.
Les changements nécessaires au système social dans le cadre de l’adaptation au server meshing sont en phase de tests internes.
L’équipe continue de travailler sur le server meshing, en particulier sur la synchronisation de Subsumption entre les serveurs de jeu. Ainsi, les personnages non joueurs peuvent continuer leur comportement en cours lorsqu’ils changent de serveur.
Après évaluation du support requis pour le Server Meshing, Pyro et la stabilité générale de la 4.0, nous avons décidé de retirer temporairement plusieurs livrables de cette mise à jour afin de libérer les ressources d’ingénierie nécessaires à la préparation de son lancement. Ceci inclut le gameplay d’ingénierie, le support de vie, les incendies et les extincteurs, le chargement/déchargement et la refonte du système de transport. Nous sommes conscients que beaucoup d'entre vous attendaient avec impatience ces fonctionnalités, en particulier le gameplay d’ingénierie, mais soyez assurés que nous sommes déterminés à les réintégrer dès que possible.
Le patch Alpha 4.0 est un patch technique, dans le sens où il apporte des changements fondamentaux dans les technologies du jeu avec le “server meshing”.
Avec l’arrivée du server meshing, le nombre de joueurs par shard (c’est-à-dire qui peuvent se rencontrer lors d’une session de jeu) va drastiquement augmenter. Dans ces conditions, le nombre de lieux actuellement présents dans le ‘Verse ne seront pas suffisants et créer des lieux à la main nécessiteraient trop de ressources.
L’équipe s’est concentrée sur le server meshing, pour améliorer le passage d’informations entre serveurs.
La refonte du système de missions se poursuit, ce qui inclut 1700 enregistrements de missions rien que pour Stanton. L’objectif est d’adapter les missions au contexte de server meshing tout en simplifiant le travail des développeurs, sans changement pour les joueurs.
L’équipe se prépare au déploiement du server meshing dans l’univers persistant. Ceci consiste en une série de Tech-Preview pour augmenter le nombre de joueurs par serveur.
Le système de transit est en cours de refonte complète dans le cadre du server meshing.
La vitesse des cycles du serveur (server framerate) a un effet direct sur la simulation de la physique et le comportement des personnages non joueurs. C’est une information que les joueurs peuvent voir en jeu et en sentir les effets. Les développeurs cherchent constamment à améliorer la vitesse du cycle, grâce à des optimisations et en répartissant la charge grâce au server meshing.
Le service d’échange d’UEC entre joueurs fonctionne désormais dans un environnement de server meshing.
Les développeurs espèrent qu’avec le server meshing activé, le patch Alpha 4.0 aura un cycle serveur plus rapide et offrira en conséquence une meilleure expérience de combat contre les personnages non joueurs.
Le système d’échange d’UEC entre joueurs est en train d’être adapté au server meshing.
Les travaux se poursuivent sur la vision et le déplacement des personnages non joueurs dans le cadre du server meshing. Ceci leur permettra de passer d’un serveur à un autre sans perte de contexte.
De nouveaux tests sont nécessaires en prévision du patch Alpha 4.0 qui verra plusieurs systèmes découpés en de multiples territoires gérés par plusieurs serveurs de jeu. A partir de ce point, les efforts porteront sur le server meshing dynamique, qui devra équilibrer la charge des serveurs de jeu.
Le développement du server meshing s’est fait en plusieurs étapes, chacune testant une partie du système. Les backers ont beaucoup de créativité pour tester les limites du système. Ainsi, chacune des phases de test (appelées Tech Preview) a révélé des problèmes et axes d’amélioration.
La première étape a été l’introduction de la couche de réplication (replication layer) dans le patch 3.18. L’un des bénéfices de cette technologie est la capacité à récupérer après un crash de serveur. Le premier enseignement de ce test a été que la technologie fonctionne globalement très bien, que les principes sont bons. La couche de réplication fonctionnelle offre des bases solides pour un développement plus rapide du reste du server meshing.
Une fois la couche de réplication fonctionnelle, les développeurs ont conduit un test avec deux serveurs de jeu connectés à la même couche de réplication, ce qui correspond à un premier essai de server meshing. Encore une fois, ce test s’est bien mieux déroulé que ce à quoi s’attendaient les développeurs. Le seul bémol pour eux, c’est que le point de saut a dû être descopé de l’expérimentation à la dernière minute. Un autre test avec un point de saut fonctionnel entre Stanton et Pyro a donc été organisé, et les développeurs ont pu constater le bon fonctionnement de la transition entre les deux systèmes.
Les développeurs se sont aussi rendus compte que certaines parties du code n’étaient pas adaptées au server meshing, notamment car des bugs sont apparus du fait de la capacité à récupérer après un crash. L’un des scénarios les plus critiques se produit quand un serveur de jeu envoie des données erronées dans la couche de réplication avant de crasher, provoquant un crash systématique de tous les serveurs de jeu qui essaient de prendre le relai.
Dans d’autres cas, des données redondantes étaient envoyées à la couche de réplication, provoquant des problèmes de performance. Il y a donc des actions dans toutes les équipes pour convertir les fonctionnalités existantes à cette nouvelle architecture. L’équipe chargée du server meshing a mis en place des outils pour monitorer les performances de la couche de réplication et des serveurs de jeu, pour guider les autres équipes dans leurs efforts.
Des investigations sont en cours pour améliorer la syntchronisation des données de l’intelligence artificielle entre les serveurs et les clients dans le cadre du server meshing.
Un système de région pour les entités a commencé son développement. Il s’agit de gérer la durée de vie des entités générées procédurallement, fonctionnalité indispensable pour les entités persistence, le rétablissement après un crash et le server meshing.
Les travaux se poursuivent pour l’implémentation de la première version du server meshing.
Les travaux nécessaires pour adapter le système d’inventaire au server meshing ont été définis.
Les voyages quantiques sont en train d’être adaptés au server meshing.
L’équipe a commencé à travailler sur des fonctionnalités candidates pour le patch 4.0, comme la refonte des systèmes de mission et de marqueurs, ou encore le commerce dans le cadre du server meshing.
La refonte du système de mission, nécessaire pour l’adaptation au server meshing, est en phase de planification.
La refonte des services sociaux d'arrière-plan est terminée. Il s’agissait notamment de les transposer à la technologie gRPC et de les préparer pour le server meshing.
Les services d’arrière-plan liés aux fonctions sociales ont été remaniés, notamment pour le portage vers gRPC et l’adaptation au server meshing.
Les travaux ont débuté sur la technologie Planet Tech v5. L’équipe est en train de déterminer comment le partitionnement spatial va fonctionner avec le server meshing et la récupération en cas de crash. Le concept de planètes par défaut (default planets) a été introduit pour faciliter les tests internes.
Pour l'adaptation au server meshing, un soutien a été apporté pour les voyages quantiques et les marqueurs lors des transitions vers un autre système stellaire.
Une refonte du système de mission en prévision du server meshing est en cours de réalisation.
Des progrès ont été réalisés sur le “server meshing” et la résilience aux crashs.
Le système de transports en commun a été adapté au “server meshing”, et pour prendre en compte la récupération aux crashs lorsqu’un personnage est dans un transport.
Les fonctionnalités suivantes sont visées pour le premier semestre 2024, car elles ne dépendent pas de l’implémentation du server meshing :
L’objectif actuel pour le patch 4.0 avec le “Server Meshing” et Pyro est l’été 2024. Des tests seront effectués sur les “Tech Preview Channels” :