Réunion du 11-02-2025
Avertissement
Attention : Ce résumé existe pour orienter vos recherches. Des erreurs d'interprétation ne sont pas à exclure. Pour plus de précisions, veuillez vous référer aux sources ou vous adresser directement aux développeurs d'OpenSimulator en assistant aux réunions du mardi ou sur le canal IRC. Je ne fais pas partie des développeurs, ne vous adressez pas à moi pour les joindre. Merci.😉 |
Changements du code de la semaine
Problèmes sur la sauvegarde des OAR
Problème
- Un problème de sauvegarde d'OAR été signalé par Vincent Sylvester.
- Il y avait un bogue qui interrompait le chargement d'un OAR si les parcelles avaient plus d'une entrée dans la liste d'accès.
Commit
- Commit 46f2fb : ajouter à l'OAR des données manquantes sur les supports de parcelles, Thx Tampa : Ajout de quelques paramètres manquants sur le stockage et le chargement des médias de parcelle.
Nouvelles options pour load OAR et save IAR.
Option de chargement d'OAR
- Commit b13c4c : Ajout de l'option --force-assets à la commande `load l'OAR`. Cela forcera le remplacement des assets dans le cache de la région (si l'asset est déjà dans le cache, la région essaiera aussi de le recharger (ce qui échouera)). Évitez d'utiliser cette option à moins d'essayer de tenter une récupération de données comme dans le cas, par exemple de ce qui se passe sur Osgrid.
Option de sauvegarde d'IAR
- Commit af75c3 : Ajout de l'option --skipbadassets à la commande `save iar`. Cette option permet d'ignorer les éléments d'inventaire dont l'asset principal est manquant ou vide. Évitez d'utiliser cette option, sauf si vous essayez de récupérer des assets/ des inventaires déjà endommagés.
Numéro de lien des primitives racine
NDLR :
|
Situation antérieure
- Une prim unique a un numéro de lien 0, mais dans un objet lié donc avec plus d'une primitive, le numéro de lien de la primitive racine passe à 1.
- L'ancien code d'OpenSim et celui de Second Life ignorent linknum = 0 (numéro de lien = 0).
- Sur Second Life le numéro de lien d'une primitive unique sur laquelle un avatar est assis passe à 1. Sur OpenSim si un avatar s'assied sur une primitive unique, le numéro du lien de la primitive reste 0.
- Ainsi, si un script placé dans une primitive unique utilise LINK_ROOT, LINK_ROOT échoue parce que ce flag attend un numéro de lien égal à 1 et pas à 0. Pour la primitive racine il faut mettre LINK_THIS ( la cible est la prim contenant le script) pour que ça fonctionne dans les deux cas (0 et 1).
- Avec un script placé dans une prim enfant, LINK_ROOT fonctionnera avec 0 et 1 ( le 0 fonctionne il est considéré comme un bug hérité).
Commit
- Commit 90c367: faire en sorte que les numéros de liens 0 et 1 signifient RootPart par défaut. Puisque nous ne considérons pas les avatars assis sur le numéro de lien racine, nous ne serons jamais totalement compatibles avec les variations de sl.
Situation dans OpenSim après le commit
- Changement : le code a été nettoyé et maintenant dans OpenSim les numéros de lien 0 et 1 sont attribués à la primitive racine. 0 n'est plus ignoré.
- Cela corrige le problème de LINK_ROOT pour une primitive unique, maintenant LINK_ROOT devrait fonctionner.
- Toutefois, la plupart des anciens scripts ne devraient pas poser de problème.
- L'avatar assis sur une primitive ne fait pas changer le numéro de lien de la primitive racine.
Problème dans le viewer
- Le viewer a toujours eu un bug pour afficher les numéros de liens, l'affichage est souvent incorrect.
- Le viewer n'a aucune idée de ce que sont les numéros de liens. Il devine en se basant sur l'ordre des mises à jour des objets.
Assets
Avertissement : Asset avec le mauvais type
Problème
- Vincent Sylvester ces derniers temps, observe assez souvent dans le log des assets avec le mauvais type 00000000-0000-2222-3333-100000001035 0 != 57. (0 est le type d'une image, 57, le type des matériaux). S'agit-il simplement de viewers qui demandent des images en tant que matériau ?
Réponses
- Il semble que les viewers demandent des matériaux avec un type 0 et OpenSim a des matériaux PBR stockés avec le type 57.
- Donc,les requêtes sont correctes, c'est un problème viewer. À moins que le viewer ne commence à renvoyer des types erronés aux assets, tout va bien.
- Ce warning est sur la recherche. c'est un avertissement à ignorer.
Côté viewer
- Dans le viewer, les anciens matériaux ont les paramètres diffuse, spec et normal. Ainsi, le viewer peut à la fois écrire et demander de vieux matériaux pour tout ce qui n'est pas converti en PBR. Mais le type d'asset est différent.
Côté serveur OpenSim
- Lors de la récupération via viewerasset, le viewer envoie le type de l'asset qu'il veut et ils envoient 0 dans plusieurs cas. Les anciens matériaux sont affectés à une autre capacité. Les matériaux sont bons il faut ignorer l'avertissement. Ça arrive aussi avec les textures de terrain/pbr.
- En revanche le log grossit pour rien. Le message « asset with wrong type » représente 5873 des 84127 lignes du fichier journal chez Vincent Sylvester. Il s'agit donc d'un spam. Il faudrait mettre l'avertissement à debug pour le voir quand c'est nécessaire.
Solution
- Vincent Sylvester va ajouter une condition pour faire taire l'avertissement.
OAR : assets manquants
Problème
- Kayaker Magic a trouvé beaucoup d'erreur ARCHIVER concernant des éléments manquants ou endommagés lors de la création d'OAR sur OSGrid. Il demande s'il s'y est pris trop tard.
Réponses
Pourquoi ces erreurs ?
Il y a plusieurs raisons à cela.
- Il est possible quil soit effectivement trop tard. Tout est relatif. Une région avec peu d'objets qui lance des centaines d'erreurs peut être le signe que les assets sont cassés, mais quelques erreurs sur une région avec un millier de primitives est plutôt normal. La création d'OAR génère toujours des erreurs même si tout va bien.
- Dans certains cas, il est normal de ne pas trouver tous les assets surtout sur des régions anciennes. Les assets peuvent contenir des références qui n'ont jamais existé.
- Certains échecs sont de faux échecs.
- Il est possible qu'OSGid n'ait perdu aucun asset.
Le code de création d'OAR
- UuidGatherer est l'outil utilisé par OpenSimulator pour rechercher tous les assets nécessaires à la création de l'OAR.
- Pendant la création d'une OAR, le code, par exemple, voit un UUID dans un script LSL et n'a aucun moyen de savoir ce que c'est. Donc, il essaie d'obtenir un asset et s'il ne le trouve pas, il signale une erreur potentielle.
- Le code est récursif, il creuse la hiérarchie des objets. S'il trouve un script référencé, une texture de particule, il s'en empare et peut s'y plonger pour trouver d'autres éléments qu'il doit récupérer. Il est difficile de savoir exactement jusqu'où cette recherche peut aller. Ce code n'est pas si facile à saisir, il est un peu abstrait. Mais il faut qu'il le soit pour creuser comme cela.
NDLR : Traduction de la description du fichier OpenSim/Region/Framework/Scenes/UuidGatherer.cs UuidGatherer rassemble les uuids pour une entité donnée. Cette opération permet d'inspecter en profondeur l'entité afin de récupérer tous les assets qu'elle utilise (qu'il s'agisse de textures, de scripts contenus dans l'inventaire, de scripts contenus dans des objets contenus dans l'inventaire d'un autre objet, etc. Les assets ne sont récupérés que lorsqu'ils sont nécessaires pour effectuer l'inspection (par exemple, un objet sérialisé doit être récupéré pour déterminer les assets qu'il référence). |
Modules
Chat vocal WebRTC
Question
- Cuga Rajal demande si quelqu'un a réussi à faire fonctionner WebRTC.
Réponse
- Personne n'a essayé, Cuga Rajal va essayer de voir avec Misterblue.
- Janus se compile facilement mais uniquement sur Linux.
- Vincent Sylvester parle d'utiliser Cosmopolitan pour compiler Janus (Compiler un binaire unique multi-OS).
Informations
Maintenance d'OSGrid
NDLR : Extraits des informations fournies le 9 février 2025 par OSGrid :
|
- Ubit Umarov donne son avis : c'est une violation de l'esprit de tous ceux qui, lors du dernier crash du disque, ont collecté environ 5000 USD pour payer la récupération des données. C'est une décision qui n'est pas basée sur ce qui est juste, mais sur ce qui est facile.
Source
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2025-02-11