Réunion du 26-10-2021
Bientôt la traduction suivie du journal.
Introduction
[11:00] Andrew Hellershanks : Bonjour, tout le monde. [11:00] Ubit Umarov : bonjour [11:00] Gavin.Hird @grid.xmir.org:8002 : Salut Andrew [11:00] Ubit Umarov : Les gars, si on si on plante, allez à Hurliman Plaza. [11:02] Selby.Evans @grid.kitely.com:8002 : bonjour à tous. [11:02] Ubit Umarov : Bonjour. [11:02] Andrew Hellershanks : Bonjour, Selby. [11:03] Andrew Hellershanks : Ubit, as-tu apporté des modifications au code ces dernières minutes ? [11:03] Vincent.Sylvester @hg.zetaworlds.com:8002 : Oui, j'ai corrigé un message de log et je lui ai envoyé le patch, alors nous l'avons corrigé à sa façon. [11:03] Ubit Umarov : oui je l'ai fait :p [11:03] Vincent.Sylvester @hg.zetaworlds.com:8002 : Maintenant nous attendons le démarrage [11:04] Ubit Umarov : donc oui la région peut faire la mise à jour automatique en nous sortant tous. [11:04] Ubit Umarov : ou pas... voyons voir [11:04] Ubit Umarov : pas sûr que Bill ait ajouté une heure de garde pour la réunion. [11:05] Gavin.Hird @grid.xmir.org:8002 : quelqu'un a mis une instruction de type "might do" dans ce script ? [11:05] Andrew Hellershanks : oui, j'étais sur le point de suggérer cela comme un ajout utile au script de mise à jour. [11:05] Ubit Umarov : "might do" ? [11:05] Gavin.Hird @grid.xmir.org:8002 : si le processeur peut être sollicité. [11:05] Andrew Hellershanks : C'est ce qui m'a rendu perplexe aussi, Ubit. [11:05] Gavin.Hird @grid.xmir.org:8002 : cela pourrait redémarrer la région. [11:06] Ubit Umarov : oui, il faut demander à Bill, comme vous le savez, cette région fonctionne sur une de ses machines. [11:06] Andrew Hellershanks : Voici Kayaker. [11:06] Andrew Hellershanks : Bonjour, Kayaker. [11:06] Kayaker Magic : Salut Andrew, et tous ! [11:06] Gavin.Hird @grid.xmir.org:8002 : Salut Kayaker [11:06] Ubit Umarov : il est possible qu'il ait déjà ajouté cela au script. [11:07] Ubit Umarov murmure : ce n'est pas la première fois que je fais un commit juste avant une réunion :) [11:07] Andrew Hellershanks hoche la tête.
Niveau de vie des NPC & Nettoyage de Mantis
[11:07] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le plus gros changement de code de cette semaine était lié aux NPC lorsqu'ils n'ont plus de niveau de vie, maintenant, ils sont supprimés. [11:07] Ubit Umarov : vous pouvez blâmer Vincent.Sylvester pour cela. [11:07] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je maintiens que c'est un changement assez radical, mais eh, question d'opinion je suppose. [11:08] Vincent.Sylvester @hg.zetaworlds.com:8002 : Quelques anciens bogues ont également été résolus [11:08] Andrew Hellershanks : C'est l'un des 6 rapports de mantis qui ont été traités par des changements de code la semaine dernière. [11:08] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai déterré tout ce qui n'était pas sur un arbre à cinq, en essayant de résoudre ou de confirmer ce qui est encore ouvert. [11:09] Ubit Umarov : Oui, certains vieux rapports sont toujours d'actualité. [11:09] Ubit Umarov : quelques uns resteront en tant que "feature". [11:09] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le but est d'obtenir une image plus claire de ce qui est encore cassé et des bogues les plus graves qui devraient être abordés à un moment donné. [11:10] Ubit Umarov : au moins pour la version 0.9.2. [11:10] Vincent.Sylvester @hg.zetaworlds.com:8002 : Un tas de choses sont trop complexes pour que je puisse les tester, je n'ai pas vraiment envie de réinstaller freeswitch juste pour tester ces tickets.
Bug des pièces jointes des notes groupe
[11:10] Ubit Umarov : un cas est celui des pièces jointes des notes de groupe. [11:10] Gavin.Hird @grid.xmir.org:8002 : est-ce qu'on cherche 22 ? [11:10] Andrew Hellershanks : Gavin, 22 quoi ? [11:10] Ubit Umarov : actuellement un attachement à une notification de groupe est fondamentalement lié à un élément dans l'inventaire de l'expéditeur. [11:11] Gavin.Hird @grid.xmir.org:8002 : 2022 pour la version 0.9.2. [11:11] Ubit Umarov : donc si l'expéditeur supprime cet élément, la pièce jointe disparaît. [11:11] Gavin.Hird @grid.xmir.org:8002 : faites la 0.9.22 au cas où. [11:11] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je ne peux toujours pas reproduire l'erreur sur ce ticket sans, comme le dit Ubit, supprimer l'objet de l'inventaire. [11:11] Andrew Hellershanks : Le nombre passerait de 0,2 à 0,22. [11:12] Ubit Umarov : cela peut prêter à confusion, donc à l'avenir ces élements devraient être conservés ailleurs. [11:12] Ubit Umarov : comme par exemple un autre utilisateur du système :p [11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai fait un brainstorming sur ce qui pourrait être fait de mieux, en pensant à faire en sorte que os_groups_attachments copie essentiellement la ligne de l'article de l'inventaire de la table inventoryitems sur celle-ci afin que l'utilisateur original ne puisse pas supprimer l'article. [11:12] Ubit Umarov : d'une manière plus propre, un autre champ sur la base de données des notes. [11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : Nous n'effaçons actuellement rien automatiquement, ce qui pourrait ajouter beaucoup de charges supplémentaires. [11:13] Andrew Hellershanks : L'attachement de groupe pointe vers un élément d'inventaire ? J'aurais pensé qu'il devait pointer vers un asset. [11:13] Ubit Umarov : je suppose que cela se passe chez SL, de plus toutes les notes de plus de 30 jours y sont supprimés. [11:13] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je le pensais aussi, mais il est en fait plus facile de réutiliser les méthodes de transfert d'inventaire que de créer un nouvel élément d'inventaire à partir de l'asset lui-même. [11:14] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je peux voir pourquoi cela a été fait de cette façon [11:14] Andrew Hellershanks : J'avais un script fonctionnant dans une grille qui faisait expirer les anciens avis de groupe. [11:14] Ubit Umarov : oui, ces expirations doivent être faites par du code externe maintenant. [11:14] Ubit Umarov : directement sur la base de données. [11:14] Vincent.Sylvester @hg.zetaworlds.com:8002 : Tout est piloté par la base de données, donc le cron supprime essentiellement les anciennes lignes. [11:14] Andrew Hellershanks : maintenant ? Je pensais qu'ils devaient toujours être faits de cette façon. [11:15] Ubit Umarov : ( ceci pour les deux modules de nos groupes ) [11:15] Ubit Umarov : toujours inclus maintenant :p [11:15] Vincent.Sylvester @hg.zetaworlds.com:8002 : Robust pourrait probablement le faire avec une forme de minuterie vérifiant toutes les quelques minutes, mais si c'est vraiment mieux est discutable. [11:16] Ubit Umarov : bien, à moins que nous ne repérons un bug, je ne changerai pas cela pour la 0.9.2. [11:16] Andrew Hellershanks : Lorsque vous transférez un article, l'entrée DB dans la table inventory_items a un pointeur vers l'assetID, pourquoi n'est-il pas disponible pour les avis de groupe ? [11:17] Ubit Umarov : parce que le pointeur vers l'inv ID de l'expéditeur est utilisé. [11:18] Ubit Umarov : je veux dire que la pièce jointe est stockée sur la notification en tant que telle. [11:18] Gavin.Hird @grid.xmir.org:8002 : c'est logique. [11:18] Vincent.Sylvester @hg.zetaworlds.com:8002 : Parce qu'un asset n'est qu'un asset, pour qu'il se trouve dans l'inventaire en tant qu'item vous avez besoin de quelques autres choses aussi qui sont des choses que vous ne pouvez pas extraire ou définir facilement. Le simple fait de pointer vers un asset impliquerait de stocker tous les autres champs afin qu'un article d'inventaire puisse être créé à partir de celui-ci. [11:18] Vincent.Sylvester @hg.zetaworlds.com:8002 : Des choses comme le créateur et les permissions, des choses comme ça. [11:19] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le fait qu'il soit présent en tant qu'élément d'inventaire pleinement qualifié signifie que vous pouvez simplement appeler les méthodes de transfert utilisées pour transférer les éléments d'inventaire, qui sont beaucoup plus simples à appeler qu'une méthode de reconstruction lourde pour créer un nouvel élément d'inventaire à partir de zéro. [11:19] Andrew Hellershanks : C'est vrai. Les bons vieux drapeaux de permission :)
Les NPCs
Points de vie des NPCs
[11:20] Ubit Umarov : à propos de ce changement, Vincent Sylvester a mentionné que le npc est en fait Damage control. [11:20] Ubit Umarov : Le cas des NPCs a été oublié sur une fonction de dommage ossl. [11:20] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai proposé de renvoyer le NPC à la position à laquelle il a été créé et de fournir un moyen de définir si vous voulez que le NPC soit mortel ou non, je suppose que cela ajouterait beaucoup plus de complexité. [11:21] Ubit Umarov : donc quand la santé devient < 0, le code normal des avatars est exécuté. [11:21] Ubit Umarov : ie tp home etc. [11:21] Andrew Hellershanks : Cela pourrait rendre certains jeux plus faciles à coder. Je connais quelqu'un qui avait des zombies NPC dans un jeu. [11:21] Vincent.Sylvester @hg.zetaworlds.com:8002 : Eh bien oui et non [11:21] Ubit Umarov : mais ce chemin de code tp home est "undefined" pour les NPCs. [11:21] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il est encore un peu difficile de comprendre qu'ils sont morts. [11:22] Andrew Hellershanks : Ubit, est-ce que tu voulais dire "<= 0" ? [11:22] Ubit Umarov : Je suppose que j'ai échoué quelque part après avoir gaspillé des ressources. [11:22] Ubit Umarov : j'ai donc appliqué un vieux patch proposé qui les tue. [11:22] Ubit Umarov : c'est ce qui est logique pour les NPCs. [11:23] Andrew Hellershanks hoche la tête. [11:23] Vincent.Sylvester @hg. zetaworlds.com:8002 : Je pense avoir laissé mon patch sur le ticket de mantis si quelqu'un veut l'utiliser. [11:23] Ubit Umarov : bien sûr, les zones de NPC sont aussi un bidouillage limité. [11:24] Ubit Umarov : donc par exemple le script de contrôle n'est pas informé que son NPC est parti. [11:25] Ubit Umarov : le contrôle des dommages de la région est aussi une chose limitée. [11:25] Ubit Umarov : les gens font des jeux, mais ne les utilisent pas. [11:25] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai joué avec cette partie un peu plus en fait, puisque j'ai déjà ajouté un moyen pour les NPCs d'annoncer quand ils ont atteint leur movetotarget assigné, j'ai pensé à ajouter un moyen pour eux d'annoncer quand ils ont été retirés parce qu'ils sont morts. [11:25] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ajouter cela est un peu plus de travail cependant [11:25] Vincent.Sylvester @hg.zetaworlds.com:8002 :De plus, dire à la région ce genre de choses n'est pas du tout élégant. [11:26] Ubit Umarov : bien sûr que ce n'est pas une solution :P [11:26] Jamie.Jordan @grid.kitely.com:8002 : Bonjour à tous [11:26] Andrew Hellershanks : Bonjour, Jamie. [11:26] Gavin.Hird @grid.xmir.org:8002 : Salut Jamie [11:26] Ubit Umarov : dans le schéma actuel des scripts, cela devrait être un événement. [11:27] Andrew Hellershanks : hm... Je ne pense pas que nous ayons un état on_derez dans les scripts. [11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai pensé à faire du script original ou plutôt de la prim qui appelle NpcCreate une partie de NpcAvatar comme champ pour qu'ils puissent faire un appel LinkMessage ou dataserver, mais je ne suis pas très versé dans le code événementiel donc je n'ai pas pris la peine de le faire. [11:27] Ubit Umarov : et si nous l'avions, cela signifierait d'autres choses... [11:27] Ubit Umarov : par exemple derez de la prim du script. [11:28] Andrew Hellershanks : Cela pourrait être utile pour les deux. [11:28] Ubit Umarov : la mort des npc pourrait être un changement. [11:28] Ubit Umarov : pas vraiment un "changement" mais ce serait bien :) [11:29] Ubit Umarov : bon... [11:29] Andrew Hellershanks : Oui. [11:29] Ubit Umarov : dans de nombreux cas, une seule boîte ou script contrôle une tonne de npcs. [11:29] Ubit Umarov : mais bon, c'est une chose à considérer pour l'avenir. [11:30] Vincent.Sylvester @hg.zetaworlds.com:8002 : L'autre considération est que si une prim a été fait l'"hôte" d'un NPC, mais vous avez en fait votre script de contrôleur dans un autre alors vous ne pouvez pas intercepter les appels non plus et faire un événement de diffusion générale disons npc(fields) envoyant à tous les scripts serait du suicide. [11:30] Ubit Umarov : comme je l'ai dit, je pense que la plupart des gens n'utilisent pas les dommages de région. [11:31] Ubit Umarov : nahh seulement le contrôleur peut capter l'événement. [11:31] Ubit Umarov : ou ce serait un spammeur de région. [11:31] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il est étonnamment difficile de tuer des choses avec des dommages activés. [11:32] Ubit Umarov : facile... volez haut et tombez. [11:32] Ubit Umarov : :) [11:32] Andrew Hellershanks : L'événement "change" est-il appelé lorsqu'il y a eu un changement dans le niveau de santé ? [11:32] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je l'ai fait tomber de 130 mètres et il est resté là à me regarder. [11:32] Andrew Hellershanks : Est-ce qu'il y a... [11:32] Ubit Umarov : Non, il n'y a pas d'événement. [11:32] Ubit Umarov : le code des dommages a été fait pour des avatars normaux. [11:33] Ubit Umarov : Le cas du kill a juste été ajouté plus tard. [11:33] Ubit Umarov : en fait, je l'ai aussi modifié maintenant, dans le module de combat. [11:33] Andrew Hellershanks : Ce serait une autre façon de le traiter s'il y avait une notification "change". [11:33] Ubit Umarov : cette notification de changement est quelque chose que j'ai proposé maintenant :p [11:34] Ubit Umarov : pas là... [11:34] Andrew Hellershanks : Si le kill case est déclenché avant que le NPC soit supprimé de la région, ce serait une autre façon de faire en sorte que le NPC dise au revoir. [11:34] Ubit Umarov : ( et discutable si cela fait partie de "change" )
Le système des NPCs
[11:34] Ubit Umarov : comme nous le savons, les NPCs ont aussi été ajoutés comme un hack. [11:34] Vincent.Sylvester @hg.zetaworlds.com:8002 : Andrew le problème est la portée, si vous voulez intercepter un NPC avec n'importe quel script sur la région alors ils doivent diffuser à tout, cela serait vraiment lourd. [11:34] Ubit Umarov : donc incohérent et limité. [11:35] Vincent.Sylvester @hg.zetaworlds.com:8002 : Les assigner au script qui les a fait naître n'est pas toujours ce que vous voulez lorsque vous utilisez une autre prim pour les contrôler et une autre pour les faire naître. [11:35] Ubit Umarov : ils ont juste obtenu telle ou telle fonctionnalité sans aucune planification. [11:35] Andrew Hellershanks : Le script pourrait faire ce qui est nécessaire pour notifier ce qui l'a rezzé ou juste notifier son propriétaire. [11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je veux dire que je suppose qu'il y aurait des moyens de détourner le contrôle d'un prim à un autre, mais cela poserait également des problèmes de sécurité. [11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : Devient vite complexe [11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : La beauté du système NPC est que tout bien considéré, il est assez léger. [11:37] Ubit Umarov : ( il semble que Bill ait ajouté un temps de garde sur la recompilation automatique :) ) [11:37] Ubit Umarov : oui, j'ai ignoré votre patch sur ce point, pour rester léger :p [11:37] Andrew Hellershanks : J'essaie de penser à des façons de gérer la notification qui ne nécessiteraient pas de changements importants dans la gestion des NPCs qui pourraient impliquer l'ajout de nouveaux états de script.
NPC et téléportation
[11:38] Ubit Umarov : nous n'avons pas besoin de osNPCTeleport par exemple. [11:38] Ubit Umarov : hmm je pense... [11:38] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je n'ai pas vraiment ajouté l'ossl pour cela je pense. [11:38] Ubit Umarov : je l'ai vu sur ce patch. [11:38] Andrew Hellershanks : hm... cela pourrait être utile dans certaines situations. [11:39] Ubit Umarov : non, ça ne l'est pas. [11:39] Andrew Hellershanks : Probablement rarement nécessaire. [11:39] Vincent.Sylvester @hg.zetaworlds.com:8002 : Utilisez simplement teleportagent [11:39] Ubit Umarov : les tps ossl fonctionnent. [11:39] Ubit Umarov : les tps locaux, bien sûr. [11:39] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai ajouté le suivi du home pour placer votre NPC et un moyen de changer cette position. [11:39] Vincent.Sylvester @hg.zetaworlds.com:8002 : Juste parce que pourquoi pas lol [11:40] Ubit Umarov : nous gardons déjà en mémoire les points de spaw des avatars. [11:40] Ubit Umarov : je pense que c'est le cas [11:40] Andrew Hellershanks : TeleportAgent fonctionnera avec les NPCs ? [11:40] Vincent.Sylvester @hg.zetaworlds.com:8002 : Oui [11:40] Ubit Umarov : non [11:40] Andrew Hellershanks : ok. Parfois Agent n'inclut pas les NPCs. [11:40] Ubit Umarov : seulement les téléports locaux. [11:41] Vincent.Sylvester @hg.zetaworlds.com:8002 : Eh bien oui, vous ne pouvez pas les déplacer dans une autre région, ce serait mauvais. [11:41] Gavin.Hird @grid.xmir.org:8002 : Peut-on les téléporter à l'intérieur d'une ligne d'interdiction ? [11:41] Andrew Hellershanks : oui. Un simple TP local pourrait avoir son utilité. [11:41] Ubit Umarov: lol [11:42] Andrew Hellershanks : Gavin, ils devraient être soumis aux mêmes règles qu'un avatar normal lorsqu'il s'agit de faire un TP. [11:42] Ubit Umarov : vous vous souvenez du problème de Fred. [11:42] Ubit Umarov : quand j'avais un créé un contrôle d'accès de parcelles aux npcs. [11:42] Ubit Umarov : ses jolis npcs se sont tous empilés à la frontière de la région. [11:43] Ubit Umarov : en faisant amusante grande pyramide de NPCs. [11:43] Ubit Umarov : vous vous souvenez de ça ? il l'a aussi ajouté à g++. [11:43] Ubit Umarov : pensez-y [11:43] Ubit Umarov : c'était si amusant :)
Limiter le nombre des NPCs
[11:43] Jagga Meredith : Je ne veux pas que des NPCs aléatoires débarquent dans ma région. C'est déjà assez difficile de s'en débarrasser comme ça. Est-ce qu'on peut les virer ? Il n'y a aucun moyen de les mettre sur une liste d'interdiction. Un bot pourrait les générer et inonder ma région. [11:44] Ubit Umarov : je pense que le kick va les tuer. [11:44] Ubit Umarov : sinon il devrait le faire [11:44] Gavin.Hird @grid.xmir.org:8002 : oui. [11:44] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il y a un suivi de la position de départ dans NpcAvatar, mais il n'est utilisé nulle part. J'ai créé un objet liste pour le suivi de cette position afin de ne pas avoir à s'interfacer avec les objets eux-mêmes. [11:44] Ubit Umarov : ils ont maintenant le contrôle d'accès aux parcelles, etc. [11:45] Ubit Umarov : parce que rien n'en a vraiment besoin. [11:45] Vincent.Sylvester @hg.zetaworlds.com:8002 : La grande question est qu'en dehors de movetotarget et d'être tué, il n'y a pas vraiment beaucoup de choses qu'un NPC doit rapporter à un script, parce que vous ne pouvez pas vraiment faire beaucoup d'autres choses avec eux qui nécessitent un retour d'information. [11:46] Ubit Umarov : public virtual Vector3 StartPos est en fait un paramètre du client. [11:46] Ubit Umarov : les avatars normaux l'ont aussi. [11:46] Andrew Hellershanks : Déplacement, arrêtez les notifications de déplacement. [11:46] Ubit Umarov : nous n'avons encore que ceux de KFM. [11:46] Andrew Hellershanks : et commencer à bouger. [11:46] Ubit Umarov : c'est une "fonctionnalité". [11:47] Ubit Umarov : ajouter cela à n'importe quel mouvement est lourd. [11:47] Andrew Hellershanks : ok. Je pensais que les événements de mouvement étaient déclenchés à chaque fois que quelque chose commençait/arrêtait le mouvement. [11:47] Ubit Umarov : spécialement sur les pièces jointes. [11:47] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je n'ajouterais ces choses que dans le cadre de constantes pour basculer ce comportement, sinon cela devient trop bavard quand on a quelques centaines de PNJs qui se baladent dans les environs. [11:48] Ubit Umarov : et il y a des choses non physiques. [11:48] Andrew Hellershanks : Start et stop seraient utiles car ils pourraient déclencher différentes animations. [11:48] Ubit Umarov : comme llSetPos. [11:48] Ubit Umarov : que ll wiki définit comme indéfini ? ? [11:48] Ubit Umarov : :) [11:48] Gavin.Hird @grid.xmir.org:8002 : quelques centaines... [11:48] Ubit Umarov : mais fait un bazar sur tout code de contrôle de mouvement. [11:48] Vincent.Sylvester @hg.zetaworlds.com:8002 : 'SL spec is moving start end works for attachments,' mais la façon dont c'est formulé ressemble plus à un bug transformé en fonctionnalité qu'autre chose. [11:49] Andrew Hellershanks : Vincent, ce n'est pas comme ça que beaucoup de fonctionnalités commencent ? ;) [11:49] Gavin.Hird @grid.xmir.org:8002 : le nombre de NPCs n'est-il pas limité par la limite du nombre d'agents dans la région? [11:49] Ubit Umarov : même les vieux scripts sl AO ne l'utilisent pas. [11:49] Ubit Umarov : ils utilisent le très lourd événement de collision et les timers. [11:49] Vincent.Sylvester @hg.zetaworlds.com:8002 : Oui, le nombre de NPC peut être limité, mais vous pouvez aussi simplement changer cette limite. [11:50] Ubit Umarov : Oui, Gavin, ils sont en dehors de cette limite. [11:50] Andrew Hellershanks : Il y a un événement "changed" que les AOs devraient utiliser. [11:50] Ubit Umarov : c'est un changement que j'ai fait il y a quelques semaines/mois ? [11:50] Andrew Hellershanks : En voyant la mention de llSetPos, j'ai trouvé un problème avec llSetRot. [11:50] Gavin.Hird @grid.xmir.org:8002 : où est configurée cette limite ? [11:50] Ubit Umarov : quelque part dans l'ini. [11:51] Ubit Umarov : et dans le monde [11:51] Gavin.Hird @grid.xmir.org:8002 : Donc si le propriétaire de la région fixe la limite d'agents à disons 10, quelqu'un peut venir et créer un tas de NPCs au-delà de cette limite ? [11:51] Ubit Umarov : Oui. [11:51] Gavin.Hird @grid.xmir.org:8002 : ouch [11:52] Ubit Umarov : la limite des npc devrait être ailleurs. [11:52] Ubit Umarov : TODO :p [11:52] Andrew Hellershanks : Quand je rezze un objet, il a une position de départ. Après qu'un script l'ait fait tourner au toucher, lorsqu'il s'agit de l'arrêter, il devrait revenir à sa rotation de départ mais ce n'est pas le cas. Lorsque je touche à nouveau l'objet pour redémarrer la rotation, il revient à sa position de départ et commence à tourner à partir de là. Une mise à jour n'est pas envoyée au viewer tout de suite. [11:52] Ubit Umarov : wle si ce n'est pas là quelque part je ne me souviens pas maintenant [11:52] Gavin.Hird @grid.xmir.org:8002 : manière de tuer les performances de la scène pour le viewer. [11:52] Gavin.Hird @grid.xmir.org:8002 : génère un tas de 2M tris NPCs. [11:53] Ubit Umarov : Je ne connais pas Andrew. [11:53] Ubit Umarov : il faut un objet de test pour le voir. [11:53] Gavin.Hird @grid.xmir.org:8002 : IMO ils ne devraient pas être en mesure de dépasser la limite d'agents de la région. [11:53] Andrew Hellershanks : Sous la version 0.8.2, l'orientation de départ était immédiatement rétablie. [11:53] Ubit Umarov : la limite de région est pour les humains. [11:53] Andrew Hellershanks : J'ai démonté un script pour faire un objet de test. [11:54] Gavin.Hird @grid.xmir.org:8002 : mais les NPCs peuvent réduire de manière significative les performances du côté du viewer. [11:54] Gavin.Hird @grid.xmir.org:8002 : en particulier si vous déversez des avatars en meshes chargés de merde. [11:54] Ubit Umarov : llSetRot n'a pas de démarrage, donc aucune idée de ce dont vous parlez andrew. [11:54] Ubit Umarov : oui, ils peuvent Gavin.Hird. [11:54] Jagga Meredith : Les NPC's tuent les performances de la région. [11:54] Gavin.Hird @grid.xmir.org:8002 : donc c'est aussi un vecteur de dégradation. [11:54] Kayaker Magic : Utiliser des animations sur un animesh Andrew ? [11:54] Gavin.Hird @grid.xmir.org:8002 : et [11:55] Ubit Umarov : je viens de découpler ces limites. [11:55] Jagga Meredith : c'est exactement ce que je veux dire. [11:55] Gavin.Hird @grid.xmir.org:8002 : si le propriétaire ne veut pas avoir plus de 10 agents dans la région, cela devrait être respecté, qu'ils soient avatars, npcs ou un mélange des deux. [11:55] Andrew Hellershanks : Ubit, j'ai dit que lorsque l'objet est rezzé, la première chose qu'il fait est d'enregistrer sa rotation. Cette valeur est utilisée pour réinitialiser la rotation de l'objet quand on lui demande d'arrêter de tourner. [11:55] Ubit Umarov : compte aussi [11:55] Ubit Umarov : non andrew [11:56] Gavin.Hird @grid.xmir.org:8002 : la limite est-elle un paramètre de la région ou un paramètre de opensimdefaults.ini ? [11:56] Andrew Hellershanks : qu'est-ce que tu veux dire par "non". [11:56] Vincent.Sylvester @hg.zetaworlds.com:8002 : Line 1214 of OpenSim.ini MaxNumberNPCsPerScene = 40 [11:56] Ubit Umarov : llSetRot définit juste la rotation. [11:56] Ubit Umarov : Ohh j'ai déjà ajouté une limite pour les npcs ? [11:57] Andrew Hellershanks : Oui, je n'ai pas dit que j'utilisais llSetRot pour obtenir la rotation. [11:57] Gavin.Hird @grid.xmir.org:8002 : cela devrait être fixé à un nombre plus bas pour que le propriétaire de la région ait délibérément à l'augmenter. [11:57] Objet : Script en cours d'exécution [11:58] Ubit Umarov : ... [11:58] Ubit Umarov : ;; nombre maximum de NPCs par scène par défaut : 40 ;; fixer à une valeur négative pour autoriser n'importe quel nombre ;; notez qu'un NPC est presque aussi lourd qu'un avatar normal, donc vous devriez les limiter ;; MaxNumberNPCsPerScene = 40 [11:58] Ubit Umarov : je l'ai fait :) [11:58] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est juste un NPC donc on ne compte que ceux-là [11:58] Ubit Umarov : oui, j'ai découplé les limites. [11:58] Vincent.Sylvester @hg.zetaworlds.com:8002 : Cela veut dire, je pense que vous pouvez toujours ajouter 40 avatars en plus. [11:58] Ubit Umarov : Oui. [11:59] Vincent.Sylvester @hg.zetaworlds.com:8002 : Donc tout le monde a un NPC) pour danser avec :) [11:59] Ubit Umarov : Ceux-ci ont dû être découplés. [12:00] Ubit Umarov : la limite de l'interface graphique ne concerne que les avatars normaux, c'est-à-dire les humains. [12:00] Vincent.Sylvester @hg.zetaworlds.com:8002: Plus there wasn't a limit before so even with default agent limit I could just spawn more [12:00] Gavin.Hird @grid.xmir.org:8002: having it in Opensim.ini means it applies to all regions in the simulator [12:00] Gavin.Hird @grid.xmir.org:8002: it needs to be per region basis [12:00] Vincent.Sylvester @hg.zetaworlds.com:8002: 250 before the viewer crashed last time I tried [12:00] Andrew Hellershanks: Ubit, I just sent you a test device. It is supposed to return to its initial rotation angle on stop. [12:00] Ubit Umarov: duhh [12:01] Ubit Umarov: this is targetomega [12:01] Andrew Hellershanks: So what? [12:01] Vincent.Sylvester @hg.zetaworlds.com:8002: It's per scene Gavin [12:01] Vincent.Sylvester @hg.zetaworlds.com:8002: scene.GetRootNPCCount() >= m_MaxNumberNPCperScene [12:01] Ubit Umarov: who onkws what viewers do [12:01] Gavin.Hird @grid.xmir.org:8002: scene defined as? [12:01] Ubit Umarov: who knows [12:02] Ubit Umarov: in fact the setrot should not even be needed there [12:02] Andrew Hellershanks: Ubit, yes. That is why the script uses llSetRot to reset its rotation after it has stopped it from turning. [12:02] Ubit Umarov: on non physical prims [12:02] Vincent.Sylvester @hg.zetaworlds.com:8002: scene is region in this case [12:02] Gavin.Hird @grid.xmir.org:8002: right [12:02] Gavin.Hird @grid.xmir.org:8002: so if you have a simulator with say 4 regions, you can add 160 NPCs to the simulator load if you want to grief it [12:03] Ubit Umarov: and yeah i see the issue [12:03] Ubit Umarov: setrot sends nothing [12:03] Ubit Umarov: because region seen no rotation change [12:03] Andrew Hellershanks: Ubit, ok good. Wait a while before restarting the rotation. You will see it return to its starting angle before it starts rotating again. [12:04] Ubit Umarov: the rotation offset you keep seeing is viewer side fake [12:04] Andrew Hellershanks: This was not a problem in 0.8.2 so either the grid code changed or the viewer code has. [12:04] Ubit Umarov: yes but 0.82 sent a ton of useless updates [12:05] Andrew Hellershanks: To me, this is not a useless update. [12:05] Ubit Umarov: that 0.9 reduces [12:05] Vincent.Sylvester @hg.zetaworlds.com:8002: Er isn't agent limit per scene/region as well [12:05] Andrew Hellershanks: Ubit,I want the object to return to a known state. [12:05] Ubit Umarov: aks viewer :p [12:05] Gavin.Hird @grid.xmir.org:8002: agent limit is per region but can be set individually in the veiwer region panel [12:06] Vincent.Sylvester @hg.zetaworlds.com:8002: I mean I guess that wouldn't be hard to add a general limit without the PerScene part [12:07] Ubit Umarov: PerScene is was viewers do [12:07] Ubit Umarov: what are you talking about? [12:07] Gavin.Hird @grid.xmir.org:8002: stored in the regionsettings table as agent_limit per region [12:08] Ubit Umarov: yes [12:08] Ubit Umarov: and? [12:08] Vincent.Sylvester @hg.zetaworlds.com:8002: He wants per scene and per simulator limits for agents and npcs [12:08] Gavin.Hird @grid.xmir.org:8002: so we need the same for npc_limit [12:08] Ubit Umarov: why? there is no gui for npcs limit [12:08] Ubit Umarov: so may in future [12:08] Ubit Umarov: maybe [12:09] Gavin.Hird @grid.xmir.org:8002: put it in regions.ini then [12:09] Ubit Umarov: it is on opensim.ini [12:09] Gavin.Hird @grid.xmir.org:8002: it is a massive griefing vector [12:09] Vincent.Sylvester @hg.zetaworlds.com:8002: Ton of things on OpenSim.ini apply per scene [12:09] Ubit Umarov: no it is now [12:09] Ubit Umarov: it is not [12:09] Gavin.Hird @grid.xmir.org:8002: particularlyif you run multiple regions per simulator like very amny do [12:09] Jagga Meredith: '[[[[[[[[[[[[[ [12:10] Ubit Umarov: if you are running several regions per sim and have several owners on them you are suicidal :) [12:10] Gavin.Hird @grid.xmir.org:8002: owners have noting to do with it [12:10] Gavin.Hird @grid.xmir.org:8002: the limit is per region [12:11] Vincent.Sylvester @hg.zetaworlds.com:8002: I get the idea of a per simulator limit for agents and NPCs in a way, then again never had people use that to try killing a region [12:11] Ubit Umarov: well for now it is a static safe guard limit on opensim.ini [12:11] Vincent.Sylvester @hg.zetaworlds.com:8002: A risk would be no limit like it used to be [12:12] Gavin.Hird @grid.xmir.org:8002: then set teh default to a very low limit so the region owner deliberately has to increase it knowing the consequence [12:12] Ubit Umarov: actually don't remember if npc create does check it :p [12:12] Gavin.Hird @grid.xmir.org:8002: I bet it does not , hehe [12:12] Andrew Hellershanks: :) [12:12] Vincent.Sylvester @hg.zetaworlds.com:8002: public UUID CreateNPC(string firstname, string lastname, Vector3 position, UUID agentID, UUID owner, string groupTitle, UUID groupID, bool senseAsAgent, bool candie, Scene scene, AvatarAppearance appearance) { if(m_MaxNumberNPCperScene > 0) { if(scene.GetRootNPCCount() >= m_MaxNumberNPCperScene) return UUID.Zero; } [12:13] Ubit Umarov: ahh cool [12:13] Gavin.Hird @grid.xmir.org:8002: I wish my bank account worked like that [12:13] Vincent.Sylvester @hg.zetaworlds.com:8002: I mean a check for overall NPCs per simulator with a simple foreach there wouldn't be hard to add either [12:14] Vincent.Sylvester @hg.zetaworlds.com:8002: If you are concerned you can add that [12:14] Vincent.Sylvester @hg.zetaworlds.com:8002: Or just disable NPCs, creepy buggers anyways [12:14] Gavin.Hird @grid.xmir.org:8002: they do have their use [12:14] Gavin.Hird @grid.xmir.org:8002: but can be bloody annoying too [12:15] Vincent.Sylvester @hg.zetaworlds.com:8002: But even 4 regions you can put 160, that's not enough to crash a viewer, that only starts past 250 [12:15] Ubit Umarov: do not complicate things :p [12:15] Vincent.Sylvester @hg.zetaworlds.com:8002: Making them all Ruth you can get away with 500 or more [12:16] Gavin.Hird @grid.xmir.org:8002: depends on what the npc wears [12:16] Ubit Umarov: as gavin said, it just move the setting to regions.ini [12:16] Ubit Umarov: that makes it per scene [12:16] Ubit Umarov: and change the setting read code here and there [12:16] Gavin.Hird @grid.xmir.org:8002: pile on multi million tris outfits and the viewer starts to struggle fast [12:17] Ubit Umarov: not issue for now [12:17] Gavin.Hird @grid.xmir.org:8002: regions.ini is a good place to have it [12:18] Ubit Umarov: yeah [12:18] Gavin.Hird @grid.xmir.org:8002: great! [12:18] Jagga Meredith: yup [12:18] Vincent.Sylvester @hg.zetaworlds.com:8002: That would require NPC module to specifically check regions parameters though [12:18] Ubit Umarov: not going to do it now :p [12:18] Gavin.Hird @grid.xmir.org:8002: what??! [12:18] Ubit Umarov: keep remembering me :) [12:19] Kayaker Magic: Before the meeting winds down, I'm trying to set up Robust and getting an error, can someone look at this and tell me where to look for what I did wrong: [12:19] Kayaker Magic: 11:35:06 - [SERVER UTILS]: Error loading plugin OpenSim.Services.Interfaces.IUserAgentService from .dll. Exception: [UserAgentService] could not parse gatekeeper uriSystem.Reflection.TargetInvocati rown by the target of an invocation. [12:19] Andrew Hellershanks: I was just about to ask if anyone had a question not related to NPCs. [12:19] Kayaker Magic: hehe [12:19] Jagga Meredith: i've got one too [12:20] Vincent.Sylvester @hg.zetaworlds.com:8002: "could not parse gatekeeper uri" [12:20] Vincent.Sylvester @hg.zetaworlds.com:8002: What did you set for that? [12:20] Andrew Hellershanks: The message states it is a bad URI. Have a look at the gatekeeper URI. Seems you have a syntax error in the file. [12:20] Andrew Hellershanks: Jagga, ok. You will be next. [12:20] Jagga Meredith: Faceboook is about to announce a name change due to their entry into the Metaverse, and will be hiring 80,000 people in Europe. Has anybody been approached? I'm not in Europe but I could use a job. [12:21] Kayaker Magic: there are several places in the example Robust.ini that talk about gatekeep3er, which one? [12:21] Andrew Hellershanks: Kayaker, which one have you changed? [12:21] Kayaker Magic: All of them, using constants, like: gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/ [12:22] Kayaker Magic: That was in [FSASSETS] [12:22] Andrew Hellershanks: I can't find any reference to gatekeeper in robust.ini file. [12:22] Gavin.Hird @grid.xmir.org:8002: but it still use opensim.ini does it not? [12:23] Andrew Hellershanks: No. Robust doesn't use OS.ini [12:23] Gavin.Hird @grid.xmir.org:8002: ok [12:23] Gavin.Hird @grid.xmir.org:8002: and the files in config-include? [12:23] Ubit Umarov: ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this grid} {} ;; This is the address of the external robust server ;; that runs the Gatekeeper service, possibly this server. ;; For example http://myworld.com:8002 ;; This is a default that can be overwritten in some sections. ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" ;# {GatekeeperURIAlias} {Hypergrid} {alternative hostnames (FQDN), or IPs of the gatekeeper of this grid and port (default 80 or 443 if alias starts with https://)} {} ;; comma separated list, ;; this is to allow this grid to identify this as references to itself ;; entries can be unsecure url (host:port) if using ssl, direct login url if different, old grid url, etc ; GatekeeperURIAlias = "login.osgrid.org" [12:23] Ubit Umarov: it is there [12:24] Kayaker Magic: Hmm. some have slashes at the end, some do not.... [12:25] Kayaker Magic: and I am using an IP address as the BaseURL for now, could that cause a problem? [12:25] Ubit Umarov: guess not [12:25] Andrew Hellershanks: Kayaker, in other ini files the gatekeeper URI doesn't end in a /. [12:25] Gavin.Hird @grid.xmir.org:8002: is it Robust.ini or Robust.HG.ini you have Kayaker? [12:25] Kayaker Magic: Started from .HG. [12:25] Gavin.Hird @grid.xmir.org:8002: ok [12:26] Gavin.Hird @grid.xmir.org:8002: GatekeeperServiceInConnector [12:27] Gavin.Hird @grid.xmir.org:8002: GatekeeperURI [12:27] Gavin.Hird @grid.xmir.org:8002: GatekeeperService [12:27] Gavin.Hird @grid.xmir.org:8002: are the 3 ones I have configured [12:28] Gavin.Hird @grid.xmir.org:8002: GatekeeperServiceInConnector = "8002/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector" [12:28] Andrew Hellershanks: Kayaker said it was the URI that has an error. [12:28] Gavin.Hird @grid.xmir.org:8002: GatekeeperURI = "http://grid.xmir.org:8002" [12:28] Kayaker Magic: After it prints that angry reqd message, it continues on and finishes starting up. [12:28] Gavin.Hird @grid.xmir.org:8002: gatekeeper = http://grid.xmir.org:8002 [12:29] Kayaker Magic: I tried removing that extra slash, same error. [12:29] Gavin.Hird @grid.xmir.org:8002: GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" [12:29] Kayaker Magic: I didn't change that line! [12:29] Andrew Hellershanks: Kayaker, Do you have any extra charactersin the Const declarations that could be causing trouble when it tries to put the pieces together? [12:30] Andrew Hellershanks: You can IM me the Const values [12:30] Andrew Hellershanks: Could it be a case of http vs https? [12:31] Kayaker Magic: BaseURL = "www.xxx.yyy.zzz" WebURL = "www.xxx.yyy.zzz" [12:31] Ubit Umarov: do you have GateKeeperURI defined? ( not GateKeeper) [12:31] Selby.Evans @grid.kitely.com:8002: must go -- bye all [12:31] Ubit Umarov: cya [12:31] Kayaker Magic: no.... [12:32] Ubit Umarov: GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" [12:32] Gavin.Hird @grid.xmir.org:8002: you must have that one for it to work [12:32] Ubit Umarov: it is there on the example file [12:32] Andrew Hellershanks: Kayaker, you are missing the http:// part of BaseURL. [12:32] Kayaker Magic: Yes, lower case K in GatekeeperURI [12:33] Kayaker Magic: GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" [12:33] Jamie.Jordan @grid.kitely.com:8002: I have to step out also. Have a great week yall [12:33] Andrew Hellershanks: ok, Jamie. See you next week. [12:33] Ubit Umarov: yeah http:// at start does help also :p [12:33] Gavin.Hird @grid.xmir.org:8002: does the ip address resolve isnde your fw? [12:34] Ubit Umarov: BaseURL = "http://www.xxx.yyy.zzz" [12:34] Kayaker Magic: I'll give that a try [12:34] Ubit Umarov: guess same for weburl [12:35] Andrew Hellershanks: yes. Same for weburl. [12:35] Andrew Hellershanks: The examples in the ini file show those settings starting with http:// [12:35] Kayaker Magic: YES! [12:35] Kayaker Magic: Starts with no errors now! [12:35] Jagga Meredith: woohoo [12:36] Kayaker Magic: Thank you! [12:36] Andrew Hellershanks: yw [12:36] Ubit Umarov: :) [12:36] Kayaker Magic: Jagga's turn!] [12:36] Andrew Hellershanks: I never questioned whether they should or should not start with http://. I just followed the example. [12:36] Ubit Umarov: better we end now before kayaker robust crashes elsewhere [12:36] Ubit Umarov: ;) [12:36] Andrew Hellershanks: Jagga, you can repeat your question as it was posted quite a while back now. [12:37] Jagga Meredith: agreed my questiion can wait a week [12:37] Jagga Meredith: Faceboook is about to announce a name change due to their entry into the Metaverse, and will be hiring 80,000 people in Europe. Has anybody been approached? I'm not in Europe but I could use a job. [12:37] Kayaker Magic: LOL, no my next crashes will be in OpenSim.ese.... [12:37] Ubit Umarov: ( i was kidding ) [12:37] Jagga Meredith: can of worms [12:37] Ubit Umarov: we have no relation with facebook [12:37] Andrew Hellershanks: I haven't been but I don't pay attention to Facebook. Don't use it. Have no interest in it. [12:37] Ubit Umarov: ask them [12:37] Jagga Meredith: ok, good [12:37] Jagga Meredith whispers: did that [12:38] Gavin.Hird @grid.xmir.org:8002: I'd use a variation of better dead than red about FB [12:38] Ubit Umarov: guess if they said europe workers that means europe [12:38] Jagga Meredith: yeah [12:39] Gavin.Hird @grid.xmir.org:8002: that creepy metaverse thing of FB of course requires you to be logged in to it all times [12:39] Ubit Umarov: they have a metaverse thing? [12:40] Ubit Umarov: :) [12:40] Gavin.Hird @grid.xmir.org:8002: that is why they will change the name and hire [12:40] Gavin.Hird @grid.xmir.org:8002: plus the Occulus mask [12:40] Gavin.Hird @grid.xmir.org:8002: requires FB login [12:40] Ubit Umarov: why not make a chip to put on babies brains? [12:40] Ubit Umarov: well we will be there.. one day [12:41] Ubit Umarov: or possible the baby just on a living tank [12:41] Ubit Umarov: ( yes i saw all the matrix movies ) [12:41] Gavin.Hird @grid.xmir.org:8002: the baby is actually redundant. just put the chip in the tank [12:41] Ubit Umarov: yeah :) [12:42] Gavin.Hird @grid.xmir.org:8002: wow [12:42] Ubit Umarov: that part of humans as energy source was.. bad :p [12:42] Andrew Hellershanks: We are at almost 15 minutes before the end of the second hour. Any last minute items before we wrap up todays meeting? [12:43] Ubit Umarov: machines can find a ton of things better than human bodies as energy source [12:43] Ubit Umarov: even if burning the bodies [12:43] Gavin.Hird @grid.xmir.org:8002: windmill? [12:44] Ubit Umarov: yeah that is better when ther is wind [12:44] Ubit Umarov: ( or humans blowing at it ) [12:44] Gavin.Hird @grid.xmir.org:8002: poor humans [12:44] Ubit Umarov: that may be a future job [12:44] Ubit Umarov: windmill blower [12:44] Jagga Meredith: kewl [12:44] Gavin.Hird @grid.xmir.org:8002: you know that each exhale has 40x the level of CO2 than the inhale [12:45] Andrew Hellershanks: I'd say we are done for today. Thank you all for coming. See you again next week.