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.
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.
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.
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.