[Opensim-dev] NewUserConnection - When is Agent requesting an incomming root or just a child?

Diva Canto diva at metaverseink.com
Tue Jul 5 17:15:07 UTC 2011


The login procedure starts in LLLoginService.cs. That method 
(NewUserConnection) is called upon CreateAgent. That method is also 
called upon teleports, and it's called on all surrounding regions.
Note that there are 3 components involved the procedures related to 
agent transfers: the sending component (login service or other region), 
the receiving region, and the viewer. In general, the agent is not 
considered root until the viewer makes contact with the region. For the 
login, however, the agent is launched at the region as root by the login 
service.

On 7/5/2011 9:43 AM, Argus wrote:
> Am 05.07.2011 01:53, schrieb Justin Clark-Casey:
>> On 02/07/11 10:35, Argus wrote:
>>> Hi
>>>
>>> I am using the AuthorizationService Module for a common bannlaist on 
>>> my Regions. In addition i could use this for many
>>> other function, eg. Visitorstats. I now ran into the problem, that 
>>> all neighbouring Regions also send a Request which as
>>> a result make a visitorcounter impossible.
>>>
>>> I now have narrowed down this issue to NewUserConnection in scene.cs 
>>> which always gets called when incomming agents go
>>> through the access process and would like to know how i can 
>>> recognize if the agent is asking for access as a new root or
>>> just as a child agent by the neighbouring region. Should agent.child 
>>> not already be root when the agent is Teleporting
>>> to a Specific Region during the access permission check? Alternative 
>>> TeleportFlags could help if they were diffrent when
>>> a Region gets informed of a new child agent by the neighbour with 
>>> the root agent.
>>
>> Perhaps you could listen for the EventManager.OnMakeRootAgent event 
>> instead?
>>
>
> Hmm, a quick glance at EventManager.OnMakeRootAgent. Looks like that 
> gets triggert after a Agent already is present, so that would be after 
> the agent already has gotten access. But i will have a look at it in 
> more detail on the weekend.
>
> But what i also noticed is, that the child agents which go through the 
> access process also can be denied. What i still want to test is, if 
> the child agents that are denied get listed as child or not. A child 
> agent should in my mind always be listed, even if they dont have 
> access. In that case checking access permisions for a simple child 
> would anyway be unnecessary work for the sim. Or not?
>
> Still, the easiest would probably be to handle the incomming agent as 
> root from the start on instead of changing the child to root once they 
> already have access. The advantage would be that any step taken from 
> the first moment on could recognize what work is needed and what not. 
> So for me the question to figure is, in which of the 1000 files does 
> the entire login process to a region start... and how would it affect 
> the rest if we handle incomming agents as root instead of a child 
> which we change to root later on...
>
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
>




More information about the Opensim-dev mailing list