FR EN DE ES IT PT
Naviguer dans les forums 
Trackers Ankama
Epinglé

Solutions mises en oeuvre pour améliorer les conditions de jeu

Par [lichen] - GAME DESIGNER - 21 Juin 2007 - 13:28:23
DevTracker AnkaTracker

La résolution des problèmes techniques reste notre priorité.
Voici un aperçu des solutions sur lesquelles nous travaillons pour résoudre les problèmes techniques majeurs constatés :

Solutions pour résoudre les problèmes de temps de latence ("lag") importants :
Certains joueurs rencontrent des temps de latence importants en jeu et des déconnexions intempestives aux heures de forte affluence.
Nous avons identifié en partie l'origine de ces problèmes, et une partie de l'infrastructure réseau de notre hébergeur a été complètement remplacée.
En parallèle, nous continuons de tester des plateformes techniques totalement différentes (avec nos serveurs de tests publics par exemple), afin de choisir la plateforme technique la plus adaptée pour nos serveurs de jeu.

Cependant, certains serveurs de jeu sont encore victimes de ralentissements importants.
Nous avons prévu dans les jours qui viennent, une "upgrade" matérielle de l'ensemble de nos serveurs de jeu afin d'améliorer les performances globales de tous nos serveurs.
Nous continuons régulièrement d'optimiser le fonctionnement de la partie logicielle de nos serveurs, et nous travaillons en ce moment sur une externalisation de l'ensemble du système de "chat", pour que les tous les calculs et les transferts de données liés aux canaux de discussions soient pris en charge par d'autres serveurs.
Cette modification assez complexe ne sera à priori pas disponible avant plusieurs mois.
Nous travaillons également sur l'optimisation des transferts de données entre les serveurs de jeu et les clients DOFUS afin de réduire certains temps de latence disproportionnés.

Les recherches en intelligence artificielle effectuées lors du développement de Wakfu nous ont également permis de trouver d'autres façons d'optimiser le fonctionnement de l'IA de DOFUS.
Nous comptons donc améliorer les performances globales des serveurs de jeu grâce à ces optimisations qui devraient être implémentées dans les prochains mois.

Nous continuons également d'améliorer nos outils de suivi des performances, et des statistiques des serveurs afin de pouvoir déceler plus rapidement l'origine de ces soucis techniques, et ainsi pouvoir intervenir plus rapidement.

Le développement du système de "déconnexion - reconnexion" sur lequel nous avons longuement travaillé, est pour l'instant suspendu faute de résultats concluants.
En attendant, les nombreuses améliorations matérielles de la plateforme technique de notre hébergeur qui sont prévues, devraient permettre de réduire une partie des déconnexions intempestives.

Solutions pour résoudre les problèmes de file d'attente :
Nous travaillons sur la mise en place de plusieurs serveurs de connexion, capables de travailler en parallèle, afin de réduire considérablement la taille des files d'attente lors de l'identification, et pour permettre une meilleure redondance en cas de défaillance du serveur de connexion.
Nous avons en outre prévu d'installer de nouveaux serveurs de bases de données, pour réduire la taille des files d'attente lors de l'accès aux serveurs de jeu.

Solutions pour améliorer les performances du client DOFUS :
Afin de réduire la mémoire consommée par le client DOFUS, et d'éviter les ralentissements lorsque le nombre de joueurs présents sur une même carte est trop important, nous avons décidé de revoir complètement la façon dont les éléments visibles sur les personnages (capes, chapeaux et armes) étaient gérés par le client.
Ce nouveau système sera intégré au client DOFUS de la prochaine extension majeure, dans quelques mois.

Solutions pour améliorer les performances de nos sites :
Plusieurs nouveaux serveurs de bases de données, et pour la gestion des sites sont prévus afin d'améliorer l'accessibilité des sites Ankama Games, et du support lors des périodes de forte affluence.

Solutions pour améliorer les téléchargements :
Afin d'améliorer la vitesse de téléchargement des mises à jour et du jeu DOFUS, nous développons en ce moment un programme permettant de mettre à jour automatiquement le jeu DOFUS en téléchargeant le contenu nécessaire (jeu complet ou simples patchs) en "peer to peer".
Ce programme devrait permettre aux joueurs de télécharger rapidement le jeu et ses mises à jour en toutes circonstances (même lors de la sortie d'une mise à jour obligatoire).
Nous comptons faire bêta-tester ce programme dans les prochains mois.

Première intervention Ankama

Nous avons déjà commencé la mise à jour matérielle de nos serveurs de jeu.

Le 26/06/07, une partie de l'architecture matérielle de nos serveurs de jeu a été améliorée.
Nous terminerons cette mise à jour matérielle le 03/07/07.

Nous avons également localisé avec plus de précisions une origine des temps de latence importants rencontrés en jeu.
Nous devons encore déterminer s'il s'agit d'un problème uniquement matériel, logiciel ou d'un problème de compatibilité entre certains composants matériels et logiciels.

Nous serons donc amenés à effectuer d'autres maintenances exceptionnelles en dehors des maintenances hebdomadaires du mardi, afin de modifier nos architectures matérielles et logicielles.
Nous sommes parfaitement conscients que ces maintenances supplémentaires sont une contrainte importante pour vous, mais elles nous permettent d'identifier plus rapidement et efficacement l'origine exacte de ces problèmes.

Voir le message dans son contexte
Réactions 15

Nous avons déjà commencé la mise à jour matérielle de nos serveurs de jeu.

Le 26/06/07, une partie de l'architecture matérielle de nos serveurs de jeu a été améliorée.
Nous terminerons cette mise à jour matérielle le 03/07/07.

Nous avons également localisé avec plus de précisions une origine des temps de latence importants rencontrés en jeu.
Nous devons encore déterminer s'il s'agit d'un problème uniquement matériel, logiciel ou d'un problème de compatibilité entre certains composants matériels et logiciels.

Nous serons donc amenés à effectuer d'autres maintenances exceptionnelles en dehors des maintenances hebdomadaires du mardi, afin de modifier nos architectures matérielles et logicielles.
Nous sommes parfaitement conscients que ces maintenances supplémentaires sont une contrainte importante pour vous, mais elles nous permettent d'identifier plus rapidement et efficacement l'origine exacte de ces problèmes.

Nous avons terminé le 03/07/07 notre mise à jour matérielle de l'ensemble des serveurs de jeu.

Durant la maintenance du 28/08/07, nous effectuerons d'importantes opérations de maintenance et d'optimisation sur nos bases de données.

Cette maintenance va également nous permettre de modifier une partie de notre architecture matérielle afin d'améliorer les conditions de jeu :

Réduction de la taille des files d'attente
Afin de réduire la taille des files d'attente aux heures de forte affluence, nous allons mettre en place un nouveau serveur de base de données dédié à l'exécution des requêtes d'identification pour le serveur de connexion.

Réduction des temps de latence
Afin d'anticiper d'éventuels problèmes de temps de latence élevés liés à l'augmentation croissante du nombre de joueurs, nous allons ajouter de nouveaux équipements sur le réseau interne de nos serveurs afin d'augmenter la bande passante potentielle pour l'ensemble de nos serveurs.

Changement de plateforme matérielle
Afin d'améliorer les conditions de jeu, de réduire les temps de latence, et d'améliorer la stabilité des connexions entre nos serveurs de jeu et vos clients DOFUS, nous avons préparé plusieurs améliorations matérielles et logicielles.

Ainsi, les tests de la prochaine version bêta de DOFUS, s'effectueront sur une plateforme matérielle totalement nouvelle.
Si les tests que nous allons effectuer sur cette nouvelle plateforme matérielle s'avèrent concluants, l'intégralité des serveurs de jeu, de connexion, et de bases de données, bénéficieront des mêmes améliorations matérielles dans les prochains mois.

Nous en profiterons alors pour vous expliquer plus en détail ces modifications matérielles majeures.

En outre, notre équipe de développement a revu une partie du fonctionnement du moteur serveur de DOFUS afin d'optimiser le traitement des informations à envoyer vers les clients DOFUS. Ces optimisations logicielles devraient permettre de réduire de façon notable les temps de latence en jeu.

Nous devons encore effectuer des tests en interne afin de valider le bon fonctionnement de ces modifications, mais nous espérons les appliquer sur l'intégralité des serveurs de jeu dans les semaines à venir.

Optimisation du système de listes d'amis et d'ennemis
L'origine d'une partie des ralentissements des serveurs de jeu a récemment été identifiée au niveau de la gestion par le serveur des listes d'amis et d'ennemis.
Nous avons constaté que beaucoup de joueurs tentaient d'ajouter des noms d'amis ou d'ennemis incorrects, provoquant ainsi d'importantes baisses de performances lorsque le serveur tentait en vain de trouver les noms des joueurs correspondant aux recherches effectuées par les joueurs.

Depuis la maintenance du 04/01/08, nous avons mis en ligne un système de recherche de joueurs pour le serveur entièrement revu et optimisé pour gérer efficacement les requêtes de recherche incorrectes.
C'est en outre ce qui nous a permis d'augmenter la taille des listes d'amis et d'ennemis sans que cela n'ait d'impact négatif sur les performances de nos serveurs de jeu.

Amélioration du contrôle des performances des serveurs de jeu
Nous avons également profité de la maintenance du 04/01/08 pour améliorer la façon dont les serveurs de jeu nous reportent les commandes dont le temps d'exécution est trop long ainsi que celles en cours d'envoi vers les clients lorsque une interface réseau semble saturée.
Ainsi, nous pourrons plus efficacement optimiser le traitement de certaines commandes du jeu, et identifier plus précisément l'origine des ralentissements qui peuvent survenir sur nos serveurs de jeu.

Optimisation de la gestion des messages entre les clients DOFUS et les serveurs de jeu
Grâce à l'amélioration du contrôle des performances des serveurs de jeu que nous avons mise en place le 04/01/08, nous avons pu déterminer qu'une part importante des ralentissements rencontrés sur les serveurs de jeu, étaient dûs au nombre très importants de messages réseaux envoyés vers les clients DOFUS.

Depuis plusieurs semaines, nous avons modifié et optimisé la gestion de l'envoi de ces messages afin de les regrouper et de gérer leur envoi par paquets quand cela est possible.
Cette modification a considérablement amélioré les performances des serveurs de jeu.
Nous comptons continuer d'optimiser cet aspect du fonctionnement de nos serveurs de jeu, pour améliorer encore les conditions de jeu et réduire les temps de latence trop élevés.

Changement de serveurs de jeu
L'amélioration récentes des conditions du jeu a provoqué pour de nombreux joueurs un regain d'intérêt pour le jeu significatif qui s'est traduit par une hausse de la fréquentation de certains serveurs de jeu de plus 20 %.
Cette hausse de la fréquentation de certains serveurs de jeu est à l'origine d'une partie des temps de latence élevés que les joueurs ont rencontré ces derniers temps (le weekend entre autre).

Nous prévoyons dans les semaines à venir, de changer les serveurs physiques qui hébergent les serveurs de jeu les plus fréquentés, par des machines beaucoup plus puissantes.

Nous prévoyons toujours de changer d'hébergeur dans les prochains mois, afin d'améliorer notre plateforme matérielle globale, mais nous devons encore faire de nombreux tests pour nous assurer que tout fonctionnera correctement.

Amélioration des équipements réseau de notre hébergeur
Notre hébergeur profitera de la maintenance du 29/02/08 pour remplacer une partie de ses équipements réseau par des modèles plus performants, afin d'améliorer la gestion de très nombreuses connexions simultanées aux serveurs de connexion et de bases de données.

Optimisation des serveurs de jeu
Le 15/04/08, lors de la mise à jour des serveurs de jeu, nous avons utilisé une nouvelle version de notre programme qui gère les serveurs de jeu. Le moteur de traitement des commandes a été considérablement optimisé, et nous a permis de réduire de façon notable les délais de traitements internes des différentes commandes.

Nous avons en outre corrigé des problèmes de gestion de mémoire, et des problèmes d'accumulation de traitements latents qui dégradaient auparavant les performances des serveurs de jeu au fil du temps (notamment en fin de week end, ou le lundi soir).

Remplacement des serveurs physiques
Les serveurs dont la population était la plus elevée, ont été remplacés par des machines plus performantes afin d'améliorer les performances globales.

Optimisation du serveur de connexion

Le fonctionnement du serveur de connexion a été amélioré et exploite désormais plus de serveurs de bases de données qu'auparavant.

Cette amélioration devrait réduire de façon considérable la taille des files d'attente sur le serveur de connexion.

Connexion au jeu :

Diverses modifications au serveur d'identification ont été apportées, afin de
- réduire la durée des identifications
- optimiser les performances globales du serveur lors des pics de charge

Nous continuons de surveiller et d'améliorer ce maillon sensible de l'entrée en jeu, afin de permettre à tous de se connecter rapidement au jeu.

Nous avons effectué d'importantes modifications sur l'architecture réseau de notre hébergeur, lors de la maintenance hebdomadaire du mardi 1er décembre. Nous avons ainsi pu résoudre de gros problèmes de latence et de transferts entre nos différents serveurs.

Depuis cette date, nous avons constaté une nette amélioration des files d'attente et des délais d'entrée en jeu. En effet, même dans les crénaux réputés chargés (18h à 20h en semaine, 16h-20h le weekend) il est désormais rare que des files d'attente soient perceptibles au niveau de l'identification et de l'entrée en jeu.

Nous continuons de travailler à l'optimisation de l'ensemble de la structure.

Nos efforts se concentrent actuellement sur les serveurs 2.0, qui subissent un problème de saturation mémoire. Nous sommes dans l'immédiat contraints d'effectuer une maintenance quotidienne sur ces serveurs. Nous espérons rapidement stabiliser la situation pour revenir au rythme habituel d'une maintenance hebdomadaire, comme sur la version 1.29.

L'ensemble des serveurs de l'architecture Dofus (1.29, 2.0) a été revue ce matin, la quantité de mémoire de chaque serveur a été doublée, afin d'améliorer les performances des serveurs, et d'anticiper les prochaines extensions du jeu.

(Les extensions futures concernent la version 2.0, les serveurs 1.29 devront être préalablement migrés pour profiter de ces extensions)

Lors de la mise à jour du 08/11/2011, le serveur principal de connexion a été remplacé par un serveur plus performant.

Le patch client déployé le 09/11/2011 permet désormais au client DOFUS de se connecter sur de multiples serveurs de connexion différents afin de mieux répartir la charge imposée par les demandes de connexion. L'architecture de connexion a été doublée afin d'exploiter cette amélioration.

Ces modifications permettent de réduire les délais de connexion (taille des files d'attente plus courte) et d'améliorer la disponibilité des serveurs de jeu.

Afin de réduire la durée d'indisponibilité des serveurs de jeu pendant les sauvegardes, des modifications matérielles et des optimisations dans le processus de sauvegarde ont été apportées lors de la maintenance du 18/11/14.

D'autres améliorations sont en cours de préparation pour réduire la durée des sauvegardes.

Depuis le 18/12/14, nous avons modifié le fonctionnement des sauvegardes effectuées sur les serveurs de jeu :

  • Elles n'ont plus lieu à heures fixes.
  • Elles sont effectuées pendant les plages plages horaires suivantes : 0h00 - 1h30, 6h00 - 7h30, 11h00 - 12h30, 16h00 - 17h30.

Auparavant les sauvegardes des serveurs pouvaient s'effectuer de façon concurrente (lorsque certains serveurs de jeu partageant des éléments de leur architecture matérielle effectuaient leur sauvegarde en même temps) et pouvaient donc être ralenties.

Désormais, les sauvegardes ne peuvent plus s'effectuer de façon concurrente, ce qui permet dans certains cas de réduire de façon significative la durée d'indisponibilité des serveurs en cours de sauvegarde. Nos premiers tests nous ont permis de constater des gains de 30 à 50% environ.

Nous continuons de travailler sur la réduction du temps d'indisponibilité de nos serveurs de jeu, nous devrions apporter d'autres améliorations durant l'année 2015.
Réagir à ce sujet