SL project updates week 19: server, group chat, child agents

Ichi-go Ichi-E, Fantasy Faire 2015 Inara Pey, April 2015, on Flickr Ichi-go Ichi-E, Fantasy Faire 2015 (Flickr)

Server Deployments Week 19 – Recap

On Tuesday, May 5th, the Main (SLS) channel received the server maintenance package deployed to all three RCs in week #18, comprising internal server logging changes  and a new flag for llGetObjectDetails()  – OBJECT_LAST_OWNER_ID; plus new data which can be requested  via llGetEnv(). These are:

  • “agent_limit”- get the maximum number of avatars normally allowed on the region (teleport home, and login to last location, are allowed to exceed this).
  • “estate_name”- returns the name of the estate (e,g, “mainland”, “Linden Homes”, “My Happy Estate”, etc. )
  • “region_cpu_ratio”- returns the number of regions per CPU for this region type (i.e. “1” or “4”)
  • “region_product_name” – returns the type of region this is: “Estate / Full Region”, “Mainland / Homestead”, “Estate / Openspace”, “Estate / Full Region – Skill Gaming” etc.
  • “region_product_sku” – returns the region’s product number as a string
  • “region_start_time” – returns the time the region was last (re)started, in llGetUnixTime format
  • “simulator_hostname”  – returns the simhost running this region. Same as llGetSimulatorHostname but without the script delay.

There were no planned RC deployments or restarts for Wednesday, May 6th.

Group Chat Failures

There are been a number of odd group chat issues recently, such as those outlined in see BUG-9130. Simon Linden has been investigating the issues, and gave his findings at the Simulator User Group meeting on Tuesday, May 5th, “Basically the chat server gets stuck with bad info about where the avatar is. The normal ways that would get corrected aren’t working right … but trying to log off and back in, or leave and re-join the group might fix it.”

When asked if a re-start of the affected chat servers could clear the problem, he replied, “possibly … except one of the features of the chat servers is that they try to save everything and re-load it when they come back up.   That way everyone isn’t kicked out of all their group chats when it restarts. I’d have to check but I think they may save the bad info about [the affect avatar]. ”

Group chat messages are routed to you via the region you are in at the time the message is sent. However, if you have moved to another region during the conversation, the region will tell the group chat service you are no longer there, and the service then performs a look-up to locate you so that the messages can again be sent to you via the region simulator. “In this case, Simon explained the current issue, “it’s failing with a different error due to a change in the grid configuration, and not handling it correctly.”

With the cause of the issue now identified, the Lab hopes to get an update out to the chat servers to fix the problem very soon.

Attachment Failures

As has been noted in these updates, the Lab currently has a series of viewer-side fixes for problems relating to attachment issues (items detaching on region crossing / teleporting, items showing as attached when detached or vice versa, etc.) which are  at project viewer status (“Project Big Bird”) and  will be progress through the viewer channels in due course.

In addition to the viewer fixes, there are are some server-side issues with attachments the Lab is investigating. In particular, the Lab has identified that requests for multiple simultaneous attachments at or near the upper limit (38) to be attached at the same time will invariably overload the pipe, although why this is the case still has yet to be determined.

Experience Keys / Tools

Work continues with the back-end of Experience Keys / Tools, and Simon Linden has most recently been working on the key values database for the system (which can be used to store information relating to users who have been  / are engaged in an experience, such as their progress, items they may have collected / attached, etc.). Given the anticipated popularity of Experiences, and the fact that people have already identified other potential uses for the key value database, the Lab is trying to ensure it is robust enough to handle and and all uses it might be put to – and can deal with the potential of poorly-written scripts persistently polling / updating it more than is strictly required without necessarily impacting its performance.

Other Items

Agent Updates, Draw Distance and SL Performance

In discussing the group chat issues during the Simulator User Group meeting, the conversation turned to the matter of agents and child agents. While the region you are operating in has the main connection to your avatar (your agent), it may also be sending information to avatars on other regions, and you may also be receiving updates from surrounding regions.

The status panel (CTRL-SHIFT-1)  reveals how many child updates the region you are in is sending elsewhere (31 in this case). some of these might be unavoidable, others might simply be down to people 3 or 4 regions away with ridiculously high draw distances
The status panel (CTRL-SHIFT-1) reveals how many child updates the region you are in is sending elsewhere (31 in this case). some of these might be unavoidable, others might simply be down to people 3 or 4 regions away with ridiculously high draw distances

Simon explained things thus, “while you’re here, you’re also talking to the region next door; it will send you updates about what happens over there … it has a camera for you and knows what you can see, and sends you updates but it doesn’t run your scripts, for example.”

This tracking of what is going on in other regions is determined by an avatar’s draw distance and the direction in which they are looking, and the “camera” Simon referred to in his description is known as a “child agent”.

Child agents help with a number of tasks – the such as allowing you to see what is going on in a neighbouring region, as Simon mentioned, and also assisting with aspects of region crossings.

Obviously, there will be child agent updates going on between neighbouring regions as a matter of course. But when you have an abnormally high draw distance, the chances are that you are having an additional impact not only on the regions immediately adjacent to the one your in, but every region that falls within draw distance / view, as you are forcing them to send you updates as well, and you are forcing the region you are in to work that much harder to pass those updates to you.

Hence why it’s a good idea to keep your draw distance down to a reasonable level (say 256 metres or lower) for as much as you can. You’re not only helping improve your own experience (however powerful your own computer might be) – you’re showing courtesy to those active in the regions around you and who might also be affected by the region they are in having to take time serving data you may not need to your viewer.


8 thoughts on “SL project updates week 19: server, group chat, child agents

  1. So the old trick of hosting a concert in the corners of four regions is actually a bad idea as everyone is having to send and receive updates from the 3 neighbouring regions?


    1. As noted in the piece, there will also be some additional load when you have avatars operating in neighbouring regions and looking across from one to another; it’s unavoidable. But yes, the downside of kitty-corner events is that you have an audience “looking in” on one from the other three, so that one region is sending multiple updates through the child agents for the avatars in those other regions; and if they are all camming about a lot …

      Flip side is, of course, there’s no other real way to handle bringing together large groups for an event within SL, so there’s a trade-off. At least with a kitty-corner event, most people have their camera focused on a single point (and may even have DD down to the minimum they need to see things in order to help themselves), so the impact is in some ways minimised.

      The main point of this is that some people tend to have DD set ridiculously high say to 1024m “because they can”, and by doing so, they might be having more of an impact than they release on regions they’re not really interested in, particularly if they are constantly shifting their camera position and generating lots of update requests as a result.


  2. I do cross sims on a daily basis for long and with ll viewer i never change the draw distance from 256m unless to reduce it.
    However with a viewer that has a draw distance slider i tend to pull it to around 160m and when i do need to see far away, i raise it to 1024 but for only the time i need to.
    And as i’m one of those that are always constantly shifting their camera position i do find a bit odd and offensive that You or even worse the lab, is calling me a bad user.


    1. Good to see you’ve changed your habit from the times you used to proclaim you ran at 1024m all the time 🙂 . That said, neither I nor the Lab are calling you or anyone else a “bad user”. It’s simply the fact that there is a potential for impact when constantly running with a very high DD. I used to be as guilty as the next person, running with a DD at 320m.


  3. Reblogged this on ZZ Bottom misadventures in Virtual Worlds! and commented:
    I still use 1024 all the time, on open sim on our regions.
    And a few years ago, when one could see all rezzed no matter the draw distance i used 1024 more then now on Sl.
    But seems is easy now to blame all on the users then trying to explain why they re reducing costs by cutting down on servers and putting more and more work on remaining ones.


    1. “But seems is easy now to blame all on the users then trying to explain why they re reducing costs by cutting down on servers and putting more and more work on remaining ones.”


      LL isn’t “reducing costs by cutting down on servers”. They’ve actually put a considerable amount of money into new hardware and infrastructure over the past three years, which includes more capable servers on which the simulators run.

      They’ve also been working over the last 18-24 months on making the service more robust and in removing a lot of the excess load from the simulators through the introduction of CDN usage for avatar baking and mesh and texture handling, and are currently looking to add to the use of the CDN for the delivery of other assets in order to further reduce the workload the simulators have to contend with.


  4. How utterly brainless to use 1024draw– to force render every single texture etc in four sims- under sofas, back sides of curtains etc.

    But , my question is– on the recently closed SL go and probably on the upcoming( soon hopefully) Bright Canopy streaming servers for SL will long draws on those products also create problems or since they render differently ( through a server farm) the impact is less?

    I do admit to being giddy using 512 m draw at times – such a treat after gray mud at 32 m for so long on my native machine


    1. They render the same – the only difference is, the rendering is done on a machine remote to you, then streamed to you (so the remote system is acting as your “local” computer running the viewer. As such, the impact can be the same, depending on circumstances.


Have any thoughts?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s