Jump to content
SauriiK®

Bolgrot - Émulateur Dofus Touch

Recommended Posts

Bonjour/Bonsoir,

Aujourd'hui je partage un des récents travaux de Ten, il avait entamé le développement d'un émulateur à l'état de total PoC pour me faire kiffer la semaine quand j'avais envie de dev 2h un soir. Mais je n'ai plus l'envie de m'y consacrer d'avantages pour le moment, peux être dans l'avenir ?
Qui sait ... si la motivation de faire un serveur privé luireprends, mais seul c'est compliqué de rester motivé.

 

L'émulateur ne permet pas d'ouvrir de serveur en l'état, le Auth et le World ne sont pas connectés entre eux, j'ai une branch en local qui contient l'ajout de multi game et l'utilisation de micro service avec Orleans (https://github.com/dotnet/orleans ).

Il faudrait que je trouve la motivation de la terminer, je le partage juste pour aidez certains qui veulent se lancer où même regarder.

L'émulateur est en .NET CORE 3.1 si ma mémoire est bonne, pour la dernière version du client Dofus Touch si vous avez besoin d'aide pour patcher votre client je peux vous drop le miens c'est un client Lindo avec la source du jeu patché.

La base de données se génère automatiquement normalement, vous aurez juste à changer la connections à vos base de données dans les containers:
Bolgrot/Bolgrot.Server.Auth/Container.cs et Bolgrot/Bolgrot.Server.Game/Container.cs avec votre base.

Si il manque des choses demander moi en MP ou sur Discord j'updaterais le post, ou même le git.

Je conseille pour le coup d'avoir deux base de données différentes.

Listing des technos:

  • DI / IOC avec la lib Autofac
  • NLog pour toutes la parties de log
  • ORM avec la lib ServiceStack.OrmLite, il était prévu que je fasse pas mal d'audit sur les tables afin d'historiser énormément de chose donc le travail est peux être en chantier ou manque de réflexion
  • EmbedIO pour la partie WebSocket et HTTP
  • Symfony pour le scraping d'assets
  • et certainement d'autres que j'oublie ...


En termes de fonctionnalités:

  • Connexion via un compté créée dans la base de donnée (beaucoup de choses non faite ici)
  • Sélection du serveur de Jeu
  • Création d'un personnage
  • Sélection d'un personnage
  • Entrer en jeu
  • Déplacement du personnage sur la carte (manque la verif), avec changement de map
  • Début du spawn des PNJ si ma mémoire est bonne
  • Et j'en oublie probablement

Attention:

  • Le Auth et le Game ne sont pas reliés (le fix est dans une branch local).
  • L'account dans le game est en dur si ma mémoire est bonne (le fix est dans une branch local).
  • Aucune synchro avec les clients multiples c'est à dire si vous connectez deux clients sur la même map aucun ne se verra et ne pourra interagir
  • Pas mal de vérifications manquantes, car l'émulateur visait simplement à un usage local pour me faire kiffer à dev les soirs.
  • Du code probablement non opti à quelques endroits ou mal réfléchi je codais à une fréquence de 2h par semaine toutes les 2 semaines, donc beaucoup de parties bâclés.

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...