C# Emulateur Dofus 2.3.7 - Sunshine

Inscrit
19 Septembre 2015
Messages
32
Reactions
0
#21






échange entre joueurs terminé, demain j'attaquerai les pnj's shop
 
Inscrit
25 Février 2012
Messages
180
Reactions
1
#22
Les échanges sont bien sécurisés?
Et y a un "WorlServer" dans les logs, il te dérange pas? xd
 
Inscrit
4 Decembre 2016
Messages
32
Reactions
0
#26
Tu t'en protèges comment de ça.?
Je prend un exemple tout con, lors d'un échange il y a plusieurs chose à vérifier

non exhaustif :

- Si la cible à qui on lance l'échange est effectivement connectée et valide.
- Si lors d'un échange, l'item que le joueur veut échanger existe vraiment et est possédé par celui-ci.
- Bien vérifier si les deux joueurs sont prêts à échanger.

Et ainsi de suite, de manière générale il ne faut jamais faire confiance au client, car techniquement il peut t'envoyer n'importe quoi comme la demande d'utilisation d'un sort lors d'un combat alors que c'est pas ton tour ou une demande de sort en dehors de la portée, par exemple.

Ça se passe toujours comme ça avec le modèle client serveur
un peu plus d'informations à ce sujet :

https://news.ycombinator.com/item?id=11583008
https://www.reddit.com/r/gamedev/comments/6bpid7/never_trust_the_client/
 
Dernière édition:
Inscrit
25 Février 2012
Messages
180
Reactions
1
#27
Tout à fait Naywyn.
Je demandais aussi pour savoir si quand le contenu de l'échange change, il faut attendre ~2s avant de pouvoir cliquer sur Prêt encore, et d'autres truc ^^
 
Inscrit
19 Septembre 2015
Messages
32
Reactions
0
#28
Les échanges sont bien sécurisés?
Et y a un "WorlServer" dans les logs, il te dérange pas? xd
Oui c'est sécurisé, et j'ai oublié un d dans le worldServer en effet x) je n'ai jamais fait gaffe, merci
 
Inscrit
18 Avril 2018
Messages
1
Reactions
0
#30

Bonjour, le projet continue-t-il?
 
Inscrit
19 Septembre 2015
Messages
32
Reactions
0
#31
Bonsoir, après un long moment d'absence, je reprends le projet.
 
Inscrit
19 Septembre 2015
Messages
32
Reactions
0
#32
https://discord.gg/vgCaGvC Discord du projet, actuellement j'ai terminé le système de quêtes et j'ai beaucoup avancé sur les spells et les classes, le zobal est totalement debugs ainsi que 70% des sorts des classes.
 
Inscrit
25 Novembre 2015
Messages
172
Reactions
8
#33
Une application côté serveur développé sous un framework windows only ? C'est un curieux choix, avec .NET Core qui est sorti en 2016 (rewrite complet du .NET framework avec beaucoup d'optimisation et beaucoup de nouvelles feature entre autre...).
Aussi, pourquoi avoir choisi mysql comme database provider quand on sait que c'est le provider qui scale le moins et qu'une application côté serveur (outre les performance) dois être designé pour scale ? Et pour aller plus loin, la façon dont tu gère ta database est vraiment primitive, il existe des ORM (object-relationnal mapping), notamment Entity Framework et ServiceStack pour ne citer qu'eux, qui sont performant, bien designé, et avec des surcharges de méthodes async pour la TPL. (la façon dont tu gère le multi threading est encore + primitive au passage)

Ce qui nous amène au prochains point : les tests unitaire. Comment évaluer ton code si il n'y a rien qui prouve qu'il fonctionne ? Faire des test unitaire cela permet d'une part de prouver par a+b que ton code fonctionne, et d'autre part cela t'influence a bien respecter les principes de la programmation orienté objet (si ton test assert trop de chose ou est trop long cela veut dire que ta classe est mal designé, qu'elle fait trop de chose et que tu peux déléguer certaines responsabilités ailleurs etc...)

Quid du pattern singleton ? On utilise un container IoC, et on utilise un service locator pour accéder a son container, c'est une question de maintenabilité et de testabilité... (cf. : https://www.dotnetcurry.com/patterns-practices/1350/singleton-design-anti-pattern-csharp)

Quid de la gestion de la mémoire et du fonctionnement du garbage collector en C# ? (qu'il vaut mieux connaitre pour éviter d'aller à contre-sens et créer des bottleneck)

Quid des pattern de développement qui existe dans le jeu vidéo pour faciliter le développement et rendre testable les composant d'un jeu ? Cf. http://guillaume.belz.free.fr/doku.php?id=ecs & https://github.com/Eastrall/Rhisis/tree/develop/src/Rhisis.World pour un exemple "concret" (sur flyff)

En tout cas bel avancement dans le projet, je te souhaite bon courage pour la suite !
 
Dernière édition:
Inscrit
19 Septembre 2015
Messages
32
Reactions
0
#34
Une application côté serveur développé sous un framework windows only ? C'est un curieux choix, avec .NET Core qui est sorti en 2016 (rewrite complet du .NET framework avec beaucoup d'optimisation et beaucoup de nouvelles feature entre autre...).
Aussi, pourquoi avoir choisi mysql comme database provider quand on sait que c'est le provider qui scale le moins et qu'une application côté serveur (outre les performance) dois être designé pour scale ? Et pour aller plus loin, la façon dont tu gère ta database est vraiment primitive, il existe des ORM (object-relationnal mapping), notamment Entity Framework et ServiceStack pour ne citer qu'eux, qui sont performant, bien designé, et avec des surcharges de méthodes async pour la TPL. (la façon dont tu gère le multi threading est encore + primitive au passage)

Ce qui nous amène au prochains point : les tests unitaire. Comment évaluer ton code si il n'y a rien qui prouve qu'il fonctionne ? Faire des test unitaire cela permet d'une part de prouver par a+b que ton code fonctionne, et d'autre part cela t'influence a bien respecter les principes de la programmation orienté objet (si ton test assert trop de chose ou est trop long cela veut dire que ta classe est mal designé, qu'elle fait trop de chose et que tu peux déléguer certaines responsabilités ailleurs etc...)

Quid du pattern singleton ? On utilise un container IoC, et on utilise un service locator pour accéder a son container, c'est une question de maintenabilité et de testabilité... (cf. : https://www.dotnetcurry.com/patterns-practices/1350/singleton-design-anti-pattern-csharp)

Quid de la gestion de la mémoire et du fonctionnement du garbage collector en C# ? (qu'il vaut mieux connaitre pour éviter d'aller à contre-sens et créer des bottleneck)

Quid des pattern de développement qui existe dans le jeu vidéo pour faciliter le développement et rendre testable les composant d'un jeu ? Cf. http://guillaume.belz.free.fr/doku.php?id=ecs & https://github.com/Eastrall/Rhisis/tree/develop/src/Rhisis.World pour un exemple "concret" (sur flyff)

En tout cas bel avancement dans le projet, je te souhaite bon courage pour la suite !
Salut, je sais que le .NET Core est plus performant que le .NET standard mais quand j'ai commencé ce projet vers 2017, il était trop tard pour changer, je n'avais pas envie de tout remodifier mon code ou de recréer le projet donc j'ai continué en .Net, concernant mon ORM j'utilise Dapper qui est assez simple d'utilisation, quand j'ai commencé ce projet, je n'étais pas assez compétent et manque de connaissances, j'ai quand même envie de continuer ce projet ainsi que de voir ce que ça donne in game même si je sais que des erreurs sont flagrantes surtout côté multi threading comme tu le dis mais mon code simple peut permettre à des gens de vouloir créer un émulateur sans forcément trop de complexités.
 
Inscrit
25 Novembre 2015
Messages
172
Reactions
8
#35
Oups my bad, j'ai pas vraiment regarder la db logic, dapper c'est fine même si je préfère entity framework.
Oui bien sûr, je n'étais pas en train de dire que ton émulateur est à jeter, au contraire, je précisait juste pour les personnes averti que ce n'est pas un émulateur fait pour de la prod et je t'invite vraiment à te documenter du côté de l'Entity Component System ainsi que de commencer à faire des tests unitaire.
 
Inscrit
19 Septembre 2015
Messages
32
Reactions
0
#36
Oups my bad, j'ai pas vraiment regarder la db logic, dapper c'est fine même si je préfère entity framework.
Oui bien sûr, je n'étais pas en train de dire que ton émulateur est à jeter, au contraire, je précisait juste pour les personnes averti que ce n'est pas un émulateur fait pour de la prod et je t'invite vraiment à te documenter du côté de l'Entity Component System ainsi que de commencer à faire des tests unitaire.
Je prends note, merci
 
Inscrit
22 Juillet 2018
Messages
83
Reactions
7
#37
Hello,

Petite review de ce projet après avoir parlé avec ce développeur remplis d'arrogance.

Je vais juste lister quelques erreurs, pas toutes car la notion d'infinie est probablement trop abstraite pour un humain.

- Une absence de POO, ou du moins ses bien fait...faire des classes c'est bien, comprendre pourquoi on les fait, c'est mieux.
- De l'asynchrone ! Super, dommage que tu utilises un pattern de 2010.
- De la concurrence ! Du static ! Où sont mes mutex ? Ignorance totale des primitives de synchronization...bonjour les data races
- Absence de tests unitaires, d'intégration (et soyons fou : d'end-to-end)

Bref, en plus de proposer un projet bancal à souhait, cet homme est arrogant et n'accepte pas la critique.

Je te souhaite beaucoup de courage pour maintenir ta poubelle, mais s'il te plait - ne partagez pas vos projets si vous ne savez pas ce que vous faites,
vous ne faites qu'induire les débutants en erreur et c'est à cause de gens comme vous que les ESN envoient des millions en Inde.

Je te souhaite aussi bonne chance pour ta reconversation en pompier car c'est la seule façon où tu pourras mettre quelque chose à l'échelle.

DrBrook.
 

MaSTeR

Rédacteur
Inscrit
20 Septembre 2016
Messages
27
Reactions
2
#38
Hello,
Je te souhaite aussi bonne chance pour ta reconversation en pompier car c'est la seule façon où tu pourras mettre quelque chose à l'échelle.
Ça c'était drôle, en tout cas si c'est bien vrai, c'est bien dommage Unter, connaissant Nameless qui a beaucoup travaillé avec DrBrook ses critiques ont toujours été froides certes mais constructives.

Après DrBrook concernant le fait que le projet soit public alors certes je suis d'accord, si certains nouveaux se basent dessus, ils risquent de négliger certains fondamentaux mais concernant Unter ça ne peut être que du plus.
La preuve si avec du recul il se dit qu'il y a bien un problème, des choses qu'il faut changer et j'en passe, alors l'utilité d'un projet public prend tout son sens.

Auquel cas si il reste fermé et refuse toutes critiques, c'est bien dommage et on en vient au fait que l'utilité de publier le projet en devient inutile.

À bon entendeur évidemment. ;)
 
Inscrit
19 Septembre 2015
Messages
32
Reactions
0
#39
Bonjour, le projet est toujours d'actualité, les maisons ont été développé, les IA's, les uqêtes ainsi que les métiers ainsi que le FM, d'ou j'ai décompilé les sources d'un autoit, actuellement je suis sur l'élevage mais je recrute des personnes motivés concernant la base de donnée,.

Discord: https://discord.gg/vgCaGvC

Elevage en cours : https://puu.sh/DXqoS.mp4

Gif animation : https://puu.sh/DXrmo.gif

Je ne suis pas ici pour venir me vanter de mon travail mais pour rechercher des personnes autant motivés que moi.

PS : l'open source est arrêté.

ApplicationFrameHost_h3nBGA7dkT.png ApplicationFrameHost_GmPSrWJvAf.png ApplicationFrameHost_WAiVdMwn38.png ApplicationFrameHost_Tp0MqmYghd.png Dofus_tKHcfRIhpX.png devenv_6MWuVYkj7p.png devenv_XOBx1MFEOj.png Dofus_sa8IyePoiK.png

devenv_R0qSqwZjbo.jpg Dofus_P35h2c7VTE.png
 
Haut Bas