Aller au contenu

← Tous les projets

2020 → 2022 Server Developer

Dofus Touch — Server engineering sur le MMORPG mobile

Dev serveur sur Dofus Touch, la version mobile du MMORPG d'Ankama. J'ai porté la roadmap technique côté serveur : features gameplay, pipeline de delivery, détection de bots, opérations.

  • Java
  • Maven
  • Nexus
  • GitLab Flow
  • GitLab-CI
  • Jenkins
  • Groovy
  • AWS EC2
  • Rundeck
  • Ansible
  • MySQL
  • PostgreSQL
  • ELK
  • AWS OpenSearch
  • Prometheus
  • Grafana

Contexte

Dofus Touch, c’est la version mobile d’un MMORPG français à grosse audience. Côté serveur, le code base a de l’historique, les joueurs sont sensibles au moindre lag de combat, et chaque déploiement raté se paie en tickets support et en posts Reddit.

Deux problèmes coexistaient en permanence : maintenir un flux de features gameplay sans casser le reste, et tenir la qualité d’expérience face aux bots — ces comptes automatisés qui farment, dégradent l’économie du jeu et pourrissent l’équilibre PvP.

Mon rôle

J’ai porté le scope serveur : ownership des features clés en Java, refonte du flow de dev et des pipelines, construction du service de détection de bots côté serveur.

Ce que j’ai construit

  • Daily Quests en Java — feature gameplay qui a contribué à une augmentation mesurable de la rétention
  • Refonte du flow de dev vers GitLab Flow, pensé pour absorber les hotfixes urgents sans casser les branches en cours
  • Dependency management propre avec Maven + repository Nexus
  • Service de détection de bots en Java par accumulation de poids côté serveur : chaque action joueur (clics, mouvements, patterns d’inventaire, séquences de combat) contribue à des compteurs pondérés. Quand le score franchit le seuil, le compte est flaggé. Le résultat : moins de comptes non humains dans le jeu
  • Pipelines CI/CD GitLab-CI + Jenkins, avec migration des scripts de déploiement de Bash vers Groovy pour avoir du code testable
  • Déploiements AWS EC2 avec stratégie image : push pre-prod → autorisation manuelle → réplication prod
  • Maintenance automatisée avec Rundeck + Ansible : flush RAM vers stockage persistant, upgrades, opérations récurrentes scriptées
  • Migrations DB versionnées sur MySQL et PostgreSQL
  • ELK centralisé sur AWS OpenSearch + APM pour avoir une vue unique des logs et des traces
  • Alertes critiques (CPU, RAM, indicateurs métier) et métriques Prometheus + Grafana

Les points durs : faire évoluer un service de bot detection sans pénaliser les vrais joueurs (faux positifs = procès interne immédiat), et industrialiser un flow de release qui survit aux hotfixes pendant un weekend de pic d’audience.

Résultats

Réduction effective des comptes non humains grâce au service de détection. Pipeline de release qui supporte les hotfixes sans rituel manuel. Observabilité unifiée qui permet de diagnostiquer en minutes au lieu d’heures.