C# Orion émulateur Dofus 2.0.0

Inscrit
21 Février 2021
Messages
4
Reactions
4
#1
Bonjour à tous,

Aujourd'hui j'écris ce post pour vous faire part de mon projet actuellement en développement.

Logo-Orion.png

Il s'agit d'Orion, un émulateur Dofus basé sur la première version de dofus 2.0 (bêta) comme vous avez du le comprendre.

Jusque-là rien de bien fou me diriez vous.

Parlons du GamePlay :
le gameplay du serveur ce découpera en plusieurs parties, je m'explique.
Tout premièrement le serveur sera en mode Héroïque avec un système de déchu (si vous l'avez connu, si ce n'est pas le cas renseignez vous sur Google).
La mort ne sera définitive qu'en PvP (agressions).
Le serveur sera orienté Anka-like, en grande partie.
Bien sûr plein de choses sont à prendre en compte et encore à décider.

Parlons du client :
Le client sera modifié, comment ça ? Qu'es ce qu'il raconte celui là ?
Par préférence de mon côté certaines Interfaces vont se voir faire une refonte.
Dans un premier temps il y aura l'implémentation du bouton de restât dans le panel des caractéristiques du personnage ainsi que la création du message de restât lui correspondant.
Comme certaines personnes ne le savent pas forcément le client dofus 2.0 est très mal fait (ou fait à l'arrache), donc sur ce point j'hésite beaucoup.. les donnés du jeu sont stockées dans les fichiers en swf et non dans les d2o comme les versions plus avancées de Dofus, donc j'ai deux choix.
Stock toutes ces infos dans des collections chargés au lancement de l'émulateur ou bien les stockées en base de données (pour l'instant j'ai un petit parseur As3 fait maison grâce à l'aide de @Skinz, il fonctionne grâce aux regex mais je compte peut être à terme en faire un vrai parseur qui convertira les données en As3 et s'occupera de les ajouter en base de données (une sorte de DbSyncronyser me direz vous) enfin cela reste à voir).
Beaucoup de choses restes encore à voir et à décider.
Comme l'implémentation du tactical mode (ce qui me paraît un peut compliqué en soit).

Maintenant parlons un peut côté serveur :
Le projet est développé en Net.5 avec le langage C#9.
Pour le ProtocolBuilder il à été repris de AmaknaCore ProtocolBuilder et à été modifié par mes soins pour la version 2.0.0 du client.
Pour la communication client/serveur j'ai repris et modifié la lib Binny.IO de @Echandra.

L'émulateur se découpe en plusieurs parties.

- Orion.Common (qui gère les différentes configs en XML, contient le logger, charge les données du client (qui sont pour le moment stock en base de données), charge les types et les messages, Contient des extensions très utiles et bien d'autres choses)..

- Orion.Database (qui gère la base de données, chargement des tables au lancement, backups, création, update, suppression et tout cela via une interface et des attributs).

- Orion.DofusProtocol (qui contient tout le protocole comme son nom l'indique).

- Orion.Realm (le auth qui permet la connexion en jeu).

- Orion.Game (le World qui gère tout le côté in-game).

Pour le moment il n'y à seulement la connexion en jeu et la sélection du serveur qui à été fait.

Un discord communautaire sera bien évidemment ouvert prochainement pour ceux qui s'intéressent au projet.

Je mettrai à jour le post lorsque j'aurais plus d'informations à donner et que j'aurais avancé sur le projet.

Pour me contacter pour quoi que ce soit,
Mon discord : Orion#7448
 

Pièces jointes

Dernière édition:
Inscrit
14 Mai 2019
Messages
66
Reactions
22
#2
Hello,

C'est un projet super sympa. Le projet est en .NET 5 peux-tu un peu plus détailler sur la stack du projet (orm,networking,etc ..) :).
Je suis curieux :p, d'ailleurs, tu as Past un emulateur 2.0.0 si ca peut t'aider pour ton projet.

PS: En novembre tu auras une version LTS .Net 6 pour info
 
Inscrit
21 Février 2021
Messages
4
Reactions
4
#3
Hello,

C'est un projet super sympa. Le projet est en .NET 5 peux-tu un peu plus détailler sur la stack du projet (orm,networking,etc ..) :).
Je suis curieux :p, d'ailleurs, tu as Past un emulateur 2.0.0 si ca peut t'aider pour ton projet.

PS: En novembre tu auras une version LTS .Net 6 pour info
@Scheduler Bonsoir, que veux tu savoir de particulier sur le projet ?
Effectivement j'ai un peut regardé l'ému Past :)
Oui je suis au courent cette version est encore en preview pour le moment :)
Capture.PNG
 
Inscrit
14 Mai 2019
Messages
66
Reactions
22
#4
Oui effectivement :) Ma question c'est du coup pourquoi s'être tourné vers .NET 5. Tu utilises les libs kestrels (asp.net core) pour gérer le networking, pour le coté parsing / framing tu utilises les nouvelles apis pipelines/Memory<T>/Span<t> ect.. ?

PS :
1613929307947.png

Bonne soirée :)
 

Ten

Membre
Inscrit
11 Novembre 2020
Messages
8
Reactions
17
#6
Bon courage, si besoin d'aide n'hésite pas à me contacter
 
Inscrit
21 Février 2021
Messages
4
Reactions
4
#7
Oui effectivement :) Ma question c'est du coup pourquoi s'être tourné vers .NET 5. Tu utilises les libs kestrels (asp.net core) pour gérer le networking, pour le coté parsing / framing tu utilises les nouvelles apis pipelines/Memory<T>/Span<t> ect.. ?

PS :
Afficher la pièce jointe 559

Bonne soirée :)
Désolé pour la réponse tardive, je suis pas mal occupé en ce moment..
Si tu veut en savoir plus hésité pas à mp en privé ce sera plus simple, ou bien sur mon discord.
 
Haut Bas