2018 SL project updates 17/1: Simulator User Group

Motorheadz Café / Route6; Inara Pey, March 2018, on FlickrMotorheadz Café / Route66blog post

Server Deployments

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

  • According to the deployment thread, on Tuesday, April 24th, 2018, the Main (SLS) channel was updated with server maintenance package 18#18.04.09.514272, previously deployed to the RC channels and containing internal fixes and a fix for BUG-214702. However, a check on the simulator release via Help > About in the viewer reveals the simulator version to be 18.04.13.514504, which doesn’t appear to have associated release notes.
  • According to the deployment thread, there was no deployment to the three main RC channels – LeTigre, Magnum and BlueSteel – on Wednesday, April 25th, which reportedly remain on server maintenance release 18#18.04.09.514272. However, as with the Main (SLS) channel, these channels report as being on simulator version 18.04.13.514504.

Region Crossing Updates

On Wednesday, April 25th, the Snack RC was updated with a release designed to assist with region crossings.

“We’ve made some changes on the back-end with respect to message reliability,” Rider Linden stated at the Simulator User Group meeting on Tuesday, April 23rd. “We are hoping makes the transitions [from one region to the next] a bit more reliable … mostly it was a number of internal changes dealing with how agents get passed between simulators during a crossing or teleport.”

The simulator regions with the updated messaging code are:

Blake Sea – Atlantic
Blake Sea – Galilee
Blake Sea – Cattewater Blake Sea – Crows Nest
Blake Sea – Mizzen
Blake Sea – Nelson
Blake Sea – Thunderer
Blake Sea – Hawser
Blake Sea – Indefatigable
Blake Sea – Jones Locker

All of these can be accessed via the Blake Sea Half Hitch rezzing zone for those wishing to access them. I addition there is a block of region centred on “Est Full2” on Aditi that also have the updated region crossing code.

SL Viewer

There have been no updates to the viewer channels so far, leaving them as follows:

  • 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. This viewer will remain available for as long as reasonable, but will not be updated with new features or bug fixes.

Other Items

A recent back-end change made to PRIM_MEDIA_CURRENT_URL reportedly broke a lot of content (see BUG-216032), causing a lengthy debate during the Simulator User Group meeting. As a result of this discussion, Oz Linden provided an update on the change and on a further change the Lab has made which they hope will assist those experiencing issues as a result of the original change.

We installed an important security patch, which happened to no longer infer http for a URL that had no scheme (in my opinion a good change). That broke some scripts that had used the field for a URL but left off the scheme (e.g. “myserver.example.com/myapi”) so those were broken. In order to get those slightly sloppy but legit uses working again, we added the scheme for them (but used https because everyone always should).

Storing data in that URL field was never intended to work.

The fact that we broke uses that were never legit is unfortunate, but not something I feel an obligation to maintain compatibility with. We’ll try to help you recover data that’s trapped there, but we won’t change it so you can keep doing that. If you have scripts that you need to get the data back out of, let us know and we’ll try to work with you.

Those still experiencing issues should report them via the JIRA.

Advertisements

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 13/1: Simulator User Group

Soul2Soul River; Inara Pey, February 2018, on FlickrSoul2Soul Riverblog post

Server Deployments

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

  • The Main (SLS) channel was updated on Tuesday, March 27th, to server release 18#18.03.14.513292, containing the new server capabilities (see below).
  • At the time of writing, the Release Candidate channels were all TBD regarding potential deployments. This report will be updated if the deployment thread provides further information on the RC channels.

New Capabilities

The new capabilities in 18#18.03.14.513292 for the Main (SLS) channel is the first part of a set of server and viewer updates.

  • The new IM cap is to overcome of off-line IMs failing to be delivered when a user logs in. Currently, these are delivered via UDP, whether or not the viewer is ready to receive them. With the new capability (once grid-wide and implemented within the viewer), the viewer will request off-line IMs, which the server will package and deliver to the viewer via HTTP.
  • The new abuse report cap will replace the need for the viewer to have AR categories hard-coded into it. Once fully deployed, and a viewer update released, it will mean the view will request the current list of AR categories from the server when starting up, making the management of the list easier, and hopefully reducing the number of ARs filed under outdated categories.

Updates to the viewer incorporating these changes will be made available by the lab in the near future.

SL Viewer

  • The Maintenance RC viewer updated to version 5.1.3.513630 on Friday, March 23rd.
  • The Media Update RC viewer updated to version 5.1.3.513644, on Tuesday, March 27th.

The remainder of the pipeline remains 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:
  • 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.

In Brief

First Name / Last Name Changes

This is still a long way off from being implemented, however, Oz Linden confirmed llDetectedName() will return the current name for an avatar, no matter what the change. However, it may take some time for it to change everywhere due to caches.

More on the return of last names and name changes, please refer to The return of Second Life Last Names – update with audio.

SL Messaging Layer

Simon Linden is looking into the Second Life messaging layer, which may be the problem behind a lot of “lag” issues. “There’s actually a number of small improvements I want to make, but I’m being careful to do them one at a time and have real data showing it gets better,” he said in providing an update on the work.

Friendship Offers Failing

Some are experiencing Friendship offers failing, even when the offer is accepted – see BUG-215977. According to Simon Linden, this might require a server-side update to fully correct.

Region Crossings

Simon Linden has been looking at vehicle region crossings alongside of  Joe Magarac (animats) testing with the viewer (See Firestorm JIRA FIRE-21915, BUG-214653, this SL Forum thread, this Google document, and my update here for more).

Part of the issue, a previously noted, is viewer / simulator communications. If these are suffering latency or packet loss, then things can get rough with vehicle region crossing very quickly. This is something Joe has been trying to compensate for by introducing a script that turns off physics and freezes the vehicle when received by a new region until it can confirm the associated avatar data has arrived.

Unfortunately, excising the viewer from region crossing data handling would be difficult, as it has to be involved to move and change its primary connection for an avatar. It would take a major protocol change to remove the viewer from the region crossing loop and separate connection hand-off from crossings. Further, if such a protocol change were to be made, it would require more work to support both new and old until enough viewers get updated.

Mainland Price Restructuring

While the Lab does not issue numbers, Oz Linden indicated at the Simulator User Group meeting that since the Mainland Price Restructuring, “mainland ownership is up quite significantly.”

2018 SL project updates 12/1: Simulator User Group

Sanctuary; Inara Pey, February 2018, on FlickrSanctuaryblog post

Server Deployments

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

  • There was no deployment / restart to the Main (SLS) channel on Tuesday, March 6th, leaving it on server maintenance package 18#18.02.12.512536.
  • The main RC channel should be updated as follows on Wednesday, March 21st:
    • The BlueSteel RC should receive a new server maintenance package. 18#18.03.17.513365 is said to comprise “internal fixes”.
    • The LeTigre and Magnum regions should receive a new server maintenance package. 18#18.03.14.513292, comprising internal fixes, additional logging to help diagnose an issue with in-world HTTP servers returning HTTP 503 (BUG-214702); add two new capabilities: one to request IMs that were delivered to the requesting agent while the agent was off-line; one to request the most up to date list of abuse report categories.

New Capabilities

The new capabilities in 18#18.03.14.513292 for Magnum and LeTigre are the first part of a set of server an viewer updates.

  • The new IM cap is to overcome of off-line IMs failing to be delivered when a user logs in. Currently, these are delivered via UDP, whether or not the viewer is ready to receive them. With the new capability (once grid-wide and implemented within the viewer), the viewer will request off-line IMs, which the server will package and deliver to the viewer via HTTP.
  • The new abuse report cap will replace the need for the viewer to have AR categories hard-coded into it. Once fully deployed, and a viewer update released, it will mean the view will request the current list of AR categories from the server when starting up, making the management of the list easier, and hopefully reducing the number of ARs filed under outdated categories.

SL Viewer Updates

There have been no updates to the current selection of official viewer at the start of the week, leaving the pipelines as follows:

  • Current Release version 5.1.2.512803, dated February 23rd, promoted March 1st – formerly the Nalewka Maintenance RC.
  • Release channel cohorts
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17th, 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 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Region Crossings

As noted over the last few weeks, user Joe Magarac (animats) has been digging into region crossings, particularly looking at the issue of avatars getting unseated from vehicles (See Firestorm JIRA FIRE-21915, this SL Forum thread, and this Google document, plus my last update here for more).

His latest approach involves adding a script to a vehicle effectively turns off physics and freezes the vehicle when received by a new region until it can confirm the associated avatar data has arrived (using llGetObjectDetails (avatar, [OBJECT_ROOT]) to check for the presence of avatars). On confirming the avatars are present, the script check the vehicle is allowed to resume.

“The typical freeze time is 40-120ms in addition to the regular region crossing delay, so you barely notice.” Joe told me in discussing the approach, which he has now made available to those wishing to test it using a simple motorbike build. “For double region crossings, the vehicle should slow down, although not by too much. I’ve also tried the same script in aircraft, and it seems to work.”

Joe continued, “Right now, I want to see if it ever fails. Issues are logged to an external server, so I can see what’s going on. I’d also love to get some of the SL motorcycle clubs involved in testing , so I’m giving out these test bikes. However, if anyone wants to test the script with their own vehicles, they can contact me for a copy, and I’ll be happy to work with them.”

Again, this workaround isn’t intended to solve all region crossing issues (e.g. it won’t stop “rubber banding” or address motion prediction – which the Lab sees as probably too aggressive), but it should help with full or partial avatar unsits; so those interested in given it a go are welcome to drop Joe a line.

Other Items

SL Messaging Layer

“I’m looking at the messaging layer; that seems to be the problem behind a lot of laggy things,” Simon Linden stated during the SUG meeting, revealing some of his recent work.

“There’s been a lot of learning. That code is complicated and there’s actually a lot of wisdom written into it, but I’ve found it doesn’t really do the best things when packet loss increases. The most basic thing I’ve found is that the estimated times based on pings used for time-outs can grow too fast: like on a 100ms connection, it can jump up to using 5-10 seconds. There’s a balancing act between resending data, and thinking it needs tons of time to get there.

“It really goes bad if a ping packet or the reply gets lost. SL just uses the same time-out for each retry – that’s another part that could be smarter.”

Defining this as an “interesting” part of the code, he’s reasonably certain it could be doing things better – and in doing so, could also help with region crossings and overall updates.

He also noted that also the SL bandwidth code is broken. This appears largely due to the volume of traffic going over the HTTP caps and via the CDN(s), which isn’t counted. “So I’m pretty sure we clog up a narrow pipeline more than we should,” he added.

2018 SL project updates 11/1: Simulator User Group

Kamigami, Pandora Resort Town; Inara Pey, February 2018, on Flickr Kamigami, Pandora Resort blog post

Server Deployments

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

  • There was no deployment to the Main (SLS) channel on Tuesday, March 13th, leaving it on server version 18#18.02.12.512536. According to the deployment notes, the channel should have been restarted.
  • On Wednesday, March 14th, the main RC channels should be updated as follows:
    • TBC: no deployment to BlueSteel, leaving it on server version 18#18.03.05.513046.
    • LeTigre and Magnum should both receive a new server maintenance package, 18#18.03.12.513258, comprising internal fixes and further simulator logging improvements.

SL Viewer

Updates

  • The Media Update RC viewer updated to version 5.1.3.513038, on Monday, March 12th.
  • A new Maintenance RC viewer was release on Tuesday, March 13th. Version 5.1.3.513234, code-named Ouzo, after the anise-flavoured aperitif. This viewer includes over 50 bug fixes and improvements.

Remaining Pipeline

Besides these two updates the official viewer pipeline remains as follows:

  • Current Release version 5.1.2.512803, dated February 23rd, promoted March 1st – formerly the Nalewka Maintenance RC.
  • Release channel cohorts:
    • Love Me Render RC viewer, version 5.1.3.513005, dated March 2nd.
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17th, 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 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Other Items

Meeting Reminders

  • There is NO Content Creation User Group meeting this week – the next CCUG meeting will be on Thursday, March 22nd at 13:00 SLT.
  • There is no Web User Group meeting this week – the next WUG meeting will be on  Wednesday, March 28th, at 14:00 SLT.