SL projects update week 39 (1): server and general items

Server Deployments – Week 39

As always, please refer to the week’s forum deployment thread for the latest news and updates.

Second Life Server (Main Channel) – Tuesday September 24th

The main channel updated to the server project that was on Magnum last week, comprising:

  • A fix for the llXorbase64 issue reported on in my week 35 (2) update  (BUG-3763)
  • A fix for an issue where an avatar sitting at high altitude may appear to be located at 0,0 on both the world map and mini map (BUG-3332)
  • A fix for “llReturnObjectsByID breaks on string uuids”
  • Fixes for a number of JSON function issues:
  • Nerfing of recursive rezzing. Again, this was outlined in my week 35 (1) report. Under the new code, the copy of the original object will inherit the temp-on-rez and parcel time of the originating object and so be returned at the same time
  • Users who are on a parcel’s “Allowed Access” list now correctly bypass other parcel restrictions (such as “Payment Info On File”) when entering the parcel
  • Crash mode fixes.

Second Life RC BlueSteel, RC Magnum, and RC LeTigre – Wednesday September 25th

All three RC channels should receive the same update package as deployed to the Main channel (see above for a summary of changes). Release notes: BlueSteel, LeTigre, Magnum.

Region Restart Issues

The last few weeks have apparently seen an increase in the number of reports being filed against regions restarting in an unhealthy state following a restart. Talking at the Simulator User Group on Tuesday September 24th, Whirly Fizzle related the problems thus:

After rolling restarts, many regions come back in an unhealthy state in that no mesh will rez on them, you appear offline to all your friends if you are on said region, your friends lists & groups lists don’t load, you cannot initiate IM sessions & you usually disconnect when attempting to TP out of those regions. (Caps fail I guess?). Restarting the region fixes it. As far as I know this used to happen rarely after rolls but now it appears pretty common.

Some people have reported increasing issues with regions immeidately following a rolling restart
Some people have reported increasing issues with regions returning in an unhealthy state immediately following a rolling restart

Both Simon and Andrew Linden leaned towards the problems being indicative of a caps fail issue, with Simon speculating, “I suspect the caps system is overloaded in a server restart … there may be too many regions coming up at once, doing all the housework to get into the grid, etc, and it falls apart.  That’s just a wild guess, however.” He also pointed to the problem possibly being connectivity-related.

As a result, Andrew has said he’ll look deeper into the problem and also check with LL’s Release team, who actually handle the rollouts to see if they have any insight into what may be happening, and if it is a broken caps issue. In the meantime, those experiencing issues of the kind indicated by Whirly should file a bug report, making sure they include the server names (e.g. simXXXX.agni.lindenlab.com available in Help > About Second Life) both before and after running a manual restart.

SL Viewer Updates

There has been no release candidate promotion to the de facto release viewer as yet in week 39. However, the remaining two release candidates updated recently as follows:

  • The Maintenance release RC (support for new particle capabilities; automatic avatar render limit and feedback system) updated on September 20th to version 3.6.7.281236, and then on September 24th to version 3.6.7.281385
  • The Snowstorm contributions RC (request teleport feature) updated on September 20th to version  3.6.7.281199.

Continue reading “SL projects update week 39 (1): server and general items”

SL project update week 38 (2): server, viewer and other bits

Server Deployments – Week 38

As always, please refer to the week’s forum deployment thread for the latest news and updates.

  • On Tuesday September 17th, The Main channel received the HTTP updates  previously deployed to Magnum in weeks 36 and 37. See here and here for details. These changes are pending  a viewer-side update in order to be effective.
  • One Wednesday September 18th, the RC channels were updated as follows:
  • BlueSteel and LeTigre remained on the same maintenance package as week 37, but gained a fix for a crash mode and the server-side HTTP work
  • Magnum received the BlueSteel / LeTigre updates, a series of crash fixes and an update to parcel access priorities.

Some people have reported issues with sculpties only partially rendering following the deployments. This seems to be occurring when teleporting into a region, and has been noted with sculpted trees and foliage with a low LI. One suggested solution has been to raise the RenderMinimumLODTriangleCount debug from its default of 16 to 28 or 32.

BlueSteel / LeTigre Crash Mode Update

In part one of this week’s report, I mistakenly assigned the crash mode fix referred to as being something Andrew Linden had been working on. In fact, the crash mode was only created as a result of the week 37 deployment to these channels. Related to region crossings, it would only occur under very specific, non-exploitable conditions involving vehicle-riding avatars, and would result in the region just left crashing. This issue never got beyond the two RCs, and has now been confirmed as fixed.

Magnum Parcel Access Priorities Update

Speaking at the Server Beta meeting on Thursday September 19th, Maestro gave further information on this fix, “There was a longstanding bug where an avatar who was on the ‘Allowed Residents’ list of a parcel was still not able to enter the parcel, due to other access restrictions.” So if someone was on the access list, but had no payment information on file, and the parcel required it, they could still not enter the parcel. With this fix, Maestro explained, “If the parcel is set to ‘allow payment info on file always’, somebody on the ‘allowed residents’ list can always enter, regardless of their PIOF status.” The change does not alter anyone being on the banned list being unable to access a parcel,

As the sun sets, the Server Beta attendees gather ...
As the sun sets, the Server Beta attendees gather …

Week 39 Deployments

While the final decisions on deployment packaged are not made until the start of the week in which they are due, Maestro reports the data on both the Magnum and the BlueSteel / LeTigre packages deployed this week are good. However, he suspects the Magnum package will most likely be promoted to the Main channel in week 39 (week commencing Monday September 23rd.

Viewer Updates

The release viewer was updated on Thursday  September 19th, when the Materials release candidate (release 3.6.6.280963) was prompted to the de facto release viewer (release notes & download). This currently leaves just two release candidates in the release channel at present:  the Snowstorm contributions RC, which includes the Request Teleport feature, and the maintenance update, which includes the viewer-side updates for the “new” particle capabilities.

Other Items

LSL Parcel Access Function

Jenna Felton raised a question at the Server Beta meeting on whether it would be possible to have a LSL function which could determine if a specified avatar can enter a specified location within a region, or is able to pass through every parcel on a given path through the region. She explained why such a function might be useful:

The reason is when you build a vehicle or a physically working teleporter, you face a problem: Although you can read the parcel flags and determine for example if a parcel uses ban list, but you can’t determine if any sat passenger is on the list or not. So you get false positives and refuse teleport even if the vehicle would cross the parcel. Now, even if you are ok with that, you have to perform a large number of such checks to be sure at no position of your path you are entering a parcel or cross an edge of a parcel using ban list.

So I’d like to know if such a function is reasonable, that takes two vectors and determines if the path connecting them is safe for objects with seated avatars to move along. A reasonable range of systems would benefit from it.

This prompted some discussion of the idea, apparently continuing a discussion Maestro and Simon Linden had prior to the meeting. This took-in a number of ways in which such a check might be achieved, including a look-up based on agent_id and parcel_id, through to using the location-to-parcel ID lookup or extending llCastRay to have parcel detection.  Simon Linden also pointed out it would be possible to do something similar now, saying: “It’s not too hard to create a function in LSL to do that, Jenna … you’d just move along your path 4m in X or Y at a time, use llGetParcelDetails() and if the ID changes, then check if you can enter”, although as Jenna pointed out, this would require around 64 calls during a region crossing.

There may be further discussion on this idea in the future, with Maestro suggesting Andrew Linden be given a poke on the matter, as a result of his recent work on parcel encroachment.

Meeting Venue Update

Maestro revealed he’s going to be revamping the Server Beta meeting area on Aditi soon. The gym will be going to be replaced with … well … here’s the preview!

Apparently,  attendees will be invited to bring their own chairs / dance poseballs!

SL projects update week 38 (1): server releases, viewer, and more

Server Deployments – Week 38

As always, please refer to the week’s forum deployment thread for the latest news and updates.

Second Life Server (SLS Main) Channel – Tuesday September 17th

The Main channel received the HTTP updates  previously deployed to Magnum in weeks 36 and 37. Overviews of these changes, which will be transparent to users pending viewer-side updates, can be found here and here. These changes introduce new capabilities for mesh fetching operations and should lead improvements in the reliability in viewer / server connectivity when fetching mesh and textures as the viewer-side updates are released.

Release Candidate Channels – Wednesday September 18th

  • BlueSteel and LeTigre should remain on the same maintenance package as week 37, but additionally should receive two updates to the package:
    • A fix for a newly discovered crash mode
    • The HTTP updates deployed to Magnum in weeks 36 and 37 and to the Main channel on Tuesday September 17th.
  • Magnum should receive a new maintenance package which again includes the BlueSteel / LeTigre updates, and includes a number of crash fixes and an update to parcel access priorities “making it so that avatars who are on the ‘allowed’ list can bypass some of the other access restrictions (payment info on file was listed specifically)”

Commenting on the crash mode fixed on BlueSteel  / LeTigre, Andrew Linden said, ” The crash bug I fixed was actually rather rare… a corruption of the terrain data when building packets. Happened maybe… 5 times in three weeks. But we thought maybe it was related to some interest list changes so I looked into it anyway.”

Viewer Updates

Maintenance RC Release

A new RC viewer reached the release channel on Friday September 13th. Second Life RC viewer 3.6.6.280939 includes the following core updates:

  • Automatic avatar render limit and feedback system
  • Support for the additional LSL particle parameters.
  • rendering optimizations
  • avatar render cost information
  • simple impostors
  • graphics pref update
  • new debug setting “RenderAutoMuteRenderCostLimit” sets render cost cut-off point (default 0 = disabled cutoff check)

The new particle options comprise:

  • Glow
  • Ribbon effects
  • Blending options.

The SL wiki includes full details of these new particle parameters.

  • The glow effect basically looks the same as the prim glow setting on prims, adding PSYS_PART_START_GLOW and PSYS_PART_END_GLOW, which take a float in the 0.0 to 1.0 range
  • The particle blending takes 2 parameters, PSYS_PART_BLEND_FUNC_SOURCE and PSYS_PART_BLEND_FUNC_DEST, and each of those takes one of the 8 ‘values’ listed underneath, so there are actually 8*8 = 64 blend options. It exposes OpenGL’s glBlendFunc to LSL, see the glBlendFunc documentation at http://www.opengl.org/sdk/docs/man/xhtml/glBlendFunc.xml
An example of how the now ribbon capabilities might be used in SL, showing the arc of the sword through the air, supplied by Maestro Linden (courtesy of Hollowfear.com)
  • The new ribbon capability should allow for much better particle effects for things like ropes and chains links between objects (amount other things), using a ” go-from” prim/position (the prim centre), and a “go-to” prim/position (defined by PSYS_SRC_TARGET_KEY), the advantage being there would no longer be any gaps in the particle stream. However, there may be times when the ribbon effect may not be facing your camera (so there may be times when you need to reposition your camera in order to see the effect).

Continue reading “SL projects update week 38 (1): server releases, viewer, and more”

SL projects update week 37 (2): particle capabilities – viewer release imminent

Update: The maintenance release viewer with the particle capabilities is now available – version 3.6.6.2.80939 – release notes and download.

Server and RC Deployments

As always, please refer to the week’s forum deployment thread for news, updates and feedback.

In a change to the usual server-side deployments, the Main channel and all three RC channels have had their deployments and restarts made on Tuesday September 10th. The reason for the single pass was to apply updates server-side relating to recent Vivox service maintenance.

Details of the updates can be found in part 1 of this week’s update.

Server and RC Deployments Week 38

While the final decisions on deployments will not be made until that start of week 38 (week commencing Monday September 16th), it currently appears as if the following are likely to form part of the deployments:

  • The server-side HTTP updates will be promoted to the Main channel
  • A small server maintenance release will be deployed to at least one RC, which includes a number of crash fixes and an update to parcel access priorities “making it so that avatars who are on the ‘allowed’ list can bypass some of the other access restrictions (payment info on file was listed specifically)”

Particle System Viewer Imminent

Back in week 12, the Lab indicated that the SL particle system would be getting new capabilities, specifically:

  • Glow
  • Ribbon effects
  • Blending options.
Ribbon particle example

The server-side support for these capabilities was duly deployed, but have since been awaiting the viewer-side support in order to be accessible to users.

Commenting on the situation at the Server Beta meeting, Maestro Linden indicated that a release candidate viewer should be appearing with the necessary viewer-side support for the new LSL particle functions and parameters on Friday September 13th.

In preparation for the release, Maestro has also updated the wiki with details of the new particle parameters.

“The new particle glow options are pretty simple,” he said. “If you look at the wiki page, we’ve just added PSYS_PART_START_GLOW and PSYS_PART_END_GLOW, which take a float in the 0.0 to 1.0 range. It basically looks the same as the prim glow setting on prims.”

He went on, “particle blending takes 2 parameters, PSYS_PART_BLEND_FUNC_SOURCE and PSYS_PART_BLEND_FUNC_DEST, and each of those takes one of the 8 ‘values’ listed underneath, so there are actually 8*8 = 64 blend options! You can do crazy things, like having particles invert the thing underneath.

“Anyway, the blend parameters are pretty technical.  It’s basically exposing OpenGL’s glBlendFunc to LSL. And the main  glBlendFunc documentation at http://www.opengl.org/sdk/docs/man/xhtml/glBlendFunc.xml goes into the details better than I can.”

For those who can’t wait for the RC viewer with the necessary support to appear, an autobuild version is available.. However, keep in mind this is a test build for the capability, and as such is liable to be behind the curve compared to the RC version in terms of bug fixes, etc., so be sure to update to the RC version when it appears on the wiki page. The RC version is now available.

An example of how the now ribbon capabilities might be used in SL, showing the arc of the sword through the air, supplied by Maestro Linden (courtesy of Hollowfear.com)

The new ribbon capability should allow for much better particle effects for things like ropes and chains links between objects (amount other things), using a ” go-from” prim/position (the prim centre), and a “go-to” prim/position (defined by PSYS_SRC_TARGET_KEY), the advantage being there would no longer be any gaps in the particle stream. However, there may be times when the ribbon effect may not be facing your camera (so there may be times when you need to reposition your camera in order to see the effect).

Related Links

SL project updates Week 37 (1): server releases

Server and RC Deployments

As always, please refer to the week’s forum deployment thread for news, updates and feedback.

In a change to the usual server-side deployments, the Main channel and all three RC channels have had their deployments and restarts made on Tuesday September 10th. As a result, there will be no RC restarts on Wednesday September 11th.

The reason for the single pass – Main channel first, followed by the RCs – is to apply updates server-side relating to recent Vivox service maintenance.

  • Main channel: received an update related to the recent voice service maintenance and no other changes – release notes
  • BlueSteel and LeTigre: received a new maintenance package, comprising:
      • A fix for an issue where an avatar sitting at high altitude may appear to be located at 0,0 on both the world map and mini map (BUG-3332)
      • A fix for “llReturnObjectsByID breaks on string uuids”
      • Fixes for a number of JSON function issues:
    • Nerfing of recursive rezzing. Again, this was outlined in my week 35 (1) report. Under the new code, the copy of the original object will inherit the temp-on-rez and parcel time of the originating object and so be returned at the same time
    • Crash mode fixes
    • The update related to recent voice maintenance
    • These channels also no longer have Monty Linden’s HTTP updates on them).
  • Magnum remained on the HTTP update package deployed in week 36, and also received the update related to the recent voice maintenance.

Region Crossing Update

In addition to the updates listed in the release notes, Bluesteel and LeTigre also received a threaded region crossing update. This is not expected to have a major visible improvement on vehicle crossings, or as Andrew Linden put it at the Simulator User Group meeting on Tuesday September 10th, “It doesn’t mean the death of region crossing problems, but the data streaming on the way OUT of the region is now threaded, which doesn’t make the crossing any faster, but may reduce lag spikes as witnessed by everyone else.”

Kelly Linden added, “The threading change Simon mentioned moves vehicle serialization only into the same thread as agent serialization to fix a rare server crash mode due to a race condition serializing scripts in some very specific cases.”

SL Viewer Updates

On Monday September 9th, the Cocoa release candidate viewer was promoted to the de facto release viewer – version 3.6.5.280370 (release notes). This currently leaves just the materials updates as a release candidate viewer, although further viewer releases (either RCs or project viewers) are expected soon.

Group Ban Lists

Baker Linden is finishing-up the work prior to it going to RC (server and viewer), which is still a “few weeks” away. However, he’s planning / hoping on having the server code on Aditi by the end of the month, for which a “test viewer will be provided”.

Anti-griefing

Commenting on the update to the Auto-return capability to nerf recursive rezzing, Andrew indicated he took the discussion which followed his initial raising of the subject in the week 35 Simulator UG meeting back to the Lab, where there was discussion about limiting the functionality to “unattended” self-rezzing objects (i.e. those for who an owner is not present in the same parcel). He went on:

However after an internal discussion we decided to not open up that exception since it causes inconsistent behavior: different autoreturn times depending on whether the owner is present or not can lead to confusion, and also it would bypass the spirit of the autoreturn feature which parcel owners are expecting — that objects get autoreturned.

He went on to say that there is no single project at the top of his list,  and that the anti-griefing work is one of a number of projects he’s juggling with at present.

SL projects update week 36 (2): Server releases, viewer, HTTP

Server Deployments – Week 36

As always, please refer to the week’s forum deployment thread for news, updates and feedback. Deployments are a day behind the usual schedule due to the US Labor Day long weekend.

  • On Wednesday September 4th, the Main channel received the maintenance package deployed to all three RC channels in week 35, which includes Preparatory work to support new estate and parcel access controls and the new manual region restart capability which sees a region restart as soon as the last avatar leaves (release notes)
  • On Thursday September 5th, the three RC channels received the same maintenance package, which comprises  server-side HTTP updates which require a future viewer-side update. In the meantime, these changes should not be apparent in any current viewer release (release notes – BlueSteel)

Upcoming Server Deployments – Week 37

It looks likely that the HTTP updates deployed to all three RCs in week 36 (of which, more details below), will go back to just one RC in order to make way for additional packages “to get the server flow going again”.

Speaking at the Server Beta meeting on Thursday September 5th, Maestro Linden provided some information on some of the updates expected to go to at least one RC in week 37 (week commencing Monday September 9th):

  • The llXorbase64 issue reported on in my week 35 (2) report for details
  • A fix for an issue where an avatar sitting at high altitude may appear to be located at 0,0 on both the world map and mini map
  • Nerfing of recursive rezzing. Again, this was outlined in my week 35 (1) report. Under the new code, the copy of the original object will inherit the temp-on-rez and parcel time of the originating object and so be returned at the same time.
  • Fixes for a number of JSON function issues, including:
    • JSON implementation treats blank string and JSON_NULL interchangeably
    • Issue with llJsonSetValue with strings that end in ‘]’
    • RFC 4627 Non-Compliance by llJsonSetValue() with out-of-range Indices

SL Viewer News

There were no changes to the SL release viewer this week, again most likely due to the long weekend in the US.

Snowstorm Project Viewer

As reviewed earlier in the week, there has been a new Snowstorm contributions project viewer released, which includes various fixes and Jonathan Yap’s request teleport feature and a port of Cinder Roxley’s “eject from group confirmation” pop-up.

New request teleport capability - Snowstorm project viewer
New request teleport capability – Snowstorm project viewer

Interest List Viewer

Delays continue with this viewer, largely as a result of bug stomping requirements. Commenting on the situation at the TPV Developer meeting, Oz Linden said:

As you might imagine, monkeying with the interest list is full of opportunities for errors; and I think the team is really sensitive to that and trying hard not to have a bad launch. I keep hearing status updates from them, but none of them have been, “We’re going to launch the viewer right away”.

Hoz Linden then added, “They honestly are really close on the interest list, but there continue to be a string of bad bugs that need to be fixed.”

Animation Override Interface

Viewer-side hooks for LSL AO capabilities in the future?
Viewer-side hooks for LSL AO capabilities in the future?

As reported in week 34, Oz Linden is looking-in to the possibility of developing a viewer-side API / hook into the LSL AO capabilities introduced server-side earlier in 2013. Initial discussions with the Lab’s own developers seemed to go well (or as Oz put it at the time, they didn’t run screaming from the room…

As Oz will shortly be in San Francisco in the near future, he’s going to poke some more at the idea with the people at Battery Street and “see if there is something we ought to be doing.” Again, this is still a nascent idea, even with the offer of import from Kitty Barnett, and Oz went on to say:

If this is going to happen, and it is still a major league “if”, I think we would want to do it as part of a project in which a substantial improvement was made to how the viewer interacts with animation in general, and that means I would want a set of open-source devs involved in doing the viewer-side work. So be thinking about whether or not you can commit to that.

Continue reading “SL projects update week 36 (2): Server releases, viewer, HTTP”