|
L'ami Skywing vient de mettre à disposition la nouvelle version de xp_bugfix.
Pourquoi en faire un topic me direz-vous ? Il semble que cette version améliore énormément les temps de chargement côté joueur. Par énormément, j'entends un passage de 1 minute et demi à 20 secondes pour certaines zones. Soit un temps réduit de 20 à 35 % par rapport à l'initital pour le chargement. Vous confirmez ? Plus de détails sur http://www.nwnx.org/phpBB2/viewtopic.php?p=12439#12439 en fait l'idée c'est que ce sont les objets non statiques dont le chargement est considérablement amélioré. |
02/02/2010, 20h57 |
|
Aller à la page... |
xp_bugfix
Suivre Répondre |
|
Partager | Rechercher |
|
On vient d'installer la dernière version et, a priori le temps de chargement a diminué pour pratiquement tout le monde : 20 à 25 secondes (pour les maps très lourdes type ville). On testera en heure pleine avec 40 à 50 joueurs avant de se prononcer définitivement.
Maintenant, on a découvert qu'on était encore en version 1.0.2 donc on a fait un sacré bond et on est pas les meilleurs testeurs malheureusement .
__________________
La seconde version est arrivée : http://fanelya.fr ! IP : fanelya.no-ip.org Liste de tous les serveurs : http://nwnlist.com |
05/02/2010, 14h56 |
|
|
Témoignages d'un de nos joueurs :
Citation :
D'une manière générale, après sondage en jeu, et MPs régulièrement reçus, la différence est flagrante et pour tous. On note effectivement une diminution impressionnant du pin (bon je suis jamais montée au dessus de 500 personnellement mais là je plafonne à 140, malgré des problèmes de connexion depuis hier soir). Temps de chargement réduit à une durée de quelques secondes MÊME EN HEURE PLEINE (mini 30 joueurs). Du coup, moins de lag, moins de plantages. Un gros gain, qui nous laisse optimiste pour la survie du module malgré ses gros chiffres de fréquentation ! Merci Laban d'avoir posté ici parce que si t'avais pas posté ici, Krighaur ne m'aurait peut être pas signalé cette mise-à-jour et on serait encore à la traîne .
__________________
La seconde version est arrivée : http://fanelya.fr ! IP : fanelya.no-ip.org Liste de tous les serveurs : http://nwnlist.com |
06/02/2010, 19h44 |
|
Roi
|
Si ça intéresse du monde, sur Fanelya on a traduit ce que réalisent les mises à jour de xp_bugfix
|
10/02/2010, 08h26 |
|
Roi
|
En exclusivité et offert par Fanelya, traduction du message de Skywing sur le forum de Neverwinter Nights Extender
http://www.nwnx.org/phpBB2/viewtopic.php?t=1086&postdays=0&postorde… J'ai commencé un module nwnx4 pour travailler sur les problèmes les plus communs de plantage de serveurs NWN2 pour lesquels j'ai pu obtenir des données. Quelques solutions ne résolvent que l'effet sans résoudre la cause sous-jaçente, cependant, dans la plupart des cas cela améliore le fonctionnement du serveur et lui évite de chuter et planter (server falling over and dying). La version en cours est la : 1.0.10 pour NWN2 1.0.23.1763 et 1.0.23.1765. Les versions antérieurs pour les anciennes versions de serveurs sont archivées ci-dessous (NdT aller sur le lien fournis en en-tête pour avoir tous les liens) . xp_bugfix est compatible avec tous les packs d'expansion pour une version donnée et supportée de NWN2, car les codes du serveur sont les mêmes pour toutes les expansions a un niveau donné de patch. Vous devez accorder la version de xp_bugfix avec le niveau de patch que vous utilisez. Note Importante : A partir de xp_bugfix 1.0.3, vous devez installer une mise à jour de Visual C++ 2005 SP1 CRT. (Prenez le download vcredist_x86.exe.) Si vous ne mettez pas à jour votre VC2005 CRT, xp_bugfix ne se chargera pas. A partir de xp_bugfix 1.0.5, vous devez mettre ReplaceNetLayer = 1 dans votre xp_bugfix.ini pour activer une solution pour des plantages de transition côté client. Vous trouverez plus d'infos à ce propos ici (liens sur le lien donné en en tête). Problèmes réglés par xp_bugfix 1.0.3 pour nwn2server 1.0.23.1763 / 1.0.23.1765: - Règle un plantage serveur quand un joueur qui n'a pas initialisé son automap quitte le jeu. Problèmes réglés par xp_bugfix 1.0.5 pour nwn2server 1.0.23.1763 / 1.0.23.1765: - Réécriture du code Réseau du serveur pour régler les plantages lors de transition. Vous devez mettre "ReplaceNetLayer = 1" dans xp_bugfix.ini pour activer cette option. Voir traduction à venir pour plus de détails. (Note Phil : apparement cela divise par 10 le nombre de plantage lors de transitions. voir l'extrait ci-dessous Avant xp_bugfix 1.0.5 (serveur utilisant xp_bugfix 1.0.3): 2866 transitions de joueurs résultent en 50 plantages de joueurs (1.7% d'échec de transition). Après xp_bugfix 1.0.5: 2866 transitions de joueurs résultent en 5 plantages de joueurs (0.17% d'échec de transition). Problèmes réglés par xp_bugfix 1.0.6 pour nwn2server 1.0.23.1763 / 1.0.23.1765: - Réglé un plantage serveur lors du traitement d'un level up alors que pas de LUO de joueur est disponible. Cela risque d'arriver dans les scénarios ou il y a du lag serveur sévère et ou les joueurs réalisent les actions de level-up dans un certain ordre, ou si un joueur est en mode DMFI follow alors qu'il clic sur l'écran de level up. traduction des MaJ 1.0.7 et 1.0.8 des 20 et 21 décembre 2009 Version 1.0.7 Cette version ajoute une option dans GameObjUpdateTime.ini qui vous permet de modifier le temps que le serveur attends avant de recalculer les messages de mise à jour d'objet de jeu envoyés aux joueurs. En étudiant un PW gourmand en temps de CPU [40+ joueurs actifs], j'ai constaté qu'une quantité significative du temps CPU du serveur est souvent utilisée pour recalculer les messages de mise à jour d'objet. Augmenter la valeur de GameObjUpdateTime réduira le temps de CPU serveur nécessaire en diminuant le nombre de fois ou le serveur essaie de calculer les mise à jour d'objet de jeu. Pour le PW étudié, augmenter à 400 000 a permis de rendre jouable les moments ou le ping monte à 500ms ou plus. Si votre serveur est à la traîne (lague), vous pouvez augmenter la réactivité pour vos joueurs en augmentant le GameObjUpdateTime, car cela assure que le serveur ne sera pas encombré a essayé d'envoyer des mise à jour de jeu plus vite qu'il ne les calcule. Le jeu utilise une valeur par défaut de GameObjUpdateTime de 200 000 microsecondes. Vous pouvez facilement doubler cette valeur à 400 000 avec un impact minimum sur les joueurs. (Les joueurs utilisant l'Extension Client verront encore moins l'impact de ce changement.) Il est préférable de tester plusieurs valeurs avant de trouver celle qui convient à votre serveur. Si votre serveur n'a pas de problèmes de performance, conserver la valeur par défaut est probablement la bonne solution. Si votre serveur ralentit après un temps de fonctionnement, essayez d'augmenter le GameObjUpdateTime à 400 000. Il est recommandé de conserver GameObjUpdateTime en dessous de 1 000 000 microsecondes pour conserver une jouabilité. (Les messages de combat sont envoyés séparément des messages de GameObjUpdate en général et la réactivité des combats est généralement indépendante de cette option. Il en est de même pour la réactivité du chat.) Vous pouvez toujours remettre la valeur à celle par défaut en effaçant la ligne du fichier .ini. Version 1.0.8 Qui ajoute un moyen de contrôler au vol le GameObjUpdateTime par l'intermédiaire d'un script. Vous pouvez utilisez le fragment de script suivant pour le faire: void SetGameObjUpdateTime(int nGameObjUpdateTime) { NWNXSetInt( "BUGFIX", "GAMEOBJUPDATETIME", "", 0, nGameObjUpdateTime ); } Le temps est fourni en microsecondes (de même que dans le fichier xp_bugfix.ini). le jeu utilise 200 000 par défaut si vous ne modifiez pas GameObjUpdateTime par l'intermédiaire du fichier xp_bugfix.ini file, ou par un appel au script. Il n'y a pas de fonction de script pour obtenir le temps en cours, donc si vous avez besoin de cette information, stockez le temps que vous établissez dans une variable pour un usage ultérieur. Version 1.0.9 Cette mise à jour augmente les performances de réseau. Prenez garde à bien installer le fichier AuroraServerNetLayer.zip mis à jour (à décompresser dans le répertoire ou se trouve nwn2server.exe) quand vous passez à la version 1.0.9 Les clients devraient charger les zones beaucoup plus vite avec 1.0.9 qu'avec le jeu de base (ou avec des versions antérieurs de xp_bugfix). Le degré de gain de vitesse dépends du nombre d'objets non-statiques dans la zone et de la vitesse du disque dur des PC clients. En particulier en augmentant le temps GameObjUpdate, les performances de chargement de zones devraient être largement supérieures avec cette mise à jour. La charge de CPU serveur devrait être également réduite pour les clients chargeant des zones. De plus, l'aggressivité de retransmission du code de réseau a été augmentée, dans le but d'aider les clients qui peinent après avoir perdu plusieurs packets. Dans ces cas, les clients devraient être capable de "rattraper" plus vite. Il y a une nouvelle option de configuration, optionnelle: GameObjUpdateBurstSize = <burst size> Cela contrôle la quantité maximum de données que xp_bugfix autorise à envoyer par le serveur dans un message GameObjUpdate, quand la queue d'envoi du client est vide, ou quand le client reçoit la liste initiale des mise à jour d'objets dynamiques après une zone de transition. La valeur par défaut du jeu est 400 bytes, et la valeur par défaut de xp_bugfix 1.0.9 est 102 400 bytes si vous ne modifiez pas les options de configuration. Mettre cette valeur à 400 revient à ignorer les possibilités de GameObjUpdate. Si xp_bugfix 1.0.9 est installé correctement, vous devriez voir le message de log suivant dans xp_bugfix.txt au démarrage: 2010-02-02 01:07:50 : * GameObjUpdate burst size: 102400 bytes (stock server default would be 400 bytes). (Where 102400 is the GameObjUpdateBurstSize you have chosen, or 102400 if you have let the setting remain at its default.) --- Détails techniques : Par défaut, le serveur envoie les objets non-statiques aux clients lors d'un chargement de zone en envoyant une série de messages GameObjUpdate. Le serveur tentes de limiter la quantité de données envoyées avec chaque message GameObjUpdate à environ 400 bytes, et par défaut, le serveur envoie un message GameObjUpdate toutes les 200 millisecondes. Cela signifie que les objets non-statiques sont généralement envoyés à un taux qui ne dépasse généralement pas ~2KBps. Une zone complexe peut avoir 20-30KB environ de données d'objets à envoyer quand un client charge la zone, et avec ce volume de données, le faible taux d'envoi du mécanisme GameObjUpdate est une composante majeure du temps de chargement d'une zone (en supposant que le disque du client peut charger rapidement les apparences et autres ressources de données pour les objets). La mise à jour ajoute un mécanisme de 'surcharge' qui permet que le premier GameObjUpdate vers un client, après un chargement de zone, dépasse la limite usuelle des 400 bytes, pour aller jusqu'à GameObjUpdateBurstSize. Cela améliore les performances pour le client (et aussi permets au serveur de mieux compresser les données d'objet, réduisant ainsi la quantité de données envoyée). Le mécanisme de surcharge a été conçu avec précaution pour n'opérer que pendant les chargement de zone ou quand le 'frame' de la queue d'envoi du client est pratiquement vide, afin d'éviter de sérieusement réduire les performance du client quand des 'frames' sont perdus dans le réseau. (le protocole du jeu n'est pas très performant pour traiter les packets perdus quand plus d'un packet est dans la file d'attente de transmission.) version 1.0.10 Cette mise à jour ajoute un contournement d'un bug de serveur qui fait planter les clients à la connexion dans certaines circonstances. Bien que le bug en question soit un problème de serveur depuis longtemps, le gain de performance du à xp_bugfix 1.0.9 faisait que le problème se reproduisait plus souvent. La raison pour laquelle le problème survenait plus souvent avec xp_bugfix 1.0.9 est que le serveur pouvait alors envoyer le contenu des objets non-statique dans un message, plutôt que les mise à jour ne soient séparés en plusieurs messages avec un délai de 200ms entre chaque message. Le problème sous-jacent est un bug de serveur dans lequel, au logon initial, le serveur commence a envoyer par erreur des mise à jour d'objets avant qu'il n'envoie les paramètres de la zone au client. Si le serveur arrive au stade d'être capable de mettre à jour une certaine classe d'objets sur le client, avant qu'il n'envoie les paramètres de zone, alors le client plantera. Normalement, si,le serveur avait atteint le underlying bug, il est probable que le premier GameObjUpdate n'aurait pas mis à jour le type d'objet qui aurait fait planter le client. La mise à jour suivante interviendrait après qu'un chargement de zone normal ait été déclenché. Comme le serveur était maintenant capable d'envoyer la liste entière des objets non-statique en un seul message, le bug n'était plus masqué, dans quelques cas, par les faibles performances de transmission d'objet. Tout utilisateur qui aurait l'Extension Client active aurait été protégé de ce bug. Vous pouvez installer xp_bugfix 1.0.10 pour éviter aux utilisateurs n'ayant pas l'Extension Client active de subir ce bug. |
10/02/2010, 14h30 |
|
|
Beau travail ma foi Krighaur, d'autant que vue la technicité du texte ça n'avait rien de simple
|
10/02/2010, 18h34 |
|
|
merci, je vais tenter de trouver la solution pour le nwnx.ini
Sinon à quoi correspond le : "DisableServerCompression = 1" Par avance merci de vos explications. |
12/02/2010, 21h00 |
|
Roi
|
Pour info, Skywing vient de poster une mise à jour de l'extension client sur le vault :
http://nwvault.ign.com/View.php?view....Detail&id=231 |
13/09/2010, 06h55 |
|
|
(Attention à ne pas confondre Extension Client et xp_bugfix )
|
13/09/2010, 10h22 |
|
Suivre Répondre |
Fil d'ariane
Connectés sur ce fil1 connecté (0 membre et 1 invité)
Afficher la liste détaillée des connectés
|