Se connecter

Savoir & Culture

Cours et Devoirs

Sujet : Qui rentre en prépa cette semaine ?
ClassPrepaElite
Niveau 9
13 septembre 2016 à 04:35:24

Veuillez m'excuser du double post, mais Warz j'ai pas pu te répondre la dernière fois car j'étais ban https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

Un émulateur WoW, ça consiste en pas mal de choses https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

Tout commença durant l'alpha de WoW en 2003/2004, une jeune pomme mal intentionnée parvint à mettre la main sur le client de WoW et à reverse engineer le protocole de connexion, d'ailleurs j'ai aucune idée de comment il a pu faire c'est un malade (ok j'imagine que c'est probablement le truc le moins dur à faire mais sans sniffer les paquets, ce qui trivialise la chose, je vois pas : il n'y avait aucun serveur blizzard qui tournait encore à l'époque, je précise, donc on pouvait rien sniffé à part des rails de c0k3) https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

Donc oklm le mec a pu se connecter en jeu, rien ne marchait mais il pouvait au moins se balader et découvrir les zones du jeu, ce qui fit clairement chier Blizzard au point où ils déposèrent plainte https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

C'est là les grandes lignes d'un émulateur WoW : émuler le serveur (on devrait dire émulateur de serveur WoW mais personne ne va s'amuser à émuler autre chose que le serveur donc par abus de langage on dit émulateur WoW = émulateur serveur WoW) . Faire communiquer le client avec un autre serveur que celui de Blizzard est d'une trivialité sans nom, reste à ce que le serveur lui réponde les bonnes choses, et c'est là toute la complexité de la chose : il faut connaître WoW sur le bout des doigts pour être le plus fidèle possible, recréer TOUTE la base de donnée car tu te doutes bien que côté client on met le strict minimum en termes de données pour des raisons de sécurité et de taille https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg exemple trivial : Toi tu as créer WoW, et un monstre donné à une liste d'objets qu'il peut lacher. Toi en tant qu'algorithm engineer tu te dis : tiens on va gagner de l'espace sur le serveur, ces listes de drops des monstres on va le foutre dans le client et on ira chercher le drop correspondant du monstre directrement dans cette liste https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg Sauf que Jean-Omni a modifié son client et a fait en sorte que les lapins lachent des sets entiers d'armures ultra rares qui nécessitaient une année entière de tryhard https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

Le jeu est alors foutu https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

Bon, reprenons https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

La base de donnée, c'est super chiant à faire, car elle doit pouvoir communiquer avec tes programmes serveurs et il faut du coup s'assurer d'avoir toutes les bonnes structures de données pour que le code puisse facilement évoluer/être porter/être repris si jamais on a fait une connerie par-ci par là (d'où l'intérêt du génie logiciel et de très bien connaître le jeu :( )

Bon après une fois que tu as "designé" ta base de donnée tu laisses le stagiaire remplir les centaines de milliers de lignes (textes de quêtes, objets du jeu, propriétés de sorts etc...) https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

Sauf que t'as pas de stagiaire, tu fais du hacking là https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg ISSOU https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

La méthode la plus simple pour faire rapidement évoluer ton serveur, c'est de sniffer les packets de Blizzard, voir ce que le serveur répond, et faire en sorte que ton serveur réponde pareil, ce qui nécessite des compétences de cryptanalyse tout de même assez avancées https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

À partir de là, tu commences à avoir un truc solide, tu commences à comprendre tout le client du jeu et le serveur WoW, comment les "tâches" sont réparties et donc tu sais rapidement trouver une information https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

Le problème c'est que le travail est absolument colossal https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

Aujourd'hui il y a un serveur open source d'une qualité incroyable, plus stable que le serveur WoW officiel de l'époque, avec un peu + de bugs mais aussi des bugs en moins par rapport à l'officiel, écrit entièrement en C++. Le problème c'est que WoW évoluait beaucoup trop vite par rapport au développement des émulateurs, ce qui fait qu'aujourd'hui on a réellement que 3 émulateurs, dédiés à une unique extension chacun : Vanilla (aucune extension, le wow originel), Burning Crusade (1ère extension) et enfin Wrath of the Lich King (2ème extension) https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

Mais c'est pas plus mal car après WoW c'est devenu une DAUBE sans nom https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

Je passe vite fait sur le fait que le serveur gère bien plus de choses que juste les connexions et les drops de monstres heins https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg Il s'assure aussi du bon déplacement des joueurs, et ça par exemple c'est le client qui lui répond sa position tout les instants t, et rien n'empêche un hacker de répondre de se téléporter côté client, c'est au serveur de détecter que le mec triche, et des cas comme ça où on peut abuser du client il y en a des milliers, donc déjà un serveur incorpore forcément une problématique " anti cheat " extrêmement complexe. Dès que le client a une réponse à fournir au serveur pour telle ou telle fonction du jeu, il faudra penser à tout ce qu'un hacker peut faire.

Après t'as forcément une grosse partie algorithme, rien que pour gérer le déplacement des monstres/PNJ (d'un point de vue objet c'est la même chose) par exemple, vu que les monstres sont forcément côté serveurs sinon bonjour la synchro entre les joueurs et le cheat ... https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

D'ailleurs ils utilisent vraiment un A* pour le coup mais Blizzard l'ont fait faire par des stagiaires à tous les coups : ils ont une heuristique de merde dans leur algo, ça se voit assez facilement sur les serveurs officiels.

Côté émulateur, c'est encore moins bien, et c'est LE truc que je trouve le plus pourris : mon projet est donc de faire une refonte de leur système de path finding et de le commit https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

Mais le serveur privé dont je tairais le nom qui a fermé récemment, qui était un serveur vanilla, avait l'émulateur le plus poussé à ce jour (basé sur le serveur open source dont j'ai parlé) qui surpassait le serveur officiel de l'époque sur honnêtement TOUS les points. Mais vraiment TOUS. Son pathfinding était tellement au-dessus de celui de Blizzard que ça apportait carrément une autre dimension à la gestion des compagnons. C'était d'une pureté incroyable. Ils comptaient rendre leur émulateur open source (c'était des français d'ailleurs) mais Blizzard les as contactés pour discuter (ils venaient de faire fermer le serveur) et depuis ils sont notre espoir que Blizzard fasse des serveurs oldschool sur les vieilles extensions https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

J'espère t'avoir éclairer https://www.noelshack.com/2016-30-1469483972-risitas-intrigue.jpg

blue-tamere
Niveau 12
13 septembre 2016 à 04:51:40

http://www.actuabd.com/local/cache-vignettes/L450xH178/pd-3f0a8.jpg?1469029927

ClassPrepaElite
Niveau 9
13 septembre 2016 à 04:52:56

Le 13 septembre 2016 à 04:51:40 blue-tamere a écrit :
http://www.actuabd.com/local/cache-vignettes/L450xH178/pd-3f0a8.jpg?1469029927

dommage que tu sois encore puceau et moi 10 000 fois + BG que toi [[sticker:p/1lmb]]

Asservissement
Niveau 11
13 septembre 2016 à 07:40:56

Ce pavé :ouch2:

Morphisme
Niveau 10
13 septembre 2016 à 07:54:35

C'est une synthèse d'infos digne de Phoenix [[sticker:p/1jnh]]

Epitax
Niveau 10
13 septembre 2016 à 08:21:44

Plus que 11 pages :bave:

[192_WARS]v3
Niveau 10
13 septembre 2016 à 08:42:15

Du coup c'est la même chose que les serveurs privés sur lesquels mes potes jouaient à l'epoque ? [[sticker:p/1jnh]]

[192_WARS]v3
Niveau 10
13 septembre 2016 à 08:42:55

Le 13 septembre 2016 à 08:21:44 Epitax a écrit :
Plus que 11 pages :bave:

Allez[[sticker:p/1ljj]] avant midi on splitte :banzai:

South_Killer
Niveau 10
13 septembre 2016 à 08:49:10

Slip en approche mon capitaine :noel:

Asservissement
Niveau 11
13 septembre 2016 à 08:51:22

Slip ?

[192_WARS]v3
Niveau 10
13 septembre 2016 à 09:06:14

Le 13 septembre 2016 à 08:51:22 Asservissement a écrit :
Slip ?

[[sticker:p/1lmb]]
Asservissement
Niveau 11
13 septembre 2016 à 09:15:37

Les chinois de ma classe qui disent sal's 😂😂

Morphisme
Niveau 10
13 septembre 2016 à 10:30:07

Et on dit : après que je serai [[sticker:p/1jne]]

eulerien-bis
Niveau 13
13 septembre 2016 à 11:18:04

Devinez qui est arrivé 40 minutes en retard ce matin en cours de chaînes de Markov? https://image.noelshack.com/fichiers/2016/23/1465752390-elgobierno.png
TJFK https://image.noelshack.com/fichiers/2016/23/1465752390-elgobierno.png

[192_WARS]v3
Niveau 10
13 septembre 2016 à 11:34:31

Le 13 septembre 2016 à 09:18:18 AbeI a écrit :

https://youtu.be/py59kGoTl1E Ce malaise incroyable :peur: bordel de merde

Putain le mec qui balance des "ISSOU" je suis mort https://image.noelshack.com/fichiers/2016/23/1465752390-elgobierno.png https://image.noelshack.com/fichiers/2016/23/1465752390-elgobierno.png https://image.noelshack.com/fichiers/2016/23/1465752390-elgobierno.png

Frère, au WEI pendant les clips à visée humoristique de l'association vidéo de l'école, avec mon khey on arrêtait pas de lâcher des ISSOU et des LA CHANCLA super fort c'était excellent https://image.noelshack.com/fichiers/2016/23/1465752390-elgobierno.png

[[sticker:p/1jnh]]
En_Y
Niveau 10
13 septembre 2016 à 11:53:14

Le 13 septembre 2016 à 11:18:04 Eulerien-bis a écrit :
Devinez qui est arrivé 40 minutes en retard ce matin en cours de chaînes de Markov? https://image.noelshack.com/fichiers/2016/23/1465752390-elgobierno.png
TJFK https://image.noelshack.com/fichiers/2016/23/1465752390-elgobierno.png

on a perdu Douille de Malcolm mais il nous reste encore de nombreux Petits anges sur cette Terre [[sticker:p/1lmh]]

Enton
Niveau 10
13 septembre 2016 à 11:53:28

https://www.youtube.com/watch?v=T2MNon0g6KU

Putain ne me dites pas que ça vous fait rire sérieusement, là c'est le malaise absolu oui.

Hypobowling
Niveau 36
13 septembre 2016 à 11:54:53

Quelq'un peut m'expluquer les épigraphes ?
https://image.noelshack.com/minis/2016/37/1473730741-risitaspopn.png

Asservissement
Niveau 11
13 septembre 2016 à 12:32:07

10 pages :bave:

Asservissement
Niveau 11
13 septembre 2016 à 12:43:07

Le 13 septembre 2016 à 04:16:36 blue-tamere a écrit :
https://www.facebook.com/antonella.verdiani/videos/10206454664714129/
c'est beau les gadzarts passionnés

https://image.noelshack.com/fichiers/2016/30/1469450104-risitasdick.png

J'ai regardé sur linkedin, elle est vraiment gadz en plus. https://image.noelshack.com/fichiers/2016/31/1470494265-jesus7.png

Sujet : Qui rentre en prépa cette semaine ?
   Retour haut de page
Consulter la version web de cette page