Réunion du 02-04-2024

De OSWiki
Aller à la navigation Aller à la recherche

Changements du code de la semaine

Recherche par nom de région depuis la carte

  • Interdiction de caractères dans la recherche par nom de région de la carte.[1]. C'était un vecteur de spam.
  • Les URL fonctionnent toujours dans la recherche de la carte.
  • Caractères interdits (donc pour les noms de région pas pour les URL bien entendu) :
    . , : ; \ / 
  • Les espaces sont toujours autorisés.
  • Remplacement : 1 remplace 11 et \ remplace \\ (Ndrl : je n'ai pas compris)
  • Exemple : on ne pourra pas trouver maregion.nord
  • Dans l'absolu, les noms de régions devraient contenir uniquement des lettres de a à z [A-z], des chiffres [0-9], l'underscore _ ou des espaces.
  • À faire : avertir l'utilisateur que le nom de la région n'est pas valide à la place de lui dire que l'URL n'est pas trouvé.

Deux fonctions LSL ajoutées

Erreur de tri avec osGetInventoryNames

Stockage des objets liés

  • Stockage de linksetdata (objets liés) dans la base de données et les OAR. [2][3]
  • Dans la base de données ils sont stockés sous forme binaire (Blob) et dans le XML ils sont encodés en base64.

Suppression de la copie par défaut de system.drawing

  • c'était la même copie que celle de Windows
  • Commit

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.😉


Scripts

Deux fonction LSL ajoutées

  • Commit
  • llGetCameraFOV() : Renvoie le float correspondant au champ de vision (FOV) de la caméra, en radians. Le script doit demander l'autorisation PERMISSION_TRACK_CAMERA avec llRequestPermissions.
  • llGetCameraAspect() : Renvoie le float correspondant au rapport d'aspect (largeur/hauteur) de la caméra. Le script doit demander l'autorisation PERMISSION_TRACK_CAMERA avec llRequestPermissions.

Erreur de tri avec osGetInventoryNames

Base de données

Migration

  • MySQL / MariaDB : mise en place des routines de migration de tout état de table possible.
  • SqLite : reste à faire, problèmes de retour de résultats cohérents.
  • PostgreSQL : ne sera probablement pas soutenu. Vincent Sylvester va se pencher sur la migration de PostgreSQL vers MySQL.

Bilan du fonctionnement des SGBD dans OpenSim

  • MySQL / MariaDB: Problème de dépôts pour MariaDB mais cela n'a rien à voir avec le fonctionnement. Aucun problème de fonctionnement avec MariaDB.
  • SqLite : Sqlite est utilisé pour certaines choses en interne par OpenSim et ce système de gestion de base de données est intéressant pour les régions simples. SqLite est léger, donc certaines choses ne sont pas tout à fait égales à MySQL. De même, la gestion des collations (mode de classement de données) [4] et des jeux de caractères est légèrement différente, ce qui peut causer des problèmes. C'est bien pour les tests, mais il ne faut pas l'utiliser dans les environnements de production. SqLite peut être très lent en fonction du système de fichiers et du type de requêtes car il n'y a pas de véritables caches comme mysql peut en fournir. De plus, le code d'OpenSim pour SqLite semble assez mauvais.
  • PostgreSQL : OpenSim n'a personne pour le maintenir ou le réparer. Vincent Sylvester est pour un abandon total de cette option, étant donné que MySQL et MariaDB vont diverger à l'avenir, ce qui pourrait signifier leur séparation et l'ajout d'un projet de données supplémentaire à maintenir. Mais, il semble que beaucoup utilisent encore PostgreSQL.

Viewers

Passage de frontière avec trois régions

  • Problème : parfois certaines parties du véhicule sont manquantes dans la région d'arrivée pour un coin avec 3 régions. C'est le deuxième croisement qui démarre alors que le premier est incomplet qui pose problème. Il est impossible d'utiliser l'arbre des ID locaux d'un objet lié puisque les ID locaux changent d'une région à l'autre.
  • Fonctionnement normal pour le viewer Sharpview: le simulateur (OpenSim) indique tous les objets à l'entrée d'une nouvelle région. (Firestorm ne semble pas dépendre complètement du simulateur.) Habituellement, ObjectUpdate est trouvé pour toutes les primitives après une traversée.
  • Réflexion de Joe Magarac : Si cela ne peut pas fonctionner, ne laissez pas la traversée #2 commencer tant que la traversée #1 n'est pas terminée.
  • Question : Le simulateur sait-il quand la traversée en cours est terminée et que tout est arrivé ?
  • Réponse : Oui et non. Il sait quand les choses ont échoué et que le dernier appel pour fermer ou convertir l'agent n'a pas eu lieu, mais il n'a aucune idée si le processus d'envoi de toutes les données est terminé ou non. Il se contente d'envoyer les données, et c'est ainsi qu'il a été conçu. Ces choses doivent être asynchrones pour être plus rapides et elles ne peuvent pas toutes attendre une réponse d'achèvement avant d'exécuter d'autres tâches, ce qui rendrait les croisements dix fois plus lents.
  • Autres réflexions /réactions  :
    • Ne devrait-il pas y avoir un cache d'objets de toute façon ?
    • Les grandes régions ont été créées pour cela.
    • Une absurdité d'Opensim est qu'il envoie les données prim par prim puis avatar par avatar à l'autre région et ensuite les attachements un par un. Ubit Umarov a commencé à changer cela, mais c'est un changement radical.
    • Les téléportations rapides échoueront très probablement même avec un avatar simple. BulletSim ne permet même pas les simples passages.
    • Du point de vue d'OpenSim, il serait plus simple de prendre le vecteur vitesse et la position pendant le croisement et de déterminer si le croisement finirait par appeler un autre croisement dans les 5 secondes à travers un coin et de tenter de croiser directement dans cette région plutôt que d'essayer d'abord la région intermédiaire. OpenSim permet les croisements en diagonale, ce qui n'est pas le cas de Secondlife. Bien sûr, cette approche repose sur des hypothèses, ce qui n'est jamais une bonne idée, mais les traversées très rapides des coins de la région sont une recette pour un désastre d'une manière ou d'une autre, donc l'atténuation devra toujours être un équilibre entre les hypothèses et les faits concrets.
    • Il faut planter un arbre sur la frontière des trois régions.

Source

http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2024-04-02