Dysk
Nouveau membre
- 19 Mars 2026
- 3
- 5
- 3
- 31
Rejoignez Snow Bot avec Cheat-Gam3 et economisez 10% !
[PROJET] Otomai — Émulateur Dofus 2.57 en Rust
Lien du repo :
Projet d'émulateur serveur Dofus 2.57 (protocole 2.57.1.1 / Cytrus 5) écrit
en Rust, en développement actif. L'objectif est de couvrir l'ensemble de la
stack serveur avec une architecture modulaire et une base de code maintenable
sur le long terme.
== Pourquoi Rust plutôt que Java ? ==
La majorité des émulateurs Dofus existants (Stump et ses dérivés) sont écrits
en Java ou C#. Rust change la donne sur deux points concrets :
D'abord la consommation de ressources. Sur un VPS entrée de gamme, un serveur
Java avec quelques centaines de joueurs peut facilement monopoliser plusieurs
gigaoctets juste pour faire tourner la JVM. Rust est beaucoup plus sobre, ce
qui laisse de la marge pour faire tourner plus de joueurs sur la même machine
sans avoir à upgrader.
Ensuite la stabilité. Java peut introduire des petites latences imprévisibles
dues à sa gestion de la mémoire, ce qui peut se ressentir en jeu. Avec Rust,
ce problème n'existe pas, le serveur reste stable même sous charge.
== Fonctionnalités implémentées ==
Authentification complète : RSA+AES, liste de serveurs, redirection.
Connexion au monde : sélection et création de personnage, contexte de jeu,
chargement de map avec les autres joueurs et NPCs visibles.
Déplacement : validation du chemin, détection de speedhack, changement de
map avec calcul de la cellule d'arrivée, broadcast aux joueurs présents.
Combat PvE : placement, tours alternés, sorts, IA monstre, fin de combat.
Statistiques : HP, PA/PM, les six stats de base, points de stats et de sorts
par niveau, régénération hors combat.
Chat : canal général, commerce, recrutement, chuchotement.
NPCs : spawn sur les maps, apparences D2O, dialogues multi-étapes.
Quêtes : démarrage, objectifs (parler à un NPC, aller sur une map, découvrir
une zone), progression par steps, complétion.
Social : liste d'amis et d'ignorés persistée en base.
Émotes : 19 émotes disponibles, broadcast à la map.
Inventaire : contenu et poids envoyés au login.
== Toolkit inclus ==
data-reader : lecteur et éditeur de fichiers D2O, D2I, D2P avec interface web.
protocol-gen : génération du protocole complet depuis l'AS3 décompilé
(1069 messages, 323 types, 100 enums).
generator-rsa: patch du client SWF pour pointer sur un serveur local.
== Lancement ==
docker compose up -d
cargo run -p dofus-auth -- --auto-create
cargo run -p dofus-world
Projet à visée éducative, en développement actif. Les retours et
contributions sont les bienvenus.
Lien du repo :
You must reply before you can see the hidden data contained here.
en Rust, en développement actif. L'objectif est de couvrir l'ensemble de la
stack serveur avec une architecture modulaire et une base de code maintenable
sur le long terme.
== Pourquoi Rust plutôt que Java ? ==
La majorité des émulateurs Dofus existants (Stump et ses dérivés) sont écrits
en Java ou C#. Rust change la donne sur deux points concrets :
D'abord la consommation de ressources. Sur un VPS entrée de gamme, un serveur
Java avec quelques centaines de joueurs peut facilement monopoliser plusieurs
gigaoctets juste pour faire tourner la JVM. Rust est beaucoup plus sobre, ce
qui laisse de la marge pour faire tourner plus de joueurs sur la même machine
sans avoir à upgrader.
Ensuite la stabilité. Java peut introduire des petites latences imprévisibles
dues à sa gestion de la mémoire, ce qui peut se ressentir en jeu. Avec Rust,
ce problème n'existe pas, le serveur reste stable même sous charge.
== Fonctionnalités implémentées ==
Authentification complète : RSA+AES, liste de serveurs, redirection.
Connexion au monde : sélection et création de personnage, contexte de jeu,
chargement de map avec les autres joueurs et NPCs visibles.
Déplacement : validation du chemin, détection de speedhack, changement de
map avec calcul de la cellule d'arrivée, broadcast aux joueurs présents.
Combat PvE : placement, tours alternés, sorts, IA monstre, fin de combat.
Statistiques : HP, PA/PM, les six stats de base, points de stats et de sorts
par niveau, régénération hors combat.
Chat : canal général, commerce, recrutement, chuchotement.
NPCs : spawn sur les maps, apparences D2O, dialogues multi-étapes.
Quêtes : démarrage, objectifs (parler à un NPC, aller sur une map, découvrir
une zone), progression par steps, complétion.
Social : liste d'amis et d'ignorés persistée en base.
Émotes : 19 émotes disponibles, broadcast à la map.
Inventaire : contenu et poids envoyés au login.
== Toolkit inclus ==
data-reader : lecteur et éditeur de fichiers D2O, D2I, D2P avec interface web.
protocol-gen : génération du protocole complet depuis l'AS3 décompilé
(1069 messages, 323 types, 100 enums).
generator-rsa: patch du client SWF pour pointer sur un serveur local.
== Lancement ==
docker compose up -d
cargo run -p dofus-auth -- --auto-create
cargo run -p dofus-world
Projet à visée éducative, en développement actif. Les retours et
contributions sont les bienvenus.
Dernière modification par un modérateur: