2018 SL project updates 20/1: Simulator User Group meeting

The Apothecary; Inara Pey, April 2018, on FlickrThe Apothecaryblog post

Server Deployments

As always, please refer to the server deployment thread for the latest updates.

  • On Tuesday, May 15th, the Main (SLS) channel received server maintenance package 18#18.05.07.515224, which includes two new LSL functions: llRequestUserKey and llName2Key –  see below for more.
  • On Wednesday, May 16th, the Release Candidate channels were currently marked as TBD at the time of writing. However, during the Simulator User Group meeting on Tuesday, May 15th, Rider Linden indicated there would be two RC deployments:
    • The BlueSteel and LeTigre deployment should comprise internal fixes, together with simulator-side updates for better management of estate level ban lists – although these will require a viewer update to be visible.
    • The Magnum RC update should comprise the same internal fixes, together with the simulator-side updates for abuse report categories.

llRequestUserKey and llName2Key

llRequestUserKey and llNameToKey, both of which will be across all RC channels following the Wednesday deployment, are in connection with the upcoming return of Last Names (see this blog post and this blog post for more). These functions can be summarised as:

  • llRequestUserKey:
    • Requests the Agent ID for the agent identified by name from the dataserver. The name given may be either the current name of an avatar or a historical name that has been used in the past. If no agent can be found with the supplied name this function returns the value NULL_KEY.
    • It returns a handle (a key) that can be used to identify the request when the dataserver event is raised.
    • Note that agent being searched for with this function does not need to be signed on to Second Life.
    • See the llRequestRequestUserKey wiki page for more.
  • llName2Key:
    • Returns a key the Agent ID for the named agent in the region. If there is no agent with the specified name currently signed onto the region, this function returns the value NULL_KEY. Names are always provided in the form “First[ Last]” or “first[.last]” (first name with an optional last name.)
    • If the last name is omitted a last name of “Resident” is assumed. Case is not considered when resolving agent names.
    • Uses a different mechanism to look up agent information to the older llKey2Name().
    • See the llName2Key wiki page for more.

Abuse Report Category Capability

As I’ve noted in my TPV Developer meeting updates, a new capability is being introduced that will allow the viewer to call abuse report categories from the simulator, rather than having them hard-cored into the viewer itself. This will help ensure abuse reports are filed using valid AR categories, while at the same time making it easier for the Lab to maintain the AR categories.

The deployment to the Magnum RC is the first phase of this work to be made to the grid. Once the simulator changes are available grid-wide, a viewer with the new capability should be made available, with a request that TPVs adopt the updates as soon as they can in their own release cycles.

SL Viewer

The Ouzo Maintenance viewer has updated to version 5.1.4.515016 (dated May 7th, but the update wasn’t listed in the Alternate Viewers page until week #20).

The Animesh viewer updated to version 5.1.4.515420 on May 15th.

The rest of the viewer pipelines remain as:

  • Current Release version 5.1.3.513644, dated March 27, promoted April 13 – formerly the media update RC.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Other Items

Mesh Pivot Points and the Uploader

A long-time problem with the mesh uploader is that it ignores pivot points set within tools like Blender when a model is uploaded to SL. This means, for example, that doors set with a pivot point in Blender won’t work using that pivot when uploaded to SL. A feature request to enable the uploader to recognised pre-set pivot points in mesh objects was raised in 2015 – see BUG-37617 –  and more recently, Beq Janus has been looking to add further information to it.

Region Crossing Updates

Code to improve communications during region crossings went grid-wide in week #19. A further round of simulator-side updates is likely to be deployed in the next few weeks. In the meantime, Joe Magarac (animats) believes most of the minor issues relating to “partial unsits” can be handled with changes to scripting / the viewer – see BUG-214653. He’s offered to rally support to help the Lab dig more deeply into this issue, by arrange group tests, etc., if the Lab can made simulator-side changes to help improve things.

Three major issues for vehicles are No Script parcels / regions, ban lines and scripted security systems. The  former can be harder to deal with, as there is no advanced warning that scripts are disabled until the boundary is crossed. Scripted security systems tend to provide some warning which can generally allow those straying into a private area time to get out (unless the delay time has been set ridiculously short). Ban lines are somewhat insidious, however, as they can physically “snag” a vehicle whilst ejecting the occupants – with the vehicle often remaining in place with no auto-return.

There has been a feature request to handle ban lines better (BUG-216276), with another request for ban-lines to “deflect” vehicles, rather than allowing vehicle to cross them and becoming snagged when the occupants are ejected. It’s not clear if the Lab will adopt these ideas.

Advertisements

2018 SL project updates 19/1: Simulator User Group meeting

Luane's World; Inara Pey, April 2018, on FlickrLuane’s Worldblog post

The following notes have been taken from the Simulator User Group, held on Tuesday, May 1st, 2018.

Server Deployments

As always, please refer to the server deployment thread for the latest updates.

  • On Tuesday, May 8th, the Main (SLS) channel received server maintenance package 18#18.04.30.515008, which includes updates to simulator communication protocols aimed at improving region crossings and teleports.
  • On Wednesday, May 9th, all three main RC channels should receive server maintenance package 18#18.05.07.515224, which includes two new LSL functions: llRequestUserKey and llName2Key –  see below for more.

Region Crossing Updates

Commenting on the region crossing updates, Simon Linden revealed he’d be out of the office for next week, but:

After I’m back I expect to continue region crossing work … the servers are now doing a better job tracking all the attachments and objects you may be sitting on. The goal is to know when the region thinks that’s all done, and the viewer acknowledges it. If that doesn’t happen, it can do better fixing it.

llRequestUserKey and llName2Key

llRequestUserKey and llNameToKey, both of which will be across all RC channels following the Wednesday deployment, are in connection with the upcoming return of Last Names (see this blog post and this blog post for more). These functions can be summarised as:

  • llRequestUserKey:
    • Requests the Agent ID for the agent identified by name from the dataserver. The name given may be either the current name of an avatar or a historical name that has been used in the past. If no agent can be found with the supplied name this function returns the value NULL_KEY.
    • It returns a handle (a key) that can be used to identify the request when the dataserver event is raised.
    • Note that agent being searched for with this function does not need to be signed on to Second Life.
    • See the llRequestRequestUserKey wiki page for more.
  • llName2Key:
    • Returns a key the Agent ID for the named agent in the region. If there is no agent with the specified name currently signed onto the region, this function returns the value NULL_KEY. Names are always provided in the form “First[ Last]” or “first[.last]” (first name with an optional last name.)
    • If the last name is omitted a last name of “Resident” is assumed. Case is not considered when resolving agent names.
    • Uses a different mechanism to look up agent information to the older llKey2Name().
    • See the llName2Key wiki page for more.

SL Viewer

There have been no SL viewer updates for the start of the week, leaving the current pipeline as:

  • Current Release version 5.1.3.513644, dated March 27, promoted April 13 – formerly the media update RC.
  • Release channel cohorts:
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Other Items

Region Restarts and Server Moves

Once upon a time, the Lab used to put effort into trying to ensure adjacent regions in the same server or nearby server. This was most notably done through server re-balancing exercises (see my notes on one of them here, for example), carried out a couple of times a year and which could take some 6 weeks to complete. These operations generally required additional restarts for the regions being moved, and were thought to bring improvements to teleports and physical region crossings.

With hardware and infrastructure improvements over the years, coupled with other sets taken to improve overall grid performance, these operations are no longer carried out – although efforts are taken to ensure multi-region events are placed on simulators all located on the same or adjacent servers. However, nowadays, for the majority of region, they are moved purely as a part of the weekly rolling restarts.

Those wishing to know which regions might be sharing a server with their own can use Tyche Shepherd’s Grid Survey (use the region search and then click the region name link in the results). However, keep in mind not all the result may be up-to-date.

Next Meeting

As noted above, Simon Linden, who usually leads the Simulator User Group meeting will be out of the office in week #20. However, the meeting for the week will still go ahead as scheduled.

2018 SL project updates 18/1: Simulator User Group meeting

Green Story; Inara Pey, April 2018, on FlickrGreen Storyblog post

The following notes have been taken from the Simulator User Group, held on Tuesday, May 1st, 2018.

Server Deployments

As always, please refer to the server deployment thread for the latest updates.

  • The was no deployment or restart for the Main (SLS) channel on Tuesday, May 1st. The channel remains on server maintenance package 18#18.04.13.514504, containing internal fixes and a fix for BUG-214702.
  • On Wednesday, May 2nd, the simulator release candidate channels should be updated as follows:
    • BlueSteel should receive server maintenance package 18#18.04.20.514703, which includes two new LSL functions: llRequestUserKey and llName2Key –  see below for more.
    • Magnum and LeTigre should receive server maintenance package 18#18.04.30.515008, which includes updates to simulator communication protocols aimed at improving region crossings and teleports, deployed for the last week to a number of selected regions on Blake Sea via the Snack RC channel.

LlRequestUserKey and LlName2Key

The Lab has released two new LSL functions: llRequestUserKey and llNameToKey, both of which are in connection to the upcoming return of Last Names (see this blog post and this blog post for more):

  • llRequestUserKey:
    • Requests the Agent ID for the agent identified by name from the dataserver. The name given may be either the current name of an avatar or a historical name that has been used in the past. If no agent can be found with the supplied name this function returns the value NULL_KEY.
    • It returns a handle (a key) that can be used to identify the request when the dataserver event is raised.
    • Note that agent being searched for with this function does not need to be signed on to Second Life.
    • See the llRequestRequestUserKey wiki page for more.
  • llName2Key:
    • Returns a key the Agent ID for the named agent in the region. If there is no agent with the specified name currently signed onto the region, this function returns the value NULL_KEY. Names are always provided in the form “First[ Last]” or “first[.last]” (first name with an optional last name.)
    • If the last name is omitted a last name of “Resident” is assumed. Case is not considered when resolving agent names.
    • Uses a different mechanism to look up agent information to the older llKey2Name().
    • See the llName2Key wiki page for more.

SL Viewer

There have been no updates to the current SL viewer pipelines, leaving them as follows:

  • Current Release version 5.1.3.513644, dated March 27th, promoted April 13th – formerly the media update RC.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Ouzo Maintenance RC, version 5.1.4.514802, dated April 27th.
    • Love Me Render RC viewer, version 5.1.4.514788, dated April 25th.
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17th, 2017 and promoted to release status 29th November 2017 – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7. This viewer will remain available for as long as reasonable, but will not be updated with new features or bug fixes.

Environment Enhancement Project (EEP)

Rider Linden re-confirmed that while EEP will allow different Windlight settings at altitude above a region / parcel, the zones will be set at 1000 metre intervals (1,000, 2,000, 3,000 and 4,000) and set by the simulator – they will not be user-configurable as can be done with Firestorm (viewer-side only). His hope is also to have scripted per-agent Windlight settings as part of the initial deployment of EEP; however, this is TBC.

2018 SL project updates 16/1: Simulator User Group

La Virevolte; Inara Pey, March 2018, on FlickrLa Virevolteblog post

Server Deployments

As always, please refer to the server deployment thread for the latest updates.

  • On Tuesday, April 17th, 2018, the Main (SLS) channel was updated with server maintenance package 18#18.03.29.513939, previously deployed to the RC channels and containing internal fixes.
  • On Wednesday, April 18th, 2018, the major RC channels, BlueSteel, Magnum and LeTigre should all be updated with the same server maintenance package 18#18.04.09.514272, containing internal fixes and a fix for BUG-214702.

SL Viewer

With the exception Animesh project viewer (see below), there have been no updates to the current SL viewers thus far in week #16, leaving the pipelines as follows:

  • Current Release version 5.1.3.513644, dated March 27, promoted April 13 – formerly the media update RC – NEW
  • Release channel cohorts:
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Animesh Project Viewer Update

The Animesh project viewer updated on Monday, April 16th. Version 5.1.4.514468 brings the viewer to parity with the current release viewer. In addition this viewer has revised streaming cost/land impact formula for Animesh objects, which are also reflected in ARC (avatar rendering cost) calculations for Animesh items.

In summary, the updates are:

  • Animesh attachment limit = 1: only one Animesh object can be attached to an avatar at a time. This is unchanged from the original estimates.
  • Triangle Count Limit = 100,000: an animesh object (linkset) can have at most 100k triangles, where the count is based on the estimated size of the largest LOD (normally this is the high LOD). This includes all mesh triangles, static or rigged.
  • Land Impact: streaming cost = 15.0 + 1.5 * ktris + cost of non rigged prims: for a rigged mesh prim in an animesh linkset, the streaming cost will be 0.0015 * effective_tri_count – that is, 1.5 per thousand triangles. The value for effective_tri_count is derived from the estimated triangle count of the various LODs in the prim as follows:
    • High LOD: all of the estimated triangle count included in the effective_tri_count.
    • Medium LOD, Low LOD and Lowest LOD: the allowed number of triangles can be up to ½ of the LOD above, or 64, whichever is larger (i.e. Medium can be up to ½ of High, or 64, whichever is larger). If there are more triangles than this limit, that excess will be added to the effective_tri_count.

See Vir’s explanation in the Animesh updated limits and cost formulas forum thread for a complete explanation of these limits and how they have been arrived at.

An important point to note is that these formulas only apply to Animesh; there is a second, and longer-term project – ARCTan – a re-evaluation of all object and avatar rendering costs (and which may see further changes to Animesh calaculations). It is hoped that overall, ARCTan  will improve viewer-side performance and provide creators with positive incentives to build more performant content.

You can find out more on ARTan in this blog post and this blog post in this blog.

Viewer Texture Cache

As noted in several of my TPV Developer meeting updates, Linden Lab are trying to improve viewer caching – starting with the texture cache. Commenting on the work, Oz Linden said, “We’re experimenting with a number of different changes. Some that you might think (I did) would make things better turned out not to, but we’re making progress.” It’s not clear if / when any project viewer utilising any new texture caching capability will be available for general use.

LlRequestUserKey and LlName2Key

The Lab has released two new LSL functions: llRequestUserKey and llNameToKey, both of which are in connection to the upcoming return of Last Names (see this blog post and this blog post for more):

  • llRequestUserKey:
    • Requests the Agent ID for the agent identified by name from the dataserver. The name given may be either the current name of an avatar or a historical name that has been used in the past. If no agent can be found with the supplied name this function returns the value NULL_KEY.
    • It returns a handle (a key) that can be used to identify the request when the dataserver event is raised.
    • Note that agent being searched for with this function does not need to be signed on to Second Life.
    • See the llRequestRequestUserKey wiki page for more.
  • llName2Key:
    • Returns a key the Agent ID for the named agent in the region. If there is no agent with the specified name currently signed onto the region, this function returns the value NULL_KEY. Names are always provided in the form “First[ Last]” or “first[.last]” (first name with an optional last name.)
    • If the last name is omitted a last name of “Resident” is assumed. Case is not considered when resolving agent names.
    • Uses a different mechanism to look up agent information to the older llKey2Name().
    • See the llName2Key wiki page for more.

2018 SL project updates 15/1: Simulator User Group

Spirit of Sun; Inara Pey, March 2018, on FlickrSpirit of Sunblog post

Server Deployments

As always, please refer to the server deployment thread for the latest updates.

  • The Main (SLS) channel was not updated on Tuesday, April 9th, nor was there a restart.
  • On Wednesday, April 11th:
    • The BlueSteel and LeTigre will not be updated, and remain on server maintenance package 18#18.03.29.513939, containing internal fixes.
    • The Magnum channel will apparently receive a further revision to 18#18.03.29.513939.

SL Viewer

  • The Love Me Render RC viewer updated to version 5.1.3.514115, dated April 5th.
  • The Ouzo Maintenance RC viewer updated to version 5.1.3.514128, dated April 5th.

The remainder of the SL viewer pipeline remains unchanged from the end of week #14:

  • Current Release version 5.1.2.512803, dated February 23, promoted March 1 – formerly the Nalewka Maintenance RC – No change
  • Release channel cohorts:
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Bakes on Mesh

This is the project to extend the current avatar baking service to allow wearable textures (skins, tattoos, clothing) to be applied directly to mesh bodies as well as system avatars. This involves server-side changes, including updating the baking service to support 1024×1024 textures, and may in time lead to a reduction in the complexity of mesh avatar bodies and heads.

This work does not include normal or specular map support, as these are not part of the existing baking service.

As noted in my last CCUG update, the project viewer, version5.1.3.513936, arrived on March 30th, 2018 (see the Bakes on Mesh JIRA filter for reported issues). There is a forum thread on the project, which carries a degree of misinformation on the project. Siddean Munro has sought to clarify things in a blog post, and Cathy Foil has produced an introductory video as well.

Environmental Enhancement Project

This is the project to create a set of environmental enhancements including the ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level; new environment asset types (Sky, Water, Days – the latter comprising multiple Sky and Water) that can be stored in inventory and traded through the Marketplace / exchanged with others; Experience-based environment functions and an extended day cycle (e.g a 24/7 cycle) and extended environmental parameters. The work involves simulator and viewer changes, and includes some infrastructure updates.

Rider Linden is working on EEP, and he reported, “I’ve been dealing with a little bit of a tangent having to do with internal inventory. Turned out to be a bit more complex than I anticipated when I said: “Sure, I’ll just knock that off as part of EEP”. It is almost resolved and then I can get back to direct EEP development.”

He also revealed more on how EEP will be “layered”: “EEP will have four different altitude layers. (Right now I’m operating with ground, 1km, 2km and 3km.) … The use case I see for the layers isn’t so much skyboxes, more for landing areas for RP sims that may want their own atmosphere; orbiting space stations , etc. (and the layers need to be set by the parcel owner.)”

Aditi Inventory Sync

Usually, sync on inventory from Agni, the Main grid, to Aditi, the Beta grid is designed to take place during a routine syncing operation run at around 2:00am PST daily, triggered by an Aidit log-in (see here for more).

However, as most of those who routinely log-in to Aditi will know that the system isn’t working correctly, and often, a ticket is required to get your Aditi inventory correctly synchronised with your Agni inventory. Commenting on the situation at the Simulator User Group, Mazidox Linden said, “We’ve got a dev working on the inventory sync to Aditi. We’re making some interesting progress, hopefully more news soon.” Oz Linden further indicated that a fix is in the pipeline.

 

2018 SL project updates 14/1: Simulator User Group

Bay of Dreams; Inara Pey, February 2018, on FlickrBay of Dreamsblog post

Server Deployments

As always, please refer to the server deployment thread for the latest updates.

  • The Main (SLS) channel was updated on Tuesday, April 3rd  to server release 18#18.03.27.513831, containing internal fixes and updates the new off-line IM and Abuse Report capabilities (see below).
  • On Wednesday, April 4th, the BlueSteel and LeTigre release candidate channels should receive server maintenance package 18#18.03.29.513939, containing internal fixes; the Magnum RC has no planned deployment, and remains on 18#18.03.27.513831.

SL Viewer

There have been no changes to the viewer pipelines at the start of the week, leaving them as:

  • Current Release version 5.1.2.512803, dated February 23, promoted March 1 – formerly the Nalewka Maintenance RC – No change
  • Release channel cohorts:
  • Project viewers:
    • Bakes on Mesh project viewer, version 5.1.3.513936, March 30 (note this version of the viewer does not support applying bakes to mesh bodies / heads).
    • Animesh project viewer, version 5.1.3.513013, March 7 – project overview.
    • 360 snapshot viewer, version 5.1.3.513006,  March 6 (this version can have significant rendering issues, see my hand-on update).
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7. This viewer will remain available for as long as reasonable, but will not be updated with new features or bug fixes.

Region Crossings

As I’ve reported in recent Simulator User Group meetings, Joe Magarac (animats) working on a scripted workaround to improve region crossings (“partial unsits, etc.) – see BUG-214653. The Lab is also working on crossings on the simulator side. While no time frames for the work were given, Oz Linen did observe, “How successful we’ll be remains to be seen, but we’re optimistic that we can make significant improvements.”