Réunion du 26-10-2021

De OSWiki
Aller à la navigation Aller à la recherche

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

[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" )
[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.
[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 :)
[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: The big question is outside of movetotarget and being killed there isn't really much an NPC has to report to a script, because you can't really do much else with them that requires feedback
[11:46] Ubit Umarov: public virtual Vector3 StartPos  is actually a client parameter
[11:46] Ubit Umarov: normal avatars also have it
[11:46] Andrew Hellershanks: Moving, stop moving notices.
[11:46] Ubit Umarov: we only have those for KFM still
[11:46] Andrew Hellershanks: and start moving.
[11:46] Ubit Umarov: that is a "feature"
[11:47] Ubit Umarov: adding that to any movement is heavy
[11:47] Andrew Hellershanks: ok. I thought the moving events were triggered any time something started/stopped movement.
[11:47] Ubit Umarov: specially on attachments
[11:47] Vincent.Sylvester @hg.zetaworlds.com:8002: I would only add those things as part of constants to toggle that behavior as otherwise that gets too chatty for when you have a few hundred NPCs roaming about
[11:48] Ubit Umarov: and there are non physical things
[11:48] Andrew Hellershanks: Start and stop would be useful as they could trigger different animations.
[11:48] Ubit Umarov: like llSetPos
[11:48] Ubit Umarov: that ll wiki defines as undefined ??
[11:48] Ubit Umarov: :)
[11:48] Gavin.Hird @grid.xmir.org:8002: few hundred...
[11:48] Ubit Umarov: but do a mess on any movement control code
[11:48] Vincent.Sylvester @hg.zetaworlds.com:8002: SL spec is moving start end works for attachments, but the way that is worded it sounds more like a bug turned feature than anything
[11:49] Andrew Hellershanks: Vincent, isn't that how many features start out? ;)
[11:49] Gavin.Hird @grid.xmir.org:8002: so are not number of NPCs limited by region agent limits?
[11:49] Ubit Umarov: even old sl AO scripts don't use it
[11:49] Ubit Umarov: they use the very heavy collision event and timers
[11:49] Vincent.Sylvester @hg.zetaworlds.com:8002: Yes NPC count can be limited, but you can also just change that limit
[11:50] Ubit Umarov: yes gavin they are out of it
[11:50] Andrew Hellershanks: There is a changed event that AOs should be using.
[11:50] Ubit Umarov: that was a change i made some weeks/month? ago
[11:50] Andrew Hellershanks: Seeing the mention of llSetPos I have found problem with llSetRot.
[11:50] Gavin.Hird @grid.xmir.org:8002: where is taht limit configured?
[11:50] Ubit Umarov: somewhere on ini
[11:51] Ubit Umarov: and in world
[11:51] Gavin.Hird @grid.xmir.org:8002: so if the region owner set the agent limit to say 10, someone can come and spawn a load of NPCs over that limit?
[11:51] Ubit Umarov: yeap
[11:51] Gavin.Hird @grid.xmir.org:8002: ouch
[11:52] Ubit Umarov: npc limit should be elsewhere
[11:52] Ubit Umarov: TODO :p
[11:52] Andrew Hellershanks: When I rez an object it gets its starting position. After a script rotates it upon touch when it goes to stop it it should return to its start rotation but it doesn't. When I touch the device again to restart the rotation it jumps to its start rotation and starts rotating from there. Some update isn't going out to the viewer right away.
[11:52] Ubit Umarov: wle if not there somewhere i do not remember now
[11:52] Gavin.Hird @grid.xmir.org:8002: way to kill scene performance for the viewer
[11:52] Gavin.Hird @grid.xmir.org:8002: spawn a bunch of 2M tris NPCs
[11:53] Ubit Umarov: don't know Andrew
[11:53] Ubit Umarov: that needs a test oject to see
[11:53] Gavin.Hird @grid.xmir.org:8002: IMO they should not be able to exceed the region agent limit
[11:53] Andrew Hellershanks: Under 0.8.2 it used to return to start orientation right away.
[11:53] Ubit Umarov: region limit is for humans
[11:53] Andrew Hellershanks: I stripped down a script to make a test object.
[11:54] Gavin.Hird @grid.xmir.org:8002: but the NPCs can significantly kill viewer side performance
[11:54] Gavin.Hird @grid.xmir.org:8002: particularly if you dump in mesh avatars loaded with crap
[11:54] Ubit Umarov: llSetRot has no start thing, so no idea what you are talking about andrew
[11:54] Ubit Umarov: yes they can gavin.Hird
[11:54] Jagga Meredith: NPC's kill region performance
[11:54] Gavin.Hird @grid.xmir.org:8002: so that is also a griefing vector
[11:54] Kayaker Magic: Using animations on an animesh Andrew?
[11:54] Gavin.Hird @grid.xmir.org:8002: and
[11:55] Ubit Umarov: just did decouple those limits
[11:55] Jagga Meredith: my point exactly
[11:55] Gavin.Hird @grid.xmir.org:8002: if the owner don't want to have more than 10 agenst in the region, that should be respected regardless if they are avatars, npcs or a mix thereof
[11:55] Andrew Hellershanks: Ubit, I said that when the object is rezzed the first thing it does is to record its rotation. That value is used to reset the object rotation when it is told to stop rotating.
[11:55] Ubit Umarov: also counting
[11:55] Ubit Umarov: no andrew
[11:56] Gavin.Hird @grid.xmir.org:8002: is the limit a region setting or a opensimdefaults.ini setting?
[11:56] Andrew Hellershanks: what do you mean "no"
[11:56] Vincent.Sylvester @hg.zetaworlds.com:8002: Line 1214 of OpenSim.ini MaxNumberNPCsPerScene = 40
[11:56] Ubit Umarov: llSetRot just sets the rotation.
[11:56] Ubit Umarov: Ohh i did add a limit for npcs alreadu?
[11:57] Andrew Hellershanks: Yes, I didn't say that I use llSetRot to get the rotation.
[11:57] Gavin.Hird @grid.xmir.org:8002: that should be set to a lower number so the region owner deliberately had to increase it
[11:57] Object: Script running
[11:58] Ubit Umarov: ...
[11:58] Ubit Umarov: ;; max number of NPCs per scene default: 40
    ;; set to a negative value to allow any number
    ;; note that a NPC is almost as heavy as a normal avatar, so you should limit them
    ;; MaxNumberNPCsPerScene = 40
[11:58] Ubit Umarov: i did :)
[11:58] Vincent.Sylvester @hg.zetaworlds.com:8002: This is just NPC so only counts those
[11:58] Ubit Umarov: yes i did decouple the limits
[11:58] Vincent.Sylvester @hg.zetaworlds.com:8002: Means, I think you can still add 40 avatars on top
[11:58] Ubit Umarov: yeap
[11:59] Vincent.Sylvester @hg.zetaworlds.com:8002: So everyone has a creepy NPC to dance with :)
[11:59] Ubit Umarov: those had to be decoupled
[12:00] Ubit Umarov: the one on GUI related only to normal avatars, ie humans
[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.