Hetarnam
Bonjour à tous !
je souhaites aujourd’hui vous faire part d’un projet actuellement en développement, qui sera un jour publié ici gratuitement en open source pour remplacer (j’espère) stump.
Ce projet est donc un émulateur 2.55, accompagné de beaucoup de tools, majoritairement en C#, pour créer un serveur complet (éditeur D2I, D2O, maps, générateur de protocol, etc.)
Il y aura également une boutique/achat d’orgrines disponible, développée en typescript permettant l’identification d’un client, l’exposition et achat d’objet, et d’orgrines.
Cet émulateur sera différent du reste pour majoritairement quelques solutions techniques qu’il embarque :
- .NET CORE 3 (bienvenue au cross-plateforme)
- Les dependencies injections (fini le pattern singleton partout)
- Le chargement des resources du jeu (elles ne sont plus en base de données mais directement chargées depuis les D2O/D2I/DLM au démarrage de l’émulateur, et stockées en cache, ce qui permet une immense flexibilité)
- Un ECS (entity component system, vous pouvez lire a ce sujet facilement, man Google)
- EntityFramework pour l’ORM (le gestionnaire de base de données et entités)
Il est fait de manière simple, sans ajouter de choses superflus, dans le respect des normes C# avec la meilleure architecture que j'ai pu imaginer et même si j'ai fait surement quelques erreurs, ça sera déjà une très bonne base.
Cet émulateur, commencé il y a 2 mois, contient déjà pas mal de chose, liste ici :
- Multiserveur
- Etat des serveurs (en cours de démarrage, en ligne, sauvegarde, etc.)
- Connexion, déconnexion, gestionnaire RSA
- Liste des serveurs, recherche d’amis
- Creation, suppression, et liste des personnages
- Cartes et déplacements
- Gestion des objets et de leur effets (inclut objets vivants et montures)
- Gestion des statistiques du personnage
- Titres et ornements
- PNJ vendeurs
Boutique :
La vue de la boutique est faite avec Bootstrap 3.0 pour le responsive, malheureusement pas plus récent car le navigateur intégré de flash ne supporte pas certains éléments, notamment
opacity
et
display: flex
Elle est connecté aux world(s) (le(s) world(s) se connectent à elle pour être plus précis) affin de récupérer des informations mais également de communiquer lors d'un achat pour attribuer l'objet au personnage.
- Authentification client
- Page d’achat d’orgrines/kamas
- Liste des objets/catégories
- Recherche
Screens :
Partie émulateur
Cliquez pour révéler
Cliquez pour masquer
Exemples de handlers avec/sans lecture de message, avec/sans injection

![img]()

Affichage console
![img]()
Partie jeu
Cliquez pour révéler
Cliquez pour masquer
Partie boutique
Cliquez pour révéler
Cliquez pour masquer
Ce projet sera utilisé un peu de temps pour faire un serveur, et une fois décidé il sera libéré au public.
Les tools en revanche seront publiés sur ce forum dans les section partage une fois complètement terminés, le gestionnaire I18N ayant déjà été partagé.
Si vous avez des questions ou des remarques n’hésitez pas, je vous tiendrais au courant des avancés ici accompagnés de photos.
Bonne journée/soirée