Jump to content
Hetarnam

HetwanPHP pour Dofus 1.29

Recommended Posts

Bonjour à tous !

 

Je viens vous présenter mon dernier projet, un émulateur en PHP 7 pour Dofus.

Suite aux mises à jour de PHP, la gestion mémoire et les fonctionnalités permettent de faire un émulateur VIABLE en PHP, et je dis viable car ça ne veux pas dire super performant.

 

Pour le moment, il y a :

Login:
	Autentification avec panel de choix pour le pseudo si manquant
	Liste des serveurs (avec refresh en cas de maintenance/shutdown)
	Rechercher un ami
	Liste des serveurs ayant des personnages
	Gestion de l'abonnement
	Connexion a un serveur de jeu
	Multiserveur

Game:
	Connexion au serveur de login
	Autentification
	Liste des personnages avec affichage des objets
	Créer un personnage avec génération de noms aléatoire
	Supprimer un personnage
	Connexion en jeu
    	Gestion des caractéristiques
    	Déplacements
    	Changement de map
    	Chat (limité au continent pour commerce et recrutement)
    	Gestion des objets (avec conditions)

 

Le repo est privé/publique, à savoir que les versions stables sont mises sur : https://github.com/Hetarnam/HetwanPHP (qui n'est pas à jour pour le moment, à venir)

Mais les versions en dev sont sur un repo privé partagé avec les contributeurs, me demander si vous souhaitez participer !

 

Voilà voilà !

Bonne continuation à tous !

Edited by Hetarnam
  • Upvote 5

Share this post


Link to post
Share on other sites

PHP, drôle de choix ^^

Tu mets que tu as des connaisances en python et c, pourquoi ne pas avoir choisis Python ou même Cython ? Ca aurait été super

Edited by Ptico-toi

Share this post


Link to post
Share on other sites

Me semble que HetwanPy était stoppé car les capacités du langage ne permettait pas de faire un émulateur (selon les dires de Hetarnam)

Share this post


Link to post
Share on other sites

Python ne permettrait pas de faire un émulateur... Ce serait très étonnant...

Edited by Ptico-toi

Share this post


Link to post
Share on other sites

J’ai arrêté celui en python car je n’arrivais à faire quelque chose qui me convenait, surtout au niveau de l’architecture...

Les capacités du langage mainnerait à peut prêt au même niveau que celui en PHP mais je n’aurai pas envie de le maintenir si c’est pas propre...

J’ai essayé d’en faire un en C++, et je l’ai arrêté pour la même raison que en python, après si quelqu’un a une bonne architecture à proposé je suis preneur, surtout en python !

PHP ne s’avere pas aussi peu performant que je pensais, dans l’update qui va arriver dans la semaine, les résultats sur 10k connections en simultanées montrent que l’emulateur reste stable malgré les déplacements à 12mo, ce qui est vraiment peu, à voir quand tout sera étoffé

  • Upvote 1

Share this post


Link to post
Share on other sites

AH oui je vais tester, c'est une idée "originale"  s’avérant assez intéressante pour ceux ayant la flemme d’apprendre le java c++ etc ^^

Et en tout cas merci pour ce partage :) 

Share this post


Link to post
Share on other sites

UP: mise à jour faite !

Au menu :

Login :
Ajout de la sécurité si le compte est déjà en ligne sur un GS

Game :
Affichage de l'équipement (accessories)
Parsing et génération des objets
Ajout des statistiques du personnage (en fonction de l'équipement)
Affichage du/des joueurs sur la carte
Possibilitée de se téléporter en double-cliquant sur une map (pour les comptes administrateurs, packet BaM)

 

C'est pas grand chose mais ça m'a demandé beaucoup de boulot (... Game/src/Network/Game/Protocol/Formatter/GameMessageFormatter.php)

Bonne soirée/journée à tous !

Edited by Hetarnam
  • Upvote 1

Share this post


Link to post
Share on other sites

UP: push à venir ce soir, les ajouts:

 

Game:
Ajout du déplacement sur les maps (uniquement déplacement, pas changement de map) pour les acteurs
Change l'orientation d'un acteur
Gestion des conditions pour les equipements
Amélioration de la gestion des caractéristiques
Chaque personnage apparait sur la map prévue à cet effet (à Incarnam)
Gestion du chat

Acteur = joueur ou PNJ

 

Bonne journée/soirée à tous !

Share this post


Link to post
Share on other sites

Je ne pensais pas que cela était possible de faire un émulateur en PHP

Share this post


Link to post
Share on other sites

@Dysta moi non plus, mais finalement c’est pas aussi compliqué que ce que je pensais !

Et puis c’est plutôt stable alors pourquoi pas le mener jusqu’a ses limites !

Share this post


Link to post
Share on other sites

J'ai regardé un peu le code et finalement ça n'a pas l'air si différent que les émulateurs en Java (je parles au niveau de la structure), je vais m'y intéresser de près :)

Share this post


Link to post
Share on other sites

C’est parce que pour la partie network je me suis grandement inspiré de Shivas, qui est très propre dans son archi, pour le reste c’est un mix entre symfony pour la gestion des entitées, des helpers et puis quelques fioritures, j’ai fait en sorte que n’importe qui qui s’y intéressera pourra comprendre facilement ou est quoi

Share this post


Link to post
Share on other sites

Yop,

Le dev n'est pas mort juste long j'ai décidé de reprendre un peu tout vu que je m'y suis mal prit au niveau de l'architecture.

J'ai update le changelog, l'émulateur sera update sur le git d'ici quelques semaines une fois l'update terminé.

 

A venir : 

Realm:

Gestion de la file d'attente


Game:

Gestion de la file d'attente
Refonte du système de caractéristiques
Echange entre personnages
Implémentation des PNJ's
Début des combats

IMPORTANT :
Une database sera également fournie contenant le travail que j'ai fait à l'aide de https://github.com/arbll/dofus-key-finder pour récupérer toutes les maps du jeu. (environ 95% sont bonnes)
J'ai également ajouté les triggers valides de toutes les bases que j'ai pu trouver. (70% je dirais)
Tous les objets/panoplies viennent directement des langs du jeu, extraits à grand coups de regex.

 

Edited by Hetarnam

Share this post


Link to post
Share on other sites

Oh Tatarnam le retour. 

J'ai bien envi de voir la gestion de la BDD. 

En tout cas gg, mais dans le temps pense-tu vraiment que le PHP sera toujours aussi "bon" avec tout le contenu 1.29 ? 

Share this post


Link to post
Share on other sites

Dans le temps, à voir, mais je pense sincèrement que oui, j'essaye d'optimiser tout ce qui peut l'être, et le langage évolue aussi, alors bon...

Et puis vu qu'il est en PHP beaucoup de choses deviennent possible, comme une API REST qui pourrait tourner dans le même programme que le serveur est avoir accès à tout pleins de données utiles !

Le seul bémol c'est que plus je l'utilise, plus je me rend compte qu'il est plus fait pour linux que windows...

Share this post


Link to post
Share on other sites
Il y a 3 heures , Hetarnam a déclaré:

Le seul bémol c'est que plus je l'utilise, plus je me rend compte qu'il est plus fait pour linux que windows...

En aucun cas c'est un soucis car les serveurs sont plus axé Linux que Windows. Et puis avec un bon tuto ou une doc expliquant le fonctionnement de l'émulateur, le tour est joué

Share this post


Link to post
Share on other sites
Il y a 1 heure , Dysta a déclaré:

En aucun cas c'est un soucis car les serveurs sont plus axé Linux que Windows. Et puis avec un bon tuto ou une doc expliquant le fonctionnement de l'émulateur, le tour est joué

 

C'est sur, mais bon ça aurait été cool qu'il puisse être crossplat sans soucis...

Share this post


Link to post
Share on other sites

14/20. Bon trimestre, vous vous cherchez encore mais vous trouverez bientôt. Trop de bavardages tout de même.

Edited by Twoast
  • Upvote 1
  • Downvote 1

Share this post


Link to post
Share on other sites

OMG un emulateur en PHP ??

Bah ecoute je vais aller voir ça tout de suite, possible de fork ton repo et de bosser sur les src ? 

J'peux aider je gere bien le C,C++, c#, java et php :P

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...