Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Le prob des lags/crashs/decos de AO enfin trouvé...

Par jasba ven le 3/7/2001 à 3:20:00 (#477757)

et vi voila la news de AO.twister :

I was playing around with some net-scanners and packet sniffers earlier this evening, and doing some general brushing up with some networking books I have. It wasn't until about 2 hours into this process that it hit me like a ton of bricks.

"Funcom is using TCP!"

Okay, follow me through a little technical mind trip here for a moment. ALL current MMORPG's on the market use UDP as their protocol of choice over TCP. Why? A few very critical differences. UDP can be layered and streamlined to exclude any un-needed information... while TCP always uses a large amount of overhead and can NOT be streamlined at all. UDP is not as critical about missed packets in a streaming segment of information... whereas TCP requires all packets to be acknowledged (or ACK'd) and retransmits packet-segments IN SEQUENCE so they arrive ACK'd at the destination in order.

All of these seem like minor differences over all, but they make a critical performance difference on the whole. There are tons of machines that can hold thousands of UDP connections active at once, even tens of thousands. It is however almost impossible for any machine to hold that many sequential TCP connections active at once.... a thousand MAYBE... but never more. OSI, Verant, and Turbine all realized this while constructing the infrastructure of their online games. If you use UDP, servers can hold a higher number of simultaneous connections going at once... and missed packets from a UDP segment do not affect performance on the whole. Use TCP, and the servers not only can NOT keep 30,000 to 50,000 simultaneous connections going at once... but if a TCP packet segment is MISSED, then that stream of data pauses and RETRANSMITS the information until acknowledged... then continues the segment transmitting.

Basically here is what is going on with the server cluster at Funcom: Some 5,000 to 10,000 people log on within a very short period of time. The server cluster starts dropping packet segments and has to wait for retransmits. Short lag spikes get created. Another 10,000 people log on and the server starts dropping MORE packet segments which in turn means more retransmits... which creates longer lag spikes. This whole process builds up until the server cluster is missing SO many packet segments that it cannot even ACK the retransmits. The retransmits don't get ACK'd, so they RE-re-transmit... don't get ACK'd... etc etc ad nauseum.

Bingo, instant self-inflicting Denial of Service Attack. The server is actually TCP packet storming itself TO DEATH. The more people that log on the worse and worse it gets. That is why there are certain parts of the day when less than 5,000 people are logged in and the game is EXTREMELY playable. When it comes down to it, the only possible solution for this is either RECODING the game engine entirely to use UDP (and it would mean almost starting over from SCRATCH). OR.... switch over to a larger number of server clusters linked to a large Login Handler Server Cluster.... which will still only postpone the inevitable. I went over the numbers in my head for a good few hours. I checked and double-checked my information. Honestly... it's not good. Even if the Exodus situation DOES improve and they get a stable router setup... then the raw NUMBER of players connected at any give time to the server cluster will STILL induce the SAME problem.

donc en gros, Funcom utilise un mauvais protocole pour le jeux, enfin bon je laisse les spécialistes éclairé notre lanterne :rolleyes: en esperant quils vont nous changer tout cas.

Par Gol le 3/7/2001 à 17:25:00 (#477758)

Impossible de changer ça à ce stade, et d'après ce qui est écrit, ça me semble extremement grave.

Si un paquet est paumé (ça arrive tout le temps en ce moment avec les déco de tous le monde) il va etre envoyé a nouveau X fois. Et va faire lager de plus en plus le serveur jusqu'a l'explosion (le reboot sauvage du serveur)

Pas d'autre solution que de tout recoder toute la chaine de communication client-serveur.

Par Jagerden le 4/7/2001 à 1:06:00 (#477759)

tres rassurant...

Par stefanos348 le 4/7/2001 à 1:25:00 (#477760)

Il me semble que ce soit un prob de routing sauf éreure donc routeur plus performant.
Si non sa ce configure un routeur ...

Par Gol le 4/7/2001 à 8:12:00 (#477761)

Non non, ce n'est pas du tout un pb de routeur.
Il y a un post sur le forum AO qui explique tout ça. C'est un ingenieur reseau qui l'a posté, il travaille en UDP uniquement pour des raisons de stabilité et vitesse. Un must a lire ;)
D'apres ce type, c'est effectivement une très grosse erreur d'avoir utilisé le protocole TCP.
Enfin ... je ne suis pas ingénieur réseau moi non plus ... mais ce qui m'inquiète c'est que Funcom ne reagisse pas du tout à ce sujet alors que sur tous les autres pbs ils postent rapidement :(
J'aipeur qu'il y ait vraiment une grosse erreur de conception.

Par THEKKEHT le 4/7/2001 à 9:32:00 (#477762)

SI il on des problème de routeur et reseaux internes. Le gars qui a dit que c en TCP c pas un ingénieur je crois mais ca a suffit a faire bougez un peu funcom qui va faire prochainement un petit article la dessus pour que l'on sache ce qu'il en ai.

Par Talima le 4/7/2001 à 10:41:00 (#477763)

Bon bah y a une news des programmeurs de chez funcom ici :
http://community.anarchy-online.com/news/general/articles/131

Quand au sujet du TCP vs UDP, ils disent ceci :

The last thing is the discussion of TCP vs. UDP. Unfortunately I don't have time to browse the message boards - but I heard there are some questions about it. I'll answer some of those in a future update.

Donc peut-être une chance d'avoir bientot un avis officiel de leur part... du moins je l'espère car là impossible de rester ingame plus de 2min :mad: !

Talima.

Par Gol le 4/7/2001 à 10:51:00 (#477764)

Bien, au moins ils améliorent un peu leur beta. C'est déjà ça ;)
Par contre UDP/TCP, ça a l'air de pas les inquieter outre mesure. J'espere qu'ils ont raison de ne pas s'en faire...

Par JhalArn le 4/7/2001 à 12:52:00 (#477765)

lol, excellent ce thread... des mecs qui connaissent ni d'eve n'y d'adam, les besoins du jeu ni ses exigences techniques, affirment tout savoir de la solution... mouahahaha! excellent!

Par Gol le 4/7/2001 à 14:22:00 (#477766)

Débat lancé par JhalArn:
des mecs qui connaissent ni d'eve n'y d'adam

Orthographe : Des mecs qui connaissent ni d'eve ni d'adam.
Voila. La phrase est "correcte", mais n'a toujours pas de sens...

Tu voulais dire "des mecs qu'on connait ni d'eve ni d'adam" ? ou "des mecs qui n'y connaissent rien?" ou autre chose ?

Par jasba ven le 4/7/2001 à 14:23:00 (#477767)

vi moi perso jy connais rien , c pour ca que je demandais l'avis de certains, voila tout.On verra bien lannonce de Funcom :rolleyes: mais c pas une raison pour nous sortir un reply comme ca, la politesse ca coute rien ;)


reply pour JhalArn .

[ 04 juillet 2001: Message édité par : jasba ven ]

Par JhalArn le 4/7/2001 à 14:33:00 (#477768)

Y'a rien d'irreverencieux dans mes propos (c'est bien a moi que tu dis ca, je crois).
Moi je n'y connais pas beaucoup plus que vous sur le sujet. Mais, oui, ca me fait bien rire ce genre de thread, parce que tout le monde croit detenir la verité en 2 jours alors que les mecs de Funcom bossent quand meme depuis 4 ans dessus...

La seule chose qu'on peut faire, c'est constater que ca marche pas bien, ca oui...
Pour ma part, j'en suis, à mon deuxieme perso locké (ou perdu je ne sais pas), ca commence a me lasser.

(a Gol, amuse toi a critiquer le fond des choses plutot que la forme, tu verras... c'est mieux)

Par Gol le 4/7/2001 à 14:38:00 (#477769)

oui oui.

Par dark manticora le 4/7/2001 à 14:41:00 (#477770)

salut, je me suis renseigner au pres des programmeurs qui sont dans ma boite, et ils m'ont expliqué (en tres tres gros :) que je tcp envoyer toutes les infos dans l'ordre, c'es a dire que si un paquet perdu, il retourne le chercher d'ou certains bouchon (ce systeme est notamment utilisé pour tous les system de chat!)

Le udp qd a lui, si un paquet est perdu il s'en fout (je sais j'explique avec mes propre termes :))
Donc ca limite les bouchons

Voila en gros ce que j'ai compris :))
D'autre part il parait d'apres eux que ce n'es po tros dure de passer dd'tcp al'udp, etant donné que ce n'es qu'un protocole.

Enfin pour terminer, je pense personnellement que funcom doit avoir ses raison qd au choix du mod tcp, donc laissons leur nous l'espliqué, etant donné que c'es eux qui on devellope le jeu :)

Ps: on m'as dit aussi que le mode tcp etait plus compatible avec leur objectif: 1 seul gros serveur, et egalement que pour limiter le lag, ils doivent mettre plusieurs autre serveur poour diviser encore plus les zones :))

Voila

Par Tealc le 4/7/2001 à 15:09:00 (#477771)

Ben si c'est le cas il y a 2 choix qui s'offrent a FUNCOM soit :

1. Il va falloir qu'ils augmentent en conséquence les moyens serveur

2. Il reprogramment le protocole.

Ce dernier je le sens pas du tout, en étant donné que le jeu est déjà sorti je les vois mal commencer à reprogrammer un log.

Le silence de FC sur ce sujet m'inquiète car TOUT LE MONDE s'est rendu compte que quand tu joues le matin ça va à peu près (peu de joueurs) mais le soir c même pas la peine.

Par dark manticora le 4/7/2001 à 15:55:00 (#477772)

tjrs d'apres ce que j'ai compris, changer de protocole, ne genera en rien par exemple la sauvegarde des perso ect...

Mais bon, ca fais 4 ans qu'ils devellopent le jeu, donc perso je pense pas qu'ils aient choisi un protocol au hazard, et qu'ils doivent avoir une bonne raison :)

Donc attendant patiement leurs explication :D

Par stefanos348 le 4/7/2001 à 23:18:00 (#477773)

Il faut savoir que l'avantage du TCP est d'éviter les "packet loss". Dans un RPG l'intéteret s'est que sa évite qu'un monstre continue à faire des domages alors que le joueur lui soit "inactif" et qu'au moment ou il recoit le paquet suivant il ai perdu des "rounds" d'actions.

L'inconvénient s'est que le routeur doit gérer TOUS les paquets. Et quand il en manque un il attend qu'il arrive pour faire suivre les autres. (ils sonts numérotés et gérés dans l'ordre chronologiques) Dans le cas AO immaginez vous 20 à 50 paquets/seconde PAR joueurs mutiplié par le nombre de relais entre sa machine et le serveur et sa vous donne le nombre de loss possible... Entre-temps il doit garder les paquets suivants en mémoire avant de pouvoire les envoyers, d'ou surcharge et pour finir plantage.

Bon je simplifie et tout n'est pas forcément exacte mais le principe est simple.

Par Jagerden le 4/7/2001 à 23:38:00 (#477774)

J'ai jouer a AO ce soir, miracle pas de down-up a repetition.
Mais j'ai vu l'autre probleme, qui meme si il n'y a aucun down, t'empeche de jouer longtemps.

Ca m'a fait penser a un ballon qui se remplit d'eau, sans s'arreter.... il gonfle, gonfle, et finit par exploser.

Au debut ça aller, puis, plus je jouais, plus le lag/ecran figer, s'intensifier.
A la fin, dans un paysage tout simple, ou normalement, c'est parfaitement jouable, comme au debut de ma partie.
C'etait aussi pire que Newland, ou autre lag-city...
Ca a fini par planter.

Voila...
Oui blabla c'est une release, c'est normal, EQ etait aussi pire, ect ...
Mais bon, a ce rythme, mon compte va vite se canceler.

Par jasba ven le 5/7/2001 à 0:16:00 (#477775)

ben apres ya les prob des la gestion de la mémoire et du DD qui mouline à donf de chez donf :(

Par Jagerden le 5/7/2001 à 7:46:00 (#477776)

Disque dur qui gratte a fond ?
Bon ça me "rassure"... je suis pas le seul.
Ca me donne parfois l'impression qu'il lance un defrag durant AO...

Par dark manticora le 5/7/2001 à 10:11:00 (#477777)

tout pareil pour moi concernat le disque dure, d'ailleurs y as ca qui joue aussi sur les plantage, car desfois j'ai l'impression qude mon ordi capte plus rien qd ca commence a ramer et au bout d'un moment plantage :((

faudrait voire a ce qu'ils optimisent les codes du jeu aussi :))

Par dagoun le 6/7/2001 à 18:12:00 (#477778)

oi g tendudire que le protocole UDP etait pour l instant limite a 250 joueurs par serveurs (d ou la limite de t4c)voilou...

Par The ELD le 6/7/2001 à 19:09:00 (#477779)

bah les autres jeux utilise udp et ne sont pas limiter a 240 joueur (T4C ca tourne sous un 486DX :D c un joke)


Moi j'ai un soucis je joue a AO 5 mm et me fait bouger de mon FAI (aol)..........

Par dagoun le 6/7/2001 à 19:18:00 (#477780)

lol ben moi AOL il m a carrement vire (enfin c est pareil) vu que mon abo est passe de 200 a 327 frcs par mois lol

je parle meme pas de la facon dont y se foutent de ma gueule depuis le debut

resultas g l adsl dans 15 jours whaaaaa :)=

Par Glen Stryder le 7/7/2001 à 10:45:00 (#477781)

Tu verras lol, l'adsl ca change la vie!! :D

Par Dreadskulo le 8/7/2001 à 1:59:00 (#477782)

J ai deja discute au boulot pour d autres raisons que AO de TCP vs UDP pour ce qui est du Codage d un JEU et a part des jeux de type quake ou il faut savoir EXACTEMENT ou est l adversaire a un instant T ( pour savoir ou va se loger la boulette qu on tire ) y a AUCUN interet a TCP ....surtout pour un jeu de type MMORPG .......
Exemple Everquest ....vous vous etes jamais retrouve avec votre Pet qui continue de marcher 500 m plus loin puis qui subitement se retrouve a votre position ????
Ben c est du au fait que le paquet envoye par UDP a ete perdu et que vous etes resynchronise au serveur genre 10 secondes plus tard .....est ce grave que votre position a ete perdue pendant 10 secondes ??? NON surtout que ca evite de faire chier le serveur a vous attendre et donc de buter tout l ensemble ....Ce que fait TCP ..........puisque de bout en bout ca demande une validation ....validation avant d envoyer le paquet pendant et apres ......si une seule de ces validations foire t es bon pour recommencer la procedure .....pour un jeu a la quake qui se joue a 20 pelerins ca va ........mais pas la ....
Franchement en tant que programmeur le fait d utiliser TCP pour un jeu qui est cense faire tenir 100 000 personnes sur UN serveur ca me fait rire ......JAUNE ........ben Funcom y sont pas pres de voir mes sous ......

Par Katha le 8/7/2001 à 4:13:00 (#477783)

Ben dans EQ ton pet marchait 500m plus loin et les mobs aggro QUAND MM ton pet... bien que le problème venait surtt du "rafraichissement" des données client.. Et c t très diff à gérer, ça m obligeait mm à tuer mon pet dans les plaines (surtt fear et hate).

Enfin... Funcom est une société qui travaille dessus depuis 4 ans, et ils ne sont pas complètement attardés, et tt aussi qualifiés que d autes... Si c TCP il y a une raison, attendons la justification.

Sinon le HD qui tourne comme un defrag vient pour la plupart de problèmes de textures/données qui se chargent dans la mem virtuelle et plus dans la RAM (mm sous Win2k, avec 512 de RAM, AO accumule, accumule, et on se retrouve avec un prog qui tourne avec plus de 800 megs alloués (en pic) . Donc y a deux solutions:
- soit vous prenez plus de RAM (ne fait que repousser le prob plus loin, la mem va finir par se remplir)
- soit on log, on reboot (sous winme c fortement conseillé, ss win2k c plus gerable - on tue les processus un par un). Puis on évite les zones à fortes textures (villes comme Athen, avec en plus environ 500+ PCs, c terrible). Un bon moyen sinon, zoner dans la ville, logger, puis revenir tt de suite. Generalment, le HD commence pas à saturer avant bien 10 15 min (chez moi en tt cas).

C tt ce que je pense pour l instant...

Cya later!

JOL Archives 1.0.1
@ JOL / JeuxOnLine