Category Archives: SL Project Updates

SL Project Updates 16/3: TPV Developer meeting, servers

The majority of the following notes are taken from the following sources:

  • The TPV Developer meeting of Friday, April 21st. A video of the meeting is embedded (my thanks to North, as always), and time stamp reference appearing in the text relate to that video
  • The Server Beta User Group meeting of Thursday, April 20th.

Server Deployments – Recap

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

  • On Tuesday, April 18th the Main (SLS) channel received the server maintenance package previously deployed to the RC channels in week #15.
  • On Wednesday, April 19th, the RC channels were updated as follows:
    • BlueSteel and LeTigre received the improved region capacity and access capabilities previously on the McRib micro-channel, which has been reabsorbed into the RCs
    • Magnum received a new “secret” update, which has been under testing on the Snack channel, and Snack was absorbed into it.

Simulator OS Update

The simulator build using a new version of Linux is now on the Main (SLS) grid, but currently restricted to the Cake micro-channel. Region holders with a defined interest in testing their products, scripted objects ,etc. on the build should contact Concierge Support to request an opt-in to the channel.

SL Viewer

Release Viewer

[02:15] The release viewer was updated on Wednesday, 19th April with the promotion of version, formerly the Maintenance Release viewer.

  • This viewer includes a number of important updates, including:
  • Avatar Complexity Rendering Updates, including avatar rendering exceptions
  • Grid Status Display Toolbar Button
  • Improvements to the snapshot floater, inventory offer messages
  • Block list improvements

See my overview of this viewer (from when it was an RC release) for more.

HTTP Asset Viewer

[02:38] The AssetHTTP release candidate updated to version on Thursday, April 20th. This viewer moves fetching of several types of assets to HTTP. This update was primarily to merge the HTTP code with the new release viewer, but also includes additional logging code in an effort to try to determine why the previous version had an elevated crash rate.

Voice Viewer

[02:56] This RC viewer was withdrawn due to a high crash rate. An updated version may soon be available, but is dependent upon another bug being fixed, described as a “really loud, horrible screech in your headphones” if you teleport when someone is talking.

Once available this is seen as an important update for TPVs to pick-up, not only for the new voice updates but also because it fixes a number of bugs in certificate handling.

Project Alex Ivy 64-bit Viewer

[03:45] This viewer is awaiting a further update, which will hopefully appear in week #17 (commencing Monday, April 24th), pending the outcome of QA testing. The update will include 64-Havok on the Mac (it is already in the Windows version).

E-mail Verification

On Wednesday, April 19th the Lab posted about Making Email From Second Life (More) Reliable, and the need for users to verify their e-mail addresses with the Lab (detailed instructions on which can be found here).

[05:17] There will be an update viewer supporting this (for IMs-to-e-mail, etc.), available “soon”.

Improved Estate / Parcel Access Controls

[09:08] A viewer supporting the server-side changes to the Public Access settings at region / parcel level (in short, parcel owner will not be able to set their parcels to restricted access if the region is explicitly set to Public Access at the Estate level), will be out shortly. Commenting on this, Grumpity Linden said:

Hopefully, we’ll have the first iteration out next week [week #17], and we might have to have some back-and-forth to make sure that the behaviour makes sense.

This viewer will also hopefully resolve issues such as BUG-4994 which results in a parcel being set to Group access (and gaining ban lines) if both the Public and Group access options are checked, are also resolved as a part of the work.

Improved Estate Ban List Management

[12:18] in February it was indicated that the current capabilities for managing estate ban lists are far from ideal. The ban list is confined to a small area of the World > Region Details > Estate tab, which is currently shared with three other lists. It is also non-searchable, making locating individuals for removal from very large lists time-intensive and difficult.

The Lab is working to provide a larger space for managing estate ban lists, with Grumpity Linden noting:

What I hope is not going to be unreasonably complicated to do, is to actually give you additional information, like when the user was banned and by whom. But we still need to see whether that is hard to do. It’s not going to be a part of the other UI changes for estate controls, because we want to get those out quickly; [but] I expect both of these things will require a couple of iterations.

Other Items

Second Life Statistics Stuck

[10:04] There is an issue with the statistics for the number of concurrent users on-line, Linden dollar exchange rate and number of daily sign-ups, which have remained frozen at the same values since April 12th, 2017 (the number of users on-line statistic, often referenced on the log-in splash screen by a number of viewers spent several days stuck at 44,647, for example) – see BUG-100468. The Lab is looking at the issue, but state it might take “a little while” to determine the problem.

Media Volume Issues

This breaks down into two areas:

  • Groups involved in the Community Gateway programme report that many incoming new users complain about the default volume at which the official viewer auto-plays streaming media on logging-in. An informal request has been made for the Lab to adjust the volume level downwards, but no work has been done on this (and no JIRA formally requesting the change has been raised)
  • [17:30] BUG-40937: “Shared media a great distance away (different region even) sometimes plays at maximum volume when entering a region or moving camera slightly” – the Lab has promised to discuss this, but is making no promises as to what might be done by way of resolution.

Fun Fact – Maintenance Viewer Internal Names

[19:37] Grumpity and Oz Linden revealed that they use internal project names to identify the various Maintenance viewers which are either under development or in flight. For some time now, these viewers have been named for assorted alcoholic drinks!

“For a while we stuck with drinks beginning with ‘s’,” Grumpity said, “but we had to expand.”

“They started getting pretty obscure!” Oz added.


SL project updates 16/2: Content Creation User Group

The Content Creation User Group meeting, at the Hippotropolis Camp Fire Circle (stock)

The following notes are taken from the Content Creation User Group meeting, held on  Thursday April 20th, 2017 at 1:00pm SLT at the the Hippotropolis Camp Fire Circle. The meeting is chaired by Vir Linden, and agenda notes, etc, are available on the Content Creation User Group wiki page.

The meeting was live streamed / recorded by Medhue Simoni, and that video is embedded at the end of this update, my thanks to him for providing it. Timestamps in the text below will take readers directly to the relevant point in the video (in a separate tab) where topics are discussed.

Supplemental Animations

This is an idea to overcome issues of animations states keyed by the server-side  llSetAnimationOverride() conflicting with one another. This problem has been particularly noticeable since the arrival of Bento, and a typical example is that an animation to flap Bento wings, if played to have natural wing movement while walking, results in a conflict with the walk animation, causing the avatar to slide along the ground.

Again, this is only an issue with the server-side animation triggers; older scripted animation overriders, such as ZHAO, which use the scripted llplayanimation function are unaffected.

[03:41] This is still under discussion at the Lab, and if anyone has specific views / ideas, they are invited to attend the CCUG meetings and discuss them.

Scripted Avatar Skeleton Reset

[05:45] A question was raised (via chat) on whether it would be possible to reset the avatar skeleton via script (rather than replying on the local Reset Avatar options in the viewer), as bone offsets defined within some meshes are not resetting when the mesh is removed (see BUG-11310).

Vir indicated that having a means to do this via script may well be useful, but is unsure of where it might slot into the work priorities were it to be adopted, particularly as it would require a new server-side message for passing the update notification to all surrounding viewers.

Skeleton Reset on Region Entry

[13:52] The above spawned a question on having the viewer automatically perform a Reset Skeleton function on entering a region. to try to also combat problems of avatars appearing deformed.

There are some cases where this might be useful. If you run an animation just once to trigger a deliberate avatar deformation, (e.g. from human to quadruped), that animation is not persistent, so if you enter another region, there is a chance other people will see you as deformed. However, trying to fix such situation through an automated skeleton reset is seen as problematic.  For example, an automatic skeleton reset by the viewer on entering a region could conflict with the receipt of animation updates intended to deform an avatar in your view so it looks correct, resulting in the avatar being unintentionally deformed (again, as in the case of an avatar which is supposed to be a quadruped appearing as a deformed biped, as the Viewer has ignored the necessary appearance information as a result of the automated reset.

Projects Under Consideration

The last several Content Creation User Group meetings have included discussions on two potential projects for the Lab. Neither has been as yet adopted, but are under possible consideration by the Lab, and Vir offered a recap of both.

Applying Baked Textures to Mesh Avatars

[20:57] This is essentially taking the ability of the default avatar baking service to manage compositing and baking system layers (skins, shirts, pants, jackets, tattoos, etc), onto a default avatar, and extending it to be used on mesh avatars, potentially reducing the complexity of the latter (which have to be built up in “onion skin” layers in order to be able to handle things like tattoos, skins, make-up options, etc.), and thus making them more render-efficient.

As mentioned in previous Content Creation updates in this blog, there are some issues with doing this: the baking service would likely need to be tweaked to handle 1024×1024 textures (it currently only support up to 512×512); it does not handle materials (although this is not seen as a major issue, as it is felt among those at the CCUG meetings that the primary use of the baking service would be for compositing skins + make-up /  tattoos into a single texture for mesh application), etc.

Animated Objects / NPCs

[25:17] Animated support of object in-world could be used from a wide variety of things, from non-player characters (NPCs), which do not require a link to an active viewer / client, through to animating things like tree branches swaying in a breeze, etc.

This work has various levels of complexity associated with it, and were it to be adopted, might actually result in a series of the related projects. NPCs in particular would be an extensive project, as it would need to encapsulate a means to define what the NPCs are wearing / have attached, how to make NPCs customisable through something like the avatar shape sliders, etc.

As such, were the Lab to decide to pursue animated objects, decisions would need to be made on overall scope for the project, what might be initially tackled, what might be seen as a follow-on project, etc.

How To Encourage the Lab to Adopt Projects

[28:03] Supplemental animations, bakes on meshes and animated objects have been the three major topics of discussion within the Lab in terms of possible major projects. Until they actually get on to the Lab’s roadmap (*if* they get that far), it is not easy for specific time frames, etc., to be discussed at meetings.

However, the best way to actively encourage the Lab to continue looking into such potential projects is to attend meetings like the CCUG and discuss them. Despite using them in the past, polls aren’t seen as particularly useful, whereas direct discussion through meetings like the CCUG tend to bring a consistent set of interests / ideas / suggestion to the service.

Continue reading

SL project updates 16/1: server, teleports and other bits

The Incredible 4 blog post

Server Deployments

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

  • On Tuesday, April 18th the Main (SLS) channel received the server maintenance package previously deployed to the RC channels in week #15. This includes:
    • Several internal fixes and two new internal logging modes
    • Another adjustment to fix issues with off-line IM and Group Notice delivery reliability
    • Fixes an issue where large numbers of objects could be returned after a rolling restart.
  • On Wednesday, April 19th, the RC channels should be updated as follows:
    • BlueSteel and LeTigre should receive the improved region capacity and access capabilities
    • Magnum looks set to receive a new “secret” update, which has been under testing on the Snack channel (and will likely have Snack reabsorbed into it).

SL Viewer

There have been no viewer updates thus far this week, leaving the viewer pipeline as:

  • Current Release version:, dated March 13 – snapshots to e-mail hotfix
  • Release channel cohorts :
    • Project AssetHttp project viewer version dated April 12th – This viewer moves fetching of several types of assets to HTTP / CDN – overview
    • Maintenance RC viewer version dated April 3rd – avatar rendering and other updates
  • Project viewers:
    • Project Alex Ivy (LXIV), 64-bit project viewer version dated March 17th
    • 360-degree snapshot viewer version dated November 23, 2016 – ability to take 360-degree panoramic images – hands-on review
  • Obsolete platform viewer version dated May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Other Items

Differences Between Teleporting and Physical Region Crossings

As we know, whether you teleport between one region and another or physically cross the boundary between two regions, you are performing a region crossing. However, there is a slight different in how they are handled. Rider and Simon Linden described the processes involved during the Simulator User Group meeting, which makes for interesting reading if you weren’t previously aware of the processes involved.

In referencing teleporting between regions, Rider said, “Teleport packs your avatar into a big ball of data and throws you at the destination.” It’s then left up to the destination region to determine whether or not you actually get in. Hence the teleport progress bar.

Simon then said of a physical region crossings, “They do a bit more pre-crossing checks to see if you go into the neighbour[ing] region than TPs do.” Rider Linden then added, “If the regions are adjacent, the sim you are on checks to see if it should smush you into that ball before it does.”

These pre-crossing checks are handled through your child agent on the neighbouring region, allowing the simulator running the region you’re currently in to “see” if you’re able to access the neighbouring region. If it believes you can’t, it won’t bother creating the ball of data about your avatar (and everything attached to it), reducing its workload.

When is a Region Not a Region?

A curious topic came up at the meeting: when is a region not a region? The simple answer is probably “when you can’t see it”. But what about if you can – apparently – see it, at least on the map, and it doesn’t appear to have a name.

The mystery island as it appeared for some people using both the LL viewer and Firestorm

Whirly Fizzle spotted this phenomenon on the World Map with a region apparently adjoining The Epiphany, although her curiosity was piqued as it was apparently without a name. The mystery deepened when most of those at the meeting reported they couldn’t see any such region on their maps – although two or three besides Whirly could, on both TPVs and the official viewer (ruling on an issue in how a specific viewer is handling the map data).

What was equally mysterious, was that those who were able to see the unnamed island on the World map could also see it on the web SL map – while those who couldn’t see it on the world map also couldn’t see it on the web SL map.

As other saw the same area on the map – regardless of viewer

Several theories were put forward for the phenomenon, including it being a  non-updated map texture; a potential error in map tiling and loading;  an  old texture loaded and stuck at the  wrong LOD; and so on.  Running a quick check, Simon Linden couldn’t find any evidence for a region ever having been placed in any of the eight grid areas surrounding The Epiphany. He did, however, offer a possible explanation of what might have happened:

I do know the support team will do some interesting tricks sometimes … they will move one of their regions next to another to do some sort of work, then move it away. Perhaps that got captured there.

Either way, a curious little anomaly.

Mesh UUID Flipping via Script / UUID

Back in the mists of time as mesh support was being added to Second Life, there was the ability to change mesh assets via UUID / LSL. However, the ability was used most frequently as a means of animating meshes  – putting considerable stress of the rendering system in the process. Because of this, a wiki page on the subject was raised, and the ability to change mesh UUIDs via script was eventually removed altogether.

The Lab is currently considering implementing a means to animation meshes (something routinely discussed at the Content Creator’s User Group meeting). This would be a far more efficient and less stressful means of animating meshes where it to be taken up as project, and completely negate the need for animation via UUID flipping.

However, while allowing meshes to be changed through scripts / UUIDs has other potential uses, it is unlikely to be re-introduced even if animated meshes are introduced to SL, because anyone obtaining the UUID for a mesh could potentially download the “mesh” as a vnd.ll.mesh  file from the CDN, and could then theoretically reconstruct the original mesh item from that data (thus effectively stealing it).

SL project updates 2017 15/2: server updates / content creation (w/audio)

The Incredible 4blog post

Server Deployments – Recap

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

  • The was no Main (SLS) channel deployment or re-start on Tuesday, April 11th.
  • On Wednesday, April 12th, the three RC channels all received a new server maintenance package which includes:
    • Several internal fixes and two new internal logging modes
    • Another adjustment to fix issues with off-line IM and Group Notice delivery reliability
    • Fixes an issue where large numbers of objects could be returned after a rolling restart.

Upcoming Server Updates

Note: DRMSIM is the Aditi (beta grid) channel reference.

DRTSIM-323: New Simulator Build

This update was delayed in its deployment to a release candidate channel on Agni (the Main grid), with Mazidox Linden indicating it will now be moving in week #16 (commencing Monday, April 17th). Region holders wishing to test their applications / services etc., on the new simulator build should contact Concierge about having their region moved to the appropriate RC channel(s) when known.

DRTSIM-332: Updated Avatar Capacity / Access for Regions

See either Improved Region Capacity and Access from the Lab or Lab announces improved region capacity and access in Second Life in this blog for details. This update is currently on a micro-channel (McRib) on Agni, with Mazidox noting the following:

After careful consideration, we’re making the new limits a default, rather than requiring intervention from Estate Managers (of course it is still possible to set limits lower using the region console or the current Maintenance viewer at ). As a result there’s a new version on Aditi and we’ll have an updated version for McRib soon.

DRTSIM-343: Allow Public Access Region / Parcel Settings Changes

This is the updates to region / parcel access that will mean that if a region is explicitly set to Allow Public Access, parcel holders on the region will no longer be able to override the setting at the parcel level (see my update here). The update had been deployed to the three RC channels, where it was awaiting a viewer-side update featuring revised / improved land controls. However, Mazidox notes the code:

Was removed from RC after residents raised concerns about losing their previous state of “Allow Public Access”. To alleviate concerns of accidental change by landlord wiping out existing access settings on all parcels, we’re saving parcel setting until the region restarts. This means that while it won’t be saved permanently, it will be restored if the landlord removes their Ban Lines override. DRTSIM-343 will likely be back this week in testing, but may not have a corresponding viewer change yet.

DRTSIM-347: Fix for Incorrect Object Returns

This fix is designed to prevent a bug wherein objects might be returned from a region when it is restarted. It is about to undergo testing on Aditi prior to onwards deployment to Agni.

Content Creation User Group

The following notes are taken from the Content Creation User Group meeting, held on  Thursday April 13th, 2017 at 1:00pm SLT at the the Hippotropolis Campfire Circle. The meeting is chaired by Vir Linden, and agenda notes, etc, are available on the Content Creation User Group wiki page. The audio extracts are from my own recording, and a video of the entire meeting, livestreamed by Medhue Simoni, is embedded at the end of this update.

HTTP Asset Fetching

Vir re-iterated that the HTTP asset viewer, which utilises HTTP and the Content Delivery Network(s) leveraged by the Lab to deliver all Second Life asset types to users (rather than just mesh and texture assets and avatar baking data) as is currently the case with release versions of viewers), is now at Release Candidate status. The viewer has gone through two rapid-fire updates, with the latest version (at the time of writing) being I have an overview of the viewer, which includes an explanation of CDN use, for those who may not be familiar with the way things work.

Applying Baked Textures to Mesh Avatar

[Video: 2:04-18:35] The Lab is digging further into this idea, which if implemented would in theory allow at least some texture layers to be baked onto avatar meshes in a manner akin to that used with system layers and the default avatar. This could greatly reduce the complexity of mesh avatar bodies by removing the need for them to be “onion skinned” with multiple layers, although there are some issues which would need to be addressed.

One is that the baking service cannot currently handle materials (normal and specular maps; only texture – diffuse – maps), and the Lab has no idea as to how widespread either might be among clothing makers specifically producing applier systems for mesh bodies (which can support the use of materials). As such, they do not have a clear idea as to whether support for materials through the baking service would be required; something that could make any project related to this idea far more complicated to develop.

This led to an extensive discussion on what would be required from a system which could bake directly onto mesh layers, how widely materials might be used, and exactly how such a system would be used. The broad consensus of the discussion was that in terms of baking down layers, most creators like likely prefer to see things like skins and skin variations, tattoos, lingerie, freckles and eyebrows  baked down to a single layer, none of which tend to require significant materials support.

The discussion also touched upon the opportunity to present better alpha masking / alpha blending than chopping up mesh bodies into sections for masking / having alpha blending on different layers get into a fight, etc. Overall, it was felt that presenting some means to bake down some layers and reduce the complexity inherent in mesh avatars would be preferable to waiting on the Lab to be able to undertake a more widespread overhaul of the baking service to provide “full” materials support through it. Vir is going to take these points raised back to the Lab for further consideration.

Animating Objects

Animating mesh objects is another project under consideration. This would be especially useful for things like non-player characters (NPCs) and the like. There are several ways this might be approached, but as Vir explained in reply to a question, none of them would involve animating the Collada file. He also pointed out that animated objects is still only at the discussion stage, so whether any project – were it to be taken on – would include the ability for animated objects / NPCs to attach static objects (e.g. a hat or similar), hasn’t been addressed.

Rapid Round-Up

Animating Objects (/ NPCs): This is also still under consideration, but yet to be adopted as a project. However, were it to go ahead, it would likely not involve animated the Collada files, as suggested during the meeting, but leverage SL’s existing animation capabilities. It’s also too early in the process to say whether or not animated objects would support static objects being attached to them (e.g. an NPC being able to wear different hats).

Supplemental animations: The idea is to allow “supplemental” animations to run alongside the animation states keyed by llSetAnimationOverride(), effectively allowing them to play together, rather than conflicting with one another as is the case at the moment. Suggested some time again, it is still be considered, but no work has been carried out as yet.

Rendering Cost Calculations: he Lab is running a background project to look at the cost of rendering a wide range of Second Life features across a range of different client systems running the viewer. The tests for this work have now been defined and are about to be put into use. Once sufficient data has been gathered, the Lab will use it to determine what might need to be done to improve the accuracy of the avatar rendering calculations. Vir further defined the project’s status:

Re-using Linden Water Maps: The question was asked about re-using Linden Water data (Linden water being a combination of animated diffuse and normal maps) so that it might be re-used on other surfaces. The obvious use here would be to enable mirrors. Quite aside for the feared performance hit this could cause, it seems likely that the water system probably stands as its own unique implementation which would not easily lend itself to other uses.

Bouncing Bewb Improvements: In creating a set of animation for a client, Medhue Simoni noticed an issue with breast attachments and rigged mesh breasts. Essentially, as breast attachments go to the chest, they don’t necessarily follow the movement of the breasts when physics are used (which utilise the volume bone). His suggested solution would be to allow breast (/ nipple) attachments to be attached to the volume bone instead, allowing them to naturally follow breast movement,

Other Items

Aditi Inventory Server Update

The Lab has upgraded the hardware for one of the Aditi inventory servers. Almost all users logging-in to Aditi should be using it. There is a request that if those who do file a bug report f they notices anything strange related to inventory: lag, failure to load, textures looking incorrect etc.