|
Bon, je vais me contenter de répondre à l'auteur de ce sujet et je vais essayer d'ignorer la vingtaine de pages de conneries qui ont suivi.
Je tiens d'abord à préciser que je ne suis pas développeur, inutile de venir me saouler et me pointer du doigt parce que je ne sais pas comment fonctionne le bidule du truc machin.
Contrairement à ce que certains pensent (enfin surtout ceux qui n'ont pas accès au code source de Dofus, ou qui n'ont jamais réussi à comprendre qu'un programme de serveur de mmorpg était "un peu" complexe), un programme sans faille reste une utopie.
Oublions quelques instants les programmes de calculette en assembleur, ou le programme de résolution de la tour de Hanoï en java que certains d'entre vous ont dû réaliser.
Je ne cherche à discréditer personne ici, mais bon, avant de balancer des "punaise il manque juste des IF pour corriger leurs failles ololol² les noobz", il faudrait peut-être déjà commencer par savoir de quoi on parle ici, parce que ce n'est clairement pas aussi simple.
C'est assez facile de l'extérieur quand on ne connait pas le fonctionnement d'un programme de venir donner de belles leçons de programmation.
Alors il y a certainement parmi vous des programmeurs bien meilleurs que ceux qui travaillent chez Ankama, il y a parmi vous certainement de meilleurs graphistes, de meilleurs gamdesigners, et de meilleurs musiciens. Pourquoi s'en étonner ?
Nous n'avons jamais prétendus être les meilleurs, nous n'avons pas ce genre de prétention, être le deuxième mmorpg le plus joué en France suffit à contenter notre ego surdimensionné (je précise, c'est à prendre au second degré).
Le serveur de jeu DOFUS (pour un mmorpg par exemple), est un programme qui évolue depuis bientôt 4 ans, plusieurs personnes différentes ont travaillé et ont maintenu son code, le code source a énormément évolué, entre ce qui a été fait il y a 4 ans lorsque DOFUS n'était qu'un "simple" jeu PVP sur des cartes aléatoires, et le véritable mmorpg qu'il est dévenu, beaucoup d'eau a coulé sous les ponts.
DOFUS n'a donc pas réellement connu un développement très "stable".
Pour la quasi totalité des gens qui ont travaillé sur ce projet, il s'agit de leur première expérience dans le milieu.
DOFUS a connu un développement par "couches", le jeu était assez simple au début, et personne dans l'équipe ne pouvait prédire le succès qu'il a rencontré. Nous avons donc fait évoluer le projet petit à petit, en l'améliorant, en l'enrichissant.
Le programme est parfois qualifié "d'usine à gaz". Vous êtes nombreux à citer Tot et à vous offusquer de ce terrible constat. C'est une réalité, mais c'est bien entendu un jugement, une interprétation très subjective.
Arrivé à un certain stade, n'importe quel programme, lorsqu'il devient très complexe et lorsque sa complexité n'a pu être anticipée au début du développement, devient une "usine à gaz".
Maintenir le code de DOFUS, le faire évoluer devient de plus en plus long et complexe, les effets de bord sont de plus en plus nombreux. C'est une évolution "logique" et prévisible du projet.
J'aimerais également rappeler à ceux qui s'étonnent de la lenteur (relative) des corrections apportées au jeu, qu'Ankama reste une entreprise, avec des objectifs commerciaux, que l'ensemble des équipes qui travaillent sur le jeu se doit de remplir.
Prenons un exemple simple. Une mise à jour (ou extension) a trois objectifs : enrichir le contenu du jeu pour garder des joueurs plus longtemps, inciter les joueurs non abonnés à s'abonner pour y avoir accès, et faire de la publicité auprès des joueurs qui ne connaissent pas encore le jeu, mais qui entendront parler de l'extension ou de la mise à jour.
Lorsqu'il y a un problème technique, une faille ou tout autre problème qui porte atteinte à la qualité et à la popularité du jeu, nous faisons (consciemment ou non) le calcul suivant :
Soit X le nombre d'abonnés que nous risquons de perdre à court terme et à long terme si le problème n'est pas résolu.
Soit Y le nombre d'abonnés que nous allons garder ou gagner grâce à la prochaine mise à jour.
Tant que X < Y la correction d'un problème ou d'une faille n'est pas prioritaire.
Expliqué de façon aussi abrupte, je comprends que cela puisse vous choquer.
Et pourtant c'est un raisonnement appliqué partout, et c'est un raisonnement "intelligent" lorsque vous devez générer du profit pour continuer à faire fonctionner votre entreprise.
De plus dans le cas d'une entreprise (comme Ankama) qui réinvestit l'intégralité de ses bénéfices directement dans ses activités (sous forme de moyens humains ou matériels), c'est un excellent calcul à long terme, gagner plus pour réinvestir plus.
Sans ce mode de fonctionnement, DOFUS ne serait jamais ce qu'il est devenu aujourd'hui, ne l'oublions pas.
Tout ça pour dire que oui, certaines failles sont connues par l'équipe d'Ankama depuis très longtemps (le problème d'invisibilité par exemple), certaines failles potentielles sont également connues depuis longtemps, et ne sont pas corrigées tout de suite.
Les failles "simples" à corriger sont toujours corrigées très rapidement (en quelques jours, parfois quelques heures).
Les failles beaucoup plus complexes à corriger sont traitées suivant leur gravité et leur impact sur le jeu (cf calcul avec X et Y).
La correction de certaines failles peut parfois demander plus d'une semaine complète de travail, ce qui retarde d'autant plus la sortie des mises à jour suivantes. Il n'est donc pas possible de prendre l'initiative de corriger de telles failles sans estimer l'impact (positif ou négatif) de cette "perte" de temps sur l'ensemble du projet.
Pour tout ce qui est communication, nous évitons de trop communiquer à propos des failles du jeu, tout simplement pour ne pas donner de mauvaises idées à certains joueurs qui préfèrent dégrader le jeu plutôt que d'y jouer.
Annoncer publiquement qu'il existe une faille (même sans expliquer son fonctionnement), c'est s'assurer que des centaines de joueurs vont essayer de la trouver et de l'exploiter.
Nous évitons donc de communiquer à propos des failles du jeu.
Lorsque nous avons annoncé que certains objets avaient été perdus dans les HDV à cause d'un problème de base de données, ce n'était pas un mensonge.
Les données relatives aux HDV sont sauvegardées toutes les 12 ou 24 heures (je ne sais plus exactement), elles sont donc sauvegardées indépendament des personnages (qui sont entre autre sauvegardés lorsqu'ils se déconnectent).
Lorsqu'un rollback à partir d'une sauvegarde non parfaite doit être effectué, nous devons prendre une sauvegarde des HDV qui est désynchronisée par rapport aux sauvegardes de certains personnages, ce qui explique certaines pertes.
La faille des HDV dont tu parles a été corrigée dans les heures qui ont suivi sa découverte (elle était jugée critique).
Le lendemain matin, les serveurs étaient mis à jour et la faille corrigée en ligne.
Il est vrai que tu devais l'exploiter depuis peut-être plusieurs mois.
A notre connaissance, tu n'as jamais pris la peine de la reporter, tu sembles en avoir même largement profité.
Quelle noble attitude de venir nous reprocher de ne pas avoir corrigé cette faille assez rapidement, une fois que tu étais pris la main dans le sac, alors que tu exploitais cette faille depuis "longtemps".
Tu affirmes avoir reporté toutes ces failles au support depuis très longtemps.
Si tel est le cas, tu peux m'envoyer les références de tes tickets du support, je me ferai un plaisir de constater moi-même qu'il y a effectivement eu un gros dysfonctionnement entre l'équipe qui gère le support et l'équipe qui travaille en production.
A propos de la faille sur l'invisibilité, c'est effectivement un problème connu de l'équipe depuis très longtemps (depuis la conception du système d'invisibilité je pense).
La correction de ce problème implique une gestion quasi totale de l'invisibilité au niveau du serveur, et un travail assez conséquent.
Mon collègue avait déjà commencé à travailler là-dessus il y a plusieurs mois, mais n'a pas encore eu le temps de revoir l'ensemble de ce système.
Il ne s'agit pas de rajouter quelques conditions comme tu le prétends, mais bien de repenser et redévelopper toute une partie du système actuel.
Cette faille n'est pas considérée comme une faille critique, ce qui explique pourquoi sa correction prend autant de temps.
Pour les fausses références d'objets envoyées via les canaux de discussion, c'est également une faille connue depuis la conception du système.
Il n'est pas possible de faire une vérification au niveau du serveur pour l'envoi des caractéristiques des objets récupérés depuis n'importe où (les HDV par exemple, les modes marchands etc..).
Nous avons préféré proposer aux joueurs cette fonctionnalité très utile en sachant que certains petits malins s'amuseraient à envoyer de fausses informations (ce qui n'a concrètement aucune incidence sur le jeu, puisque ce ne sont que des problèmes d'affichage dans les canaux de discussion), plutôt que de ne rien faire. C'est un choix certes discutable, mais qui nous revient tout de même.
Pour la faille de la foire du Trool, c'est une faille connue depuis la conception des jeux de la foire du Trool, qui sont gérés entièrement au niveau du client. Elle n'a dans l'absolu aucun impact puisqu'elle ne permet pas de gains particuliers excepté pour les jetons de la foire du Trool.
La vraie faille se situe plus dans l'utilisation qui a ensuite été faite de ces jetons. Mais c'est en cours de correction.
Le fait que certains aspects du jeu ne soient gérés qu'au niveau du client n'a rien d'exceptionnel.
Certaines fonctionnalités ne peuvent être gérés efficacement au niveau du serveur, car elles sont trop complexes à gérer par le serveur (et très simple depuis le client), et/ou parce qu'elles nécessiteraient énormément de ressources pour être gérées par le serveur.
Le mmorpg le plus "populaire" au monde (pour ne pas le citer !) gère l'intégralité des déplacements des joueurs et des collisions au niveau du client...
Une simple édition de paquets vous permettra alors de voler, de vous téléporter dans le dos de vos adversaires, ou de traverser n'importe quel mur.
C'est un choix pour économiser les ressources du serveur, qui finalement n'affecte pas réellement le gameplay, les joueurs honnêtes s'amusent beaucoup, les tricheurs se font prendre de temps en temps, un certain équilibre est trouvé.
Quant au cryptage des données qui transitent entre le client et le serveur, ce n'est pas une solution en soi.
Le cryptage finirait de toute façon par être cassé, comme pour la totalité des jeux qui ont utilisé un cryptage pour leurs transferts de messages.
Théoriquement, il faudrait générer de nouvelles clefs de cryptage plus rapidement qu'elles ne sont "cassées", ce qui est très lourd à gérer, sans compter les ressources perdues à crypter et à décrypter les messages envoyées et reçus par le client ou le serveur.
Il est certain qu'un cryptage des données rendrait l'exploitation des paquets qui transitent plus complexe pour les non initiés.
Mais pas pour les autres, et ce ne sont pas les non initiés qui posent problème en règle générale.
Je ne compte pas m'étendre sur les "problèmes" de bannissement par IP.
Nous ne bannissons pas les IP, sauf de façon temporaire lorsqu'il s'agit d'attaques répétées sur nos serveurs.
En revanche, lorsque nous bannissons un compte, nous faisons également une recherche par IP sur des laps de temps très courts, afin de déterminer quels sont les autres comptes liés au compte qui doit être sanctionné (bah oui sinon c'est trop facile, il suffit de créer un compte bidon de faire des conneries avec et hop, on est tranquille !).
Si les joueurs partagent leur machine avec des tricheurs, tant pis pour eux, ils devront se justifier via le support pour prouver leur innocence.
S'ils n'ont aucun moyen de prouver leur innocence, et bien tant pis, le compte restera sanctionné.
C'est bête et méchant, mais terriblement efficace, et nous ne pouvons pas faire autrement, si nous ne voulons pas permettre à n'importe qui de faire n'importe quoi sur le jeu en toute impunité.
Je ne vais pas non plus m'étendre sur les histoires de favoritisme dont vous parlez.
Certains problèmes sont traités plus rapidement par le support tout simplement parce qu'ils peuvent être traités très rapidement.
C'est un peu comme lorsque allez faire des courses avec votre énorme caddie et que vous laissez passer devant vous la personne qui n'a que trois croissants dans son sac (oui je suis très fier de mon exemple, merci).
N'oubliez pas non plus que vous avez des humains qui gèrent le support, même s'ils s'efforcent de rester impartiaux lors de la gestion des problèmes des joueurs, il ne faut pas non plus leur reprocher de traiter (exceptionnellement) plus rapidement le joueur respectueux, de celui qui nous insulte depuis deux ans.
Ne nous demandez pas l'impossible, on ne peut pas avoir le comportement d'un robot et la proximité que vous nous demandez.
Alors bien entendu, vous aurez toujours des joueurs qui auront un screen à la con qui date de deux ans, et trois rumeurs foireuses colportées via téléphone arabe par les commères du serveur, qui "prouveront" que le support a favorisé une personne en l'an de grâce 1785, et je n'aurais aucun moyen de contredire ce qui a été avancé, à part en vous expliquant que ça fait partie des 0.01% d'erreurs tolérées dans le système et que ça ne se reproduira plus, et qu'il ne faut pas en faire une généralité.
Pour la censure des messages sur les forums officiels, c'est assez simple à expliquer.
Depuis l'existence de ces forums, nous expliquons qu'il ne s'agit pas du support. Certains ne comprennent pas et viennent balancer leurs problèmes dont tout le monde se contrefiche, puisque personne à part le support ne peut les aider.
Quand on trouve 49 occurrences d'un problème sur les forums, il en existe 48 de trop.
Nos modérateurs préviennent, ferment les sujets, et puis finissent par les détruire parce que mine de rien, parfois ça fait mal aux yeux de voir autant de conneries concentrées sur un espace aussi restraint. Et puis il faut bien respecter un certain équilibre dans la force, sinon on sait tous où ça nous mène.
Les sujets qui détaillent également comment tricher ou exploiter certaines failles sont supprimés sans préavis, on préfère éviter l'anarchie sur le jeu.
Nous laissons cependant une liberté d'expression à nos joueurs, sur nos forums assez importante.
Nous ne sommes pas des partisans de la censure, loin de là, nous aimons entendre ce que les joueurs veulent dire, mais nous ne voulons pas que la qualité de nos forums soit dégradée par les interventions d'une minorité de joueurs.
Et le mot de la fin...
Contrairement à ce que certains peuvent avancer, il n'y a pas 50 développeurs qui travaillent sur le projet DOFUS.
Il y a un développeur sur la partie client, un développeur qui travaille sur les outils annexes, et un développeur sur la partie serveur.
Oui, il n'y a qu'une seule personne qui potentiellement est à même de corriger les failles du serveur et de le sécuriser.
C'est la même personne qui travaille sur les évolutions à apporter sur la partie serveur à chaque nouvelle mise à jour.
JOl semble être un vivier de talentueux programmeurs au talent encore inexploité, ça tombe bien, nous recherchons plusieurs développeurs pour travailler sur la partie serveur de DOFUS, nous serons heureux de vous payer votre billet d'avion pour venir jusqu'à Tourcoing si vous savez faire vos preuves et vous montrer persuasifs.
Nous serions très heureux de rencontrer et d'embaucher la personne qui a clamé sur IRC être capable de pondre un serveur DOFUS "20 fois plus sécurisé et 2 fois plus rapide" que celui utilisé actuellement.
Rassurez-vous, nous ne vous demanderons pas de venir vous justifier sur les forums et de répondre de façon polie aux propos diffamatoires sur votre travail, votre entreprise, ou vos collègues, et peut-être bientôt sur vos enfants, votre bataille, le fruit de vos entrailles !
Je ne vais cependant pas vous faire l'affront de vous faire un cours de comptabilité pour vous expliquer la différence entre le chiffre d'affaire et les bénéfices, ou encore un cours d'économie sur la gestion du profit dans un univers capitaliste.
Voilà vous pouvez commencer votre troolage "bande de noobs".
PS : (Le "bande de noobs" c'était uniquement pour faire une référence à une oeuvre littéraire majeure de notre décennie, à savoir, le manga DOFUS tome 3, que je vous conseille vivement d'acheter, ça nous fera des méga tonnes de thunes).
|