Chat log from the meeting on 2021-10-26

From OpenSimulator

Jump to: navigation, search
[11:00] Andrew Hellershanks: Hello, everyone.
[11:00] Ubit Umarov: hi
[11:00] Gavin.Hird Hi Andrew
[11:00] Ubit Umarov: guys if we get killed, go to hurliman plaza
[11:02] Selby.Evans hi everyone
[11:02] Ubit Umarov: hi
[11:02] Andrew Hellershanks: Hello, Selby.
[11:03] Andrew Hellershanks: Ubit, Did you push some code changes in the last few minutes?
[11:03] Vincent.Sylvester Yeah I was fixing some log message and sent him the patch so we went and fixed it his way lol
[11:03] Ubit Umarov: yes i did :p
[11:03] Vincent.Sylvester Now we wait for the boot
[11:04] Ubit Umarov: so yes region may do the automatic update killing us all
[11:04] Ubit Umarov: or not.. lets see
[11:04] Ubit Umarov: not sure if Bill added a guard time for the meeting
[11:05] Gavin.Hird someone put in a might do statement in that script?
[11:05] Andrew Hellershanks: yea, I was about to suggest that as a useful addition to the update script.
[11:05] Ubit Umarov: "might do" ?
[11:05] Gavin.Hird if the processor can be bothered
[11:05] Andrew Hellershanks: That had me puzzled as well, Ubit.
[11:05] Gavin.Hird it might restart the region
[11:06] Ubit Umarov: yeah need ask Bill, as tou know this region runs on one of his machines
[11:06] Andrew Hellershanks: Here comes Kayaker.
[11:06] Andrew Hellershanks: Hello, Kayaker.
[11:06] Kayaker Magic: Hi Andrew, et all!
[11:06] Gavin.Hird Hi Kayaker
[11:06] Ubit Umarov: well possible he already added that to script
[11:07] Ubit Umarov whispers: it is not the first time i commit just before a meeting :)
[11:07] Andrew Hellershanks nods
[11:07] Vincent.Sylvester Biggest code change this week was NPC related, when they are relieved of their health they will be removed now
[11:07] Ubit Umarov: you can blame vincent.Sylvester on this
[11:07] Vincent.Sylvester I still maintain that to be quite a breaking change, but eh, matter of opinion I guess
[11:08] Vincent.Sylvester Few old bugs were resolved as well
[11:08] Andrew Hellershanks: That is one of 6 mantis reports that were addressed by code changes this past week.
[11:08] Vincent.Sylvester Been digging up everything that wasn't on a tree by the count of five, trying to either resolve or confirm what's still open
[11:09] Ubit Umarov: Yeah some old reports still apply
[11:09] Ubit Umarov: a few will stay as "feature"
[11:09] Vincent.Sylvester Goal is to get a more clear picture of what's still broken and the most grave bugs that should be tackled at some point
[11:10] Ubit Umarov: at least for 0.9.2 release
[11:10] Vincent.Sylvester A bunch of things are too complex for me to test, I don't really want to setup freeswitch again just to test those tickets
[11:10] Ubit Umarov: a case is group notices attachments
[11:10] Gavin.Hird are we lookking for 22?
[11:10] Andrew Hellershanks: Gavin, 22 what?
[11:10] Ubit Umarov: currently a group notice attachement is basicly a share of a item on the sender inventorty
[11:11] Gavin.Hird 2022 for the 0.9.2 release
[11:11] Ubit Umarov: so if sender deletes that item, the attachment is gone
[11:11] Gavin.Hird make it 0.9.22 in case
[11:11] Vincent.Sylvester I still cannot reproduce the error on that ticket without, as Ubit says, delete the item from inventory
[11:11] Andrew Hellershanks: The number would be bumped from .2 to .22
[11:12] Ubit Umarov: that can be confusing, so in future those items should be kept elsewhere
[11:12] Ubit Umarov: like for example another system user :p
[11:12] Vincent.Sylvester Did brainstorm over what could be done better, thinking making os_groups_attachments essentially copying the inventory item row from the inventoryitems table over to that so the original user cannot delete the item
[11:12] Ubit Umarov: of in a more clean form another field on notices db
[11:12] Vincent.Sylvester We don't currently clear anything out automatically so this could add a lot of overhead
[11:13] Andrew Hellershanks: The group attachment points to an inventory item? I would have thought it should point to an asset.
[11:13] Ubit Umarov: guess that happens at SL, plus there all notices older than 30 days are deleted
[11:13] Vincent.Sylvester I thought so too, but it is actually easier to re-use the inventory transfer methods than creating a new inventory item from the asset itself
[11:14] Vincent.Sylvester I can see why that was done this way
[11:14] Andrew Hellershanks: I had a script running in a grid that would expire old group notices.
[11:14] Ubit Umarov: yeah those expires need to be done by external code now
[11:14] Ubit Umarov: directly on the db
[11:14] Vincent.Sylvester All database driven so cron delete old rows essentially
[11:14] Andrew Hellershanks: now? I thought they always needed to be done that way.
[11:15] Ubit Umarov: ( this for both our groups modules )
[11:15] Ubit Umarov: always includes now :p
[11:15] Vincent.Sylvester Robust could probably do it with some form of timer checking every few minutes, but if that's actually better is debatable
[11:16] Ubit Umarov: well unless we do spot a bug, i will not change that for 0.9.2
[11:16] Andrew Hellershanks: When you transfer an item the DB entry in the inventory_items table has a pointer to the assetID so why is that not available for group notices?
[11:17] Ubit Umarov: bc ia pointer to the inv ID on sender Inv is what is used
[11:18] Ubit Umarov: i mean the attachment is stored on the notice as that
[11:18] Gavin.Hird makes sense
[11:18] Vincent.Sylvester Because an asset is just an asset, for that to sit in inventory as item you need a few other things as well which are things you cannot extract or set easily. Just pointing to the asset would mean storing all the remaining fields as well so a proper inventory item can be created from that
[11:18] Vincent.Sylvester Things like creator and permissions, stuff like that
[11:19] Vincent.Sylvester 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 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 Well yes and no
[11:21] Ubit Umarov: but that tp home code path is "undefined" for NPCs
[11:21] Vincent.Sylvester 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 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 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 Adding that is a bit more work though
[11:25] Vincent.Sylvester 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 Hi everybody
[11:26] Andrew Hellershanks: Hello, Jamie.
[11:26] Gavin.Hird 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 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 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 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 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 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 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 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 Gets complex fast
[11:36] Vincent.Sylvester 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 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 Just use teleportagent
[11:39] Ubit Umarov: the ossl tps do work
[11:39] Ubit Umarov: the local tps, ofc
[11:39] Vincent.Sylvester I did add home tracking for place you spawn NPC at and a way to change that position
[11:39] Vincent.Sylvester 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 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 Well yeah you can't move them to another region, that would be bad
[11:41] Gavin.Hird 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 :-)
[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 yes
[11:44] Vincent.Sylvester 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 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 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 few hundred...
[11:48] Ubit Umarov: but do a mess on any movement control code
[11:48] Vincent.Sylvester 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 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 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 where is taht limit configured?
[11:50] Ubit Umarov: somewhere on ini
[11:51] Ubit Umarov: and in world
[11:51] Gavin.Hird 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 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 way to kill scene performance for the viewer
[11:52] Gavin.Hird 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 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 but the NPCs can significantly kill viewer side performance
[11:54] Gavin.Hird 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 so that is also a griefing vector
[11:54] Kayaker Magic: Using animations on an animesh Andrew?
[11:54] Gavin.Hird and
[11:55] Ubit Umarov: just did decouple those limits
[11:55] Jagga Meredith: my point exactly
[11:55] Gavin.Hird 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 is the limit a region setting or a opensimdefaults.ini setting?
[11:56] Andrew Hellershanks: what do you mean "no"
[11:56] Vincent.Sylvester 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 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 This is just NPC so only counts those
[11:58] Ubit Umarov: yes i did decouple the limits
[11:58] Vincent.Sylvester Means, I think you can still add 40 avatars on top
[11:58] Ubit Umarov: yeap
[11:59] Vincent.Sylvester 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 Plus there wasn't a limit before so even with default agent limit I could just spawn more
[12:00] Gavin.Hird having it in Opensim.ini means it applies to all regions in the simulator
[12:00] Gavin.Hird it needs to be per region basis
[12:00] Vincent.Sylvester 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 It's per scene Gavin
[12:01] Vincent.Sylvester scene.GetRootNPCCount() >= m_MaxNumberNPCperScene
[12:01] Ubit Umarov: who onkws what viewers do
[12:01] Gavin.Hird 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 scene is region in this case
[12:02] Gavin.Hird right
[12:02] Gavin.Hird 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 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 agent limit is per region but can be set individually in the veiwer region panel
[12:06] Vincent.Sylvester 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 stored in the regionsettings table as agent_limit per region
[12:08] Ubit Umarov: yes
[12:08] Ubit Umarov: and?
[12:08] Vincent.Sylvester He wants per scene and per simulator limits for agents and npcs
[12:08] Gavin.Hird 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 put it in regions.ini then
[12:09] Ubit Umarov: it is on opensim.ini
[12:09] Gavin.Hird it is a massive griefing vector
[12:09] Vincent.Sylvester 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 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 owners have noting to do with it
[12:10] Gavin.Hird the limit is per region
[12:11] Vincent.Sylvester 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 A risk would be no limit like it used to be
[12:12] Gavin.Hird 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 I bet it does not , hehe
[12:12] Andrew Hellershanks: :)
[12:12] Vincent.Sylvester 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 I wish my bank account worked like that
[12:13] Vincent.Sylvester 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 If you are concerned you can add that
[12:14] Vincent.Sylvester Or just disable NPCs, creepy buggers anyways
[12:14] Gavin.Hird they do have their use
[12:14] Gavin.Hird but can be bloody annoying too
[12:15] Vincent.Sylvester 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 Making them all Ruth you can get away with 500 or more
[12:16] Gavin.Hird 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 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 regions.ini is a good place to have it
[12:18] Ubit Umarov: yeah
[12:18] Gavin.Hird great!
[12:18] Jagga Meredith: yup
[12:18] Vincent.Sylvester 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 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 "could not parse gatekeeper uri"
[12:20] Vincent.Sylvester 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 but it still use opensim.ini does it not?
[12:23] Andrew Hellershanks: No. Robust doesn't use OS.ini
[12:23] Gavin.Hird ok
[12:23] Gavin.Hird 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
    ;; 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 = ""
[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 is it Robust.ini or Robust.HG.ini you have Kayaker?
[12:25] Kayaker Magic: Started from .HG.
[12:25] Gavin.Hird ok
[12:26] Gavin.Hird GatekeeperServiceInConnector
[12:27] Gavin.Hird GatekeeperURI
[12:27] Gavin.Hird GatekeeperService
[12:27] Gavin.Hird are the 3 ones I have configured
[12:28] Gavin.Hird 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 GatekeeperURI = ""
[12:28] Kayaker Magic: After it prints that angry reqd message, it continues on and finishes starting up.
[12:28] Gavin.Hird gatekeeper =
[12:29] Kayaker Magic: I tried removing that extra slash, same error.
[12:29] Gavin.Hird 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 = ""
    WebURL = ""
[12:31] Ubit Umarov: do you have GateKeeperURI defined? ( not GateKeeper)
[12:31] Selby.Evans 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 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 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 does the ip address resolve isnde your fw?
[12:34] Ubit Umarov: BaseURL = ""
[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 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 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 that is why they will change the name and hire
[12:40] Gavin.Hird plus the Occulus mask
[12:40] Gavin.Hird 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 the baby is actually redundant. just put the chip in the tank
[12:41] Ubit Umarov: yeah :)
[12:42] Gavin.Hird 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 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 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 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.
Personal tools
About This Wiki