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.
Modifications du code de cette semaine
- Niveau de vie des NPC
- Nettoyage de Mantis
- Bug des pièces jointes des notes groupe : non conservation en cas de suppression de l'inventaire de l'envoyeur.
[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. [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: It sitting there as fully qualified inventory item means you can just call the transfer methods used to transfer inventory items, which are a lot simpler to call then a heavy reconstruction method to create a new inventory item from scratch [11:19] Andrew Hellershanks: Right. Good old permissions flags. :) [11:20] Ubit Umarov: about that change Vincent.Sylvester did mention about npc it is actually Damage control [11:20] Ubit Umarov: NPCs case was forgotten on a ossl damage function [11:20] Vincent.Sylvester @hg.zetaworlds.com:8002: I did propose returning the NPC to the position it was first spawned at and provide a way to define whether you want the NPC to be mortal or not, suppose that would add a lot more complexity though [11:21] Ubit Umarov: so when health went < 0, normal avatars code was done [11:21] Ubit Umarov: ie tp home etc [11:21] Andrew Hellershanks: That could make some games easier to code. I know someone who had NPC zombies in a game. [11:21] Vincent.Sylvester @hg.zetaworlds.com:8002: Well yes and no [11:21] Ubit Umarov: but that tp home code path is "undefined" for NPCs [11:21] Vincent.Sylvester @hg.zetaworlds.com:8002: Figuring out that they died is a bit difficult still [11:22] Andrew Hellershanks: Ubit, did you mean to type "<= 0"? [11:22] Ubit Umarov: guess just did fail somewhere after wasting resources [11:22] Ubit Umarov: so i did applied a old proposed patch that just kills them [11:22] Ubit Umarov: that is what makes sense on a NPCs [11:23] Andrew Hellershanks nods [11:23] Vincent.Sylvester @hg.zetaworlds.com:8002: Think I left my patch on the mantis ticket if anyone wants to use that [11:23] Ubit Umarov: ofc NPC ares are also a limited hack [11:24] Ubit Umarov: so for example the control script does not get informed its npc is gone [11:25] Ubit Umarov: region damage control is also a limited thing [11:25] Ubit Umarov: people are making games, just not using it [11:25] Vincent.Sylvester @hg.zetaworlds.com:8002: I did play with that part some more actually, since I already added a way for NPCs to announce when they reached their assigned movetotarget I did think about adding a way for them to announce when they were removed because they died [11:25] Vincent.Sylvester @hg.zetaworlds.com:8002: Adding that is a bit more work though [11:25] Vincent.Sylvester @hg.zetaworlds.com:8002: Plus to just regionsay that stuff isn't elegant in the slightest [11:26] Ubit Umarov: ofc that is not a solution :P [11:26] Jamie.Jordan @grid.kitely.com:8002: Hi everybody [11:26] Andrew Hellershanks: Hello, Jamie. [11:26] Gavin.Hird @grid.xmir.org:8002: Hi Jamie [11:26] Ubit Umarov: in current scripts schem that should be a event [11:27] Andrew Hellershanks: hm... I don't think we have an on_derez state in scripts. [11:27] Vincent.Sylvester @hg.zetaworlds.com:8002: I did think about making the original script or rather prim that calls NpcCreate part of NpcAvatar as field so they could instead do a LinkMessage or dataserver call, but I am not that versed in event code so didn't bother [11:27] Ubit Umarov: and if we had it would mean other think [11:27] Ubit Umarov: ie derez of the script prim [11:28] Andrew Hellershanks: Might be useful for both. [11:28] Ubit Umarov: npc death guess could be a change [11:28] Ubit Umarov: not quiet a "chage" but would fir nice :) [11:29] Ubit Umarov: fit... [11:29] Andrew Hellershanks: yes [11:29] Ubit Umarov: in many cases a single box or script controls a ton of npcs [11:29] Ubit Umarov: but well things to consider for future [11:30] Vincent.Sylvester @hg.zetaworlds.com:8002: The other consideration is that if a prim was made the "host" of an NPC, but you actually have your controller script in another then you cannot intercept the calls either and making a general broadcast event say npc(fields) sending to all scripts would be suicide [11:30] Ubit Umarov: as i said think most just do not use region damage [11:31] Ubit Umarov: nahh only the controler can get the event [11:31] Ubit Umarov: or would be a region spammer [11:31] Vincent.Sylvester @hg.zetaworlds.com:8002: Surprisingly difficult to actually murder things with damage enabled [11:32] Ubit Umarov: easy... fly high and fall [11:32] Ubit Umarov: :) [11:32] Andrew Hellershanks: Is the change event called when there has been a change in the health level? [11:32] Vincent.Sylvester @hg.zetaworlds.com:8002: I had it fall from 130 meters and it kept just standing there looking at me [11:32] Andrew Hellershanks: Is there... [11:32] Ubit Umarov: no there is no event [11:32] Ubit Umarov: damage code was made for normal avatars [11:33] Ubit Umarov: just the kill case was added later [11:33] Ubit Umarov: in fact i changed it also now, on the combat module [11:33] Andrew Hellershanks: That would be another way to handle it if there was a change notice. [11:33] Ubit Umarov: that change notice was something i kinda proposed now :p [11:34] Ubit Umarov: not there.. [11:34] Andrew Hellershanks: If the kill case is triggered before the NPC is removed from the region that would be another way of having the NPC say goodbye. [11:34] Ubit Umarov: ( and questionable if part of change ) [11:34] Ubit Umarov: as we know, npcs where also added as a hack [11:34] Vincent.Sylvester @hg.zetaworlds.com:8002: Andrew the problem is the scope, if you want to intercept an NPC with any script on the region then they have to broadcast to all which would be really heavy [11:34] Ubit Umarov: so incoerent and limited [11:35] Vincent.Sylvester @hg.zetaworlds.com:8002: Assigning them to the script that spawned them isn't always what you want when using another prim to control them and one to spawn them [11:35] Ubit Umarov: they just got this or that feature bc without any planning [11:35] Andrew Hellershanks: The script could do what is needed to notify what ever rezzed it or just notify its owner. [11:36] Vincent.Sylvester @hg.zetaworlds.com:8002: I mean I suppose there would be ways to like wrestle control away from one prim to another, but that would also pose security problems [11:36] Vincent.Sylvester @hg.zetaworlds.com:8002: Gets complex fast [11:36] Vincent.Sylvester @hg.zetaworlds.com:8002: Beauty of the NPC system is that all things considered it is pretty light [11:37] Ubit Umarov: ( seems Bill did add a guard time on the automatic recompile :) ) [11:37] Ubit Umarov: yeah i ignored your patch on that, to keep it light :p [11:37] Andrew Hellershanks: I'm trying to think of ways notifcation could be handled that wouldn't require extensive changes to the handling of NPCs that might involve adding new script states. [11:38] Ubit Umarov: we do not need osNPCTeleport for example [11:38] Ubit Umarov: hmm i think [11:38] Vincent.Sylvester @hg.zetaworlds.com:8002: I didn't actually add the ossl for that I think [11:38] Ubit Umarov: seen it on that patch [11:38] Andrew Hellershanks: hm... that might be useful in some situations. [11:39] Ubit Umarov: no it is not [11:39] Andrew Hellershanks: Probably rarely needed. [11:39] Vincent.Sylvester @hg.zetaworlds.com:8002: Just use teleportagent [11:39] Ubit Umarov: the ossl tps do work [11:39] Ubit Umarov: the local tps, ofc [11:39] Vincent.Sylvester @hg.zetaworlds.com:8002: I did add home tracking for place you spawn NPC at and a way to change that position [11:39] Vincent.Sylvester @hg.zetaworlds.com:8002: Just because why not lol [11:40] Ubit Umarov: we do keep store of avatar spaw points already [11:40] Ubit Umarov: i think [11:40] Andrew Hellershanks: TeleportAgent will work on NPCs? [11:40] Vincent.Sylvester @hg.zetaworlds.com:8002: Yes [11:40] Ubit Umarov: no [11:40] Andrew Hellershanks: ok. Sometimes Agent doesn't include NPCs. [11:40] Ubit Umarov: only local teleports [11:41] Vincent.Sylvester @hg.zetaworlds.com:8002: Well yeah you can't move them to another region, that would be bad [11:41] Gavin.Hird @grid.xmir.org:8002: can you teleport one inside a ban line? [11:41] Andrew Hellershanks: yes. Just a local TP might have its uses. [11:41] Ubit Umarov: lol [11:42] Andrew Hellershanks: Gavin, they should be subject to the same rules as a regular avatar when it comes to doing a TP. [11:42] Ubit Umarov: you did remember me Fred issue report [11:42] Ubit Umarov: when i had parcel access control to npcs [11:42] Ubit Umarov: his nice npcs all did pile up at region border [11:43] Ubit Umarov: making fun tall npcs piramid [11:43] Andrew Hellershanks: hehe [11:43] Gavin.Hird @grid.xmir.org:8002: :-) [11:43] Ubit Umarov: remember that? thing he also added it to g++ [11:43] Ubit Umarov: think [11:43] Ubit Umarov: was so fun :) [11:43] Jagga Meredith: I don't want random NPC's popping into my region. They're hard enough to get rid of as it is. Can they be kicked? There's no way to put them on a ban list. A bot could generate them and crash/flood my regioon [11:44] Ubit Umarov: think kick will kill them [11:44] Ubit Umarov: if not it should [11:44] Gavin.Hird @grid.xmir.org:8002: yes [11:44] Vincent.Sylvester @hg.zetaworlds.com:8002: There is tracking of start position in NpcAvatar, just isn't used anywhere. I setup a list object for tracking that so it wouldn't need to interface with the objects themselves [11:44] Ubit Umarov: well they now get parcel access control etc [11:45] Ubit Umarov: bc nothing needs it really [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.