Désactiver le délai TCP pour fix les pos bug de RO

Discussions générales sur Ragnarok Online.
Les annonces de ce forum sont à lire avant tout post sur l'ENSEMBLE des forums !
Le non respect des règles qui y sont énoncées entrainera un avertissement puis un ban !

Règles du forum
LIRE:

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar patos » 03 Déc 2008 16:03

C'est une connerie sans nom. Vous sabordez votre OS parce que des programmeurs ne savent pas faire leur travail.

Have fun.
\o/ [o] [o_ |o| !!

Avatar de l’utilisateur
patos
Rebirth - LV 98
Rebirth - LV 98
 
Messages: 8818
Inscrit le: 13 Déc 2004 22:23
Localisation: Ben je roule alors je bouge

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar myrtill » 03 Déc 2008 16:04

Béh si ca permet de moins lager, on va pas s'en priver ?
Car bon, on sait très bien que c'est pas gravity qui va changer quelque chose. Surtout que la méthode avec les .reg permet d'avoir un comportement habituel en dehors de RO.
Avatar de l’utilisateur
myrtill
Rebirth - LV 98
Rebirth - LV 98
 
Messages: 6367
Inscrit le: 12 Mars 2005 10:32

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar KoishA » 03 Déc 2008 16:18

Après 1h30 de test, c'est mieux, vraiment mieux, sans totalement faire disparaitre les posi bug.
Tu en subi encore, mais au moindre petit clic, tu est replacé au bon endroit directement.
Les dialogues avec les NPCs sont super rapides, à la forge ou pour convert des great nature, ça fait plaisir.
Image
Avatar de l’utilisateur
KoishA
Rebirth - LV 98
Rebirth - LV 98
 
Messages: 6533
Inscrit le: 13 Déc 2004 22:23

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar Ralt » 03 Déc 2008 16:31

D'après quelques essais, ça marche sur XP Home. Juste la méthode avec les .reg. Aucune install de Message Queuing ni rien... J'hésite à complètement effacer mon premier post. -_-
Avatar de l’utilisateur
Ralt
2nd Class - Rebirth
2nd Class - Rebirth
 
Messages: 1068
Inscrit le: 25 Fév 2006 01:00
Localisation: IYA.

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar Papy Fourras » 03 Déc 2008 16:35

Dernière édition par Papy Fourras le 03 Déc 2008 16:45, édité 1 fois au total.
Papy Fourras
Novice - LV 5
Novice - LV 5
 
Messages: 61
Inscrit le: 15 Nov 2007 15:15

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar myrtill » 03 Déc 2008 16:41

pourrait >_<
Avatar de l’utilisateur
myrtill
Rebirth - LV 98
Rebirth - LV 98
 
Messages: 6367
Inscrit le: 12 Mars 2005 10:32

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar Link » 03 Déc 2008 16:42

Et bien, vois tu, le principe si j'ai bien saisi, c'est que au lieu de laisser Windows rassembler les paquets TCP pour les envoyer de manière efficace, tu lui demandes d'envoyer toute donnée dans l'instant.

Du coup au lieu d'avoir un trafic avec 10 paquets contenant chacun 5 instructions (par exemple), tu en as 50 avec 1 instruction chacun.
Et chacun de ces 50 paquets comporte également tout ce qui est entête de paquet, pour savoir qui l'émet, pour qui, en broadcast ou non, la longueur, le cryptage, etc etc...

Bref tu augmentes sensiblement l'intégralité de ton trafic. Donc le simple fait de naviguer sur un site fera par exemple baisser significativement le download que tu as lancé à coté.
Avatar de l’utilisateur
Link
Administrateur
Administrateur
 
Messages: 8467
Inscrit le: 09 Oct 2004 15:35
Localisation: Eglise de Prontera

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar KoishA » 03 Déc 2008 16:43

Image
Avatar de l’utilisateur
KoishA
Rebirth - LV 98
Rebirth - LV 98
 
Messages: 6533
Inscrit le: 13 Déc 2004 22:23

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar Link » 03 Déc 2008 16:45

Moi aussi je m'en fous, mais faut que je teste.
Avatar de l’utilisateur
Link
Administrateur
Administrateur
 
Messages: 8467
Inscrit le: 09 Oct 2004 15:35
Localisation: Eglise de Prontera

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar myrtill » 03 Déc 2008 16:46

disons que je suis loin de saturer ma connection avec RO, donc ca passe bien :mrgreen:
Avatar de l’utilisateur
myrtill
Rebirth - LV 98
Rebirth - LV 98
 
Messages: 6367
Inscrit le: 12 Mars 2005 10:32

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar patos » 03 Déc 2008 16:56

\o/ [o] [o_ |o| !!

Avatar de l’utilisateur
patos
Rebirth - LV 98
Rebirth - LV 98
 
Messages: 8818
Inscrit le: 13 Déc 2004 22:23
Localisation: Ben je roule alors je bouge

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar Papy Fourras » 03 Déc 2008 17:23

Merci Patos je vais lire ça
Papy Fourras
Novice - LV 5
Novice - LV 5
 
Messages: 61
Inscrit le: 15 Nov 2007 15:15

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar Kangaax » 03 Déc 2008 19:57

Kangaax
1st Class - LV 12
1st Class - LV 12
 
Messages: 115
Inscrit le: 14 Mars 2006 23:21

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar patos » 03 Déc 2008 22:10

*viens de rentrer*

Quand on envoie des données en TCP, il y a envoi d'une donnée et attente d'un acquittement du serveur.
Dans le cas de téléchargement, on envoie en rafale pour n'acquitter que le dernier paquet qu'on a reçu: gain de vitesse et de réseau (avec les acquittements, légers).
Conformément au petit passage bien expliqué avec la fenetre dans mon précédent post, le client a une taille de fenêtre (comme le serveur).
Ainsi, le client se fie à sa taille de fenetre pour attendre un certain nombre de paquets, histoire de pas envoyer un acquittement pour rien. Mais lorsqu'on bouge, le client envoi des données: il en profite donc pour acquitter les données précédentes du serveur, qui du coup lui envoi TOUTES les mises à jour qu'il y a eu entre temps. Ainsi, si on ne bouge pas pendant un temps certain et qu'il n'y a aucune modification majeur de l'état du joueur, un bug pos peut se corriger de lui même (au bout de 2-5mn selon le Windows).

Avec la fenêtre forcée à 1, le client se sent obligé d'acquitter. S'il n'a pas de données en attente, il envoi un acquittement.

Cela veut dire qu'à chaque fois que le client et le serveur se causeront, ils le feront toujours avec des acquittements: cela peut provoquer des ralentissements dans le jeu (time gap dans l'extreme, si un acquittement se perds).

Maintenant, pourquoi je dis que c'est dangereux pour le reste de l'OS?
Imaginez, à côté, vous faites un téléchargement d'un serveur qui est à 2s de ping de vous.
Avec une fenetre à 100, vous téléchargez à 150ko/s
Avec une fenetre à 1, vous téléchargez à 1,5ko/s

Donc vous allez me dire "oué mais moi chui pas un ouf, j'ping trop d'la balle, j'vais pas missclic rez à cause d'un save as".
Seulement, tous les OS fonctionnent en réseau dit "localhost": la boucle locale. Cela permet de développer des services réseaux et de les exploiter sur un ordinateur seul sans les adapter: cela représente au bas mots 50% des services. Tout ces services seront ralentis par ce phénomène. De manière infime pour ceux qui jouent à question réponse. De manière énorme pour certains antivirus.

Tout ça pour répéter que je vous le déconseille. Ce n'est pas à vous de subir les désagréments d'un jeu.

J'espère que j'ai été assez clair (du moins pas trop flou) dans mes explications.

ps: pour information, le client peut forcer sa propre fenêtre très facilement (une ligne de code en C). Gravity peut très facilement l'intégrer dans son client.
\o/ [o] [o_ |o| !!

Avatar de l’utilisateur
patos
Rebirth - LV 98
Rebirth - LV 98
 
Messages: 8818
Inscrit le: 13 Déc 2004 22:23
Localisation: Ben je roule alors je bouge

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar Orin-chan » 04 Déc 2008 00:47

En théorie c'est vrai, mais en pratique non.

1. La boucle locale ne sera pas affectée de la façon dont tu dis, parce que tu désactives les delayed ACK sur l'interface qui va vers internet. Ce que tu désactives au niveau de la pile et de toutes les inferfaces réseaux, c'est l'algorithme de Nagle dont tu ne parles pas du tout. Et j'ose espérer que les services locaux n'utilisent pas le Nagle.

2. A l'école on apprend que les delayed ACK c'est super bien pour accélérer les transferts. Alors oui, c'était vrai, à une certaine époque. Maintenant avec l'évolution des réseaux, la différence est moindre, et ça peut même à l'occasion ralentir certaines opérations. Mais la cerise sur le gâteau, c'est quand tu utilises ensemble les delayed ACK et le Nagle (comportement par défaut). 2 concepts qui servent à améliorer les performances réseaux, mais quand tu les mets ensemble, bah ils peuvent se pourrir mutuellement, et ralentir le réseau.

Tu as bien raison quand à l'augmentation du traffic, les risques de congestion, et une possible baisse de la vitesse d'un download si trop de sessions réseaux. C'est pas une commande magique qui diminue le lag. Mais en pratique, à moins de bourriner, virer le TCP delay et le Nagle a bien plus d'effets positifs que d'effets négatifs sur une connection haut débit. J'ai toujours BT qui tourne avec une limite d'upload à 40ko/s, qui établit plein de petites connections, et pourtant j'ai quand même des meilleurs temps de réponse en virant le nagle et le delayed ACK.

Même si Blizzard a viré le Nagle pour WoW, je pense pas que Gravity change un jour son netcode, donc en attendant bah ceux qui ont une connection haut débit peuvent bien se permettre ce genre de bidouilles (qui est très facilement réversible).


Un peu de lecture technique en anglais :

Pourquoi Nagle + delayed ACK c'est pas bien, d'après l'auteur même du Nagle algorithm :
http://developers.slashdot.org/comments ... d=14515105

Mise en pratique du problème :
http://www.stuartcheshire.org/papers/NagleDelayedAck/
ImageImage / ImageImage / ImageImage
Orin-chan
Rebirth - LV 40
Rebirth - LV 40
 
Messages: 2229
Inscrit le: 13 Déc 2004 22:24

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar -AuroN- » 04 Déc 2008 01:59

Internet > u
Avatar de l’utilisateur
-AuroN-
2nd Class - Rebirth
2nd Class - Rebirth
 
Messages: 1253
Inscrit le: 24 Avr 2005 11:01
Localisation: D.C. (US)

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar La tristesse de Jack » 04 Déc 2008 02:00

Ah les informaticiens :labulabu:

Sinon, concrètement, y'a un moyen de faire la manip' quand on a XP Home ?
Avatar de l’utilisateur
La tristesse de Jack
Angsty teen
Angsty teen
 
Messages: 3006
Inscrit le: 13 Déc 2004 22:25
Localisation: 100% fagtasticness

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar -AuroN- » 04 Déc 2008 02:02

Si t'arrives a faire des posts comme ca, tout est possible. Tu passeras peut etre chez Jean-Marc Morandini si tu es chanceux
Avatar de l’utilisateur
-AuroN-
2nd Class - Rebirth
2nd Class - Rebirth
 
Messages: 1253
Inscrit le: 24 Avr 2005 11:01
Localisation: D.C. (US)

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar wammaster » 04 Déc 2008 10:18

Dans ces conditions ça n'aurait pas été plus simple d'utiliser UDP plutôt que TCP comme tout jeu normalement constitué?
Avatar de l’utilisateur
wammaster
1st Class - LV 20
1st Class - LV 20
 
Messages: 175
Inscrit le: 24 Oct 2007 13:57

Re: Désactiver le délai TCP pour fix les pos bug de RO

Messagepar myrtill » 04 Déc 2008 10:27

Soit refaire le netcode, ce que gravity ne fera jamais.
Avatar de l’utilisateur
myrtill
Rebirth - LV 98
Rebirth - LV 98
 
Messages: 6367
Inscrit le: 12 Mars 2005 10:32

PrécédentSuivant

Retour vers Général

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron