SL projects update week 29 (2): server, viewer general news

Server Deployments week 29

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

On Tuesday July 16th, the SLS Main channel received the server maintenance package previously deployed to Magnum in week 28.

On Wednesday July 17th, the three main Release Candidate channels received the following updates: individual updates:

  • Magnum became the RC with the server-side baking / appearance project enabled (SSB/A is disabled on LeTigre). This move was made to expose SSB/A to a larger number of regions and a larger number of users as a result
  • BlueSteel received a further package of under-the-hood changes related to the experience tools
  • LeTigre received a new server maintenance project, which included fixes for several issues, including a further updated for pathfinding characters using CHARACTER_STAY_WITHIN_PARCEL getting stuck if they somehow exited their home parcel. It also added “RenderMaterialsCapability” to the /simulator/features cap, which indicates the access rate allowed when accessing the “RenderMaterials” capability, and Increased the “RenderMaterials” capability access rate to 4 requests per second (up from 1).

SL Viewer Updates

Release Candidate Viewers & the Release Process

The first of the viewer Release Candidates became public on Thursday July 19th. This is a maintenance update (3.6.2.278602) with a number of individual fixes from LL’s viewer maintenance team.

While the actual order of release is not clear, it appears that the next Release Candidates which will be added to the viewer release channel will be:

  • Viewer Breakpad changes
  • The Vivox updates
  • A Snowstorm (code contributions) build.

Which of these RCs is promoted to be the defacto release viewer will be depend upon a number of factors, including how well each performs as a release candidate (in terms of performance, crash rate, etc.).

Because Release Candidates are “cohorts” within the viewer release channel, you cannot download them as a distinct viewer installer package via the Official Alternate Viewers wiki page. However, release candidates can be tracked (and the source code obtained by those interested in self-compiling viewers) from the Official Viewer Source Repository page.

To give some idea as to why the new process has been introduced, Simon Linden indicated there is around four months of viewer work currently backed-up and awaiting release. This may mean that initially, there might be a higher bumber of RC viewer cohorts in the release channel than will be the case once the backlog starts to clear.

For a complete breakdown on how the new release process works, please refer to my explanation of the process.

I’ll be endeavouring to keep pace with official viewer updates, including cohorts, through my Viewer Round-up Page.

Settings.xml

The plan to use a single settings.xml file for all installed versions of the SL viewer is currently dependent upon a snowstorm code contribution which is currently in the pipeline. Once this has been implemented within the viewer code, it should help eliminate problems of users on the SL viewer reporting their settings have been “eaten” / overwritten should they move between different versions of the official viewer (i.e. swapping between the release viewer and a project viewer and back again).

Group Ban List

Baker Linden continues to work on the group ban list project (see JIRA VWR-29337). The last time he was available for an update at the Simulator User Group on Tuesday July 10th, he indicated that he was working on the back-end code, which required a lot of refactoring and which he was hoping to get finished by the end of week 28 prior to moving to the viewer-side code.

Speaking on his behalf at the Server Beta meeting on Thursday July 18th, Simon indicated that Baker may have achieved his goal, and is now working on the viewer side of things and the UI.

Experience Tools

Again, no major news here. The server-side updates (which presumably include the long-awaited permissions system updates) continue to reach RC channels, but there is no news on the viewer-side updates which are expected to be appearing in a project viewer at some point in the (hopefully) near future.

Related Links

SL projects update week 28 (1): servers, SSB/A, viewer, snapshots

Update Wednesday July 10th: In checking the forum deployment thread for this week’s roll-outs, I see that KarenMichelle Lane has provided a list of regions on LeTigre where SSB/A will be enabled once they have restarted. Again, you’ll need to have an SSB/A-enabled viewer to avoid issues with avatar rendering on these regions. If you find that once the restarts have completed you are encountering issues with avatar rendering (for example, you are using an SSB/A viewer and find you avatar fails to render for yourself or others), or other issues which appear to be linked to SSB/A, please consider raising a bug report detailing the problem, how to reproduce it, and including your environment information (Help > About (Viewer Name) > Copy to Clipboard), which references Project Sunshine.

Server Deployments – Week 28

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

Second Life Server (SLS Main) Channel

On Tuesday 9th July, the SLS Main channel received the server maintenance package previously deployed to all three RC channels in week 26. This comprised:

  • A fix for ‘llApplyImpulse now works only in the root prim’ (SVC-8227)
  • Crash mode fixes
  • New LSL function: string llXorBase64(string str1, string str2)
    • Returns a string that is a Base64 XOR of Base64-formatted input strings, str1 and str2.
    • Addresses the cases from SCR-35 “llXorBase64StringsCorrect returns wrong result when the 2nd string contains nulls”
    • Aside from those cases, this function behaves identically to llXorBase64StringsCorrect()
  • Added max_materials_per_transaction to /simulator/features cap
    • This number returns the maximum number of materials that can be sent to the “RenderMaterials” capability in a single request.

     

Release Candidate Channels

On Wednesday July 10th, the three main Release Candidate channels should each receive individual updates, as follows:

  • LeTigre should see the Server-side Baking / Appearance code enabled. See my mini-update here
  • BlueSteel should receive a further package of under-the-hood changes related to the experience tools
  • Magnum should receive a server maintenance project intended to fix a couple of pathfinding issues:

Viewer Updates and Release Process

  • The Second Life Beta viewer updated to release 3.6.2.278133 on July 2nd – see the release notes for change details.
  • The Materials Project viewer was also updated on July 2nd, to release 3.6.2.278221.

Speaking at the Opensource UG meeting on Monday 8th July, Oz indicated that he hoped the new viewer release process would go live on Tuesday July 9th. If this has in fact happened, the first viewer to pass through the new process is likely to be a project (or beta viewer) with further third-party code contributions to the SL viewer.

However, as both the SSB/A deployment and the new viewer release process both require an update to the login code, it is possible the new viewer release process will not go live until Wednesday 10th July.

The login change for the viewer release change is to update the automatic check which is carried out to see if a mandatory upgrade is required (see my week 20 report). To prepare for the new release process, is check has been updated. , the login change for SSB/A is described by Oz Linden as, “a very minor change to ensure that inventory is correct” .

Group Ban List

Baker Linden and his new harido
Baker Linden and his new harido

Baker Linden continues to work on the new group ban list functionality (JIRA VWR-29337). Speaking at the Simulator User Group on Tuesday July 8th, he said:

For my update: I’m making really good progress on group bans. I’m doing a bit of a refactoring because I changed the way the backend works slightly. Hopefully by the end of the week I’ll be finishing up the backend code.

There’s currently no date as to when the viewer-side changes might see the light-of-day, but given Baker is currently working on the back-end, this is hardly surprising. He’s also indicated that while it won’t be available when the new functionality goes live, he is considering adding scripting functions to group bans. He also confirmed that group bans would have their own moderation capability, rather than being tied to estate ban moderation.

Particle System Updates

Particle Blocking

As previously reported in these updates, the new “right-click on particles to block and emitter” (MAINT-2268) code for the viewer has been released in the SL Beta Maintenance Viewer. As well as allowing people to click on particles to prevent the viewer generating any more particles in someone’s world-view, the code also has a FPS limit on particles and will stop generating new particles when frame rates drop to 4 FPS.

Those who have tested the capability report it works well and it is very easy to right-click on particles and block them. A slight bug has been reported whereby when unblocking a particle generator / person owning a particle generator, the viewer will not resume generating the particles until the user changes their group tag.

New Particle Capabilities

First reported on in these pages back in week 12, the new particle capabilities – glow, ribbon and blending optionshave had server-side support for some time. The Beta Maintenance viewer mentioned above now has the first part of the viewer code, and speaking at the Simulator User Group meeting on Tuesday July 8th, Simon Linden said, ” Once that one is out, we’ll get the next one going,” so expect these capabilities to be becoming more radily available in the near future.

Ribbon particles – one of the new particle capabilites

Other Bits

Snapshot Fixes

The SL Beta Maintenance veiwer includes further snapshot fixes (MAINT-2152) which are designed to overcome the problem of black rectangles  / borders appearing in very high resolution snapshots. These fixes are in addition to the “tiling” fix issued last year.

However, Whirly Fizzle reports that if very high-res snapshots are captured with the Beta Maintenance viewer and post-processed, the tiling artefact tends to return.

Post-processing high-res images captured using the additional snapshot updates (as found in the current SL Beta Maintenance viewer) can result in tiling artefacts reappearing (image, originally in PNG format, courtesy of Whirly Fizzle.
Post-processing high-res images captured using the additional snapshot updates (as found in the current SL Beta Maintenance viewer) can result in tiling artefacts reappearing (image, originally in PNG format, courtesy of Whirly Fizzle.

Simon Linden reports that a further update to these fixes is about to be released, although it is not known at this time if it will fix this issue, or a reported issue of GPU crashes when using the Beta Maintenance viewer for snapshots.

Your Skin – In the Sky

The issue of avatar skins appearing in the sky at very high altitudes (see JIRA VWR-28962) came up for discussion at the Simulator User Group. First reported in 2012, there is some speculation whether SSB/A will impact the frequency with which the issued manifests; it appears to be linked to the local bake process, and so may only occur in the future when people at high altitudes are editing their appearance.

The "face-in-sky" issue (image courtesy of Eku Zhong)
The “face-in-sky” issue (image courtesy of Eku Zhong)

In the meantime, if you are up high and encounter this phenomenon, try toggling the Advanced Lighting Model option in Preferences > Graphics off / on.

SL projects update week 26 (1): server, viewer, materials

Server Deployments – Week 26

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

Second Life Server (Main) Channel

On Tuesday 25th June, the SLS Main channel received the server maintenance package deployed to the three RC channel in week 25. This fixes a number of crash modes, addresses an issue with neighbouring region visibility, and adds new LSL capabilities:

  • The new pathfinding property CHARACTER_STAY_WITHIN_PARCEL, which can be used with llCreateCharacter() and llUpdateCharacter(), and is intended to help with keeping characters within parcel boundaries – see my week 19 report for details
  • The new object return functions I reported on in week 23, namely llReturnObjectsByOwner and llReturnObjectsByID, are intended to provide an automated means of returning objects to their owners – see my full update on these functions for details.

This package also includes the following:

  • An update to llReturnObjectsByID() to prevent it from returning other objects which are owned by the parcel owner or estate owner/manager
  • A fix for an issue in which LSL HTTP-in scripts would sometimes see the incorrect URL (BUG-2833)
  • A fix for Bug 2850 (Cannot rez objects in Bluesteel and LeTigre parcels which disallow object entry) – which caused this deployment to be replaced by the Magnum RC package in week 24.

The neighbouring region visibility issue referred to in the package is for SVC-8019, which is related to issues with regions failing to communicate with their neighbours for up to an hour are a restart, causing communications issues (e.g. LSL chat) across region borders. It is not intended to address the issue of diagonally adjacent regions not being visible to one another (SVC-8130).

Release Candidate (RC) Channels

On Wednesday 26th June, all three RC channels (Magnum, BlueSteel and LeTigre) should receive a new server maintenance package, comprising:

  • A fix for ‘llApplyImpulse now works only in the root prim’ (SVC-8227)
  • Crash mode fixes
  • New LSL function: string llXorBase64(string str1, string str2)
    • Returns a string that is a Base64 XOR of Base64-formatted input strings, str1 and str2.
    • Addresses the cases from SCR-35 “llXorBase64StringsCorrect returns wrong result when the 2nd string contains nulls”
    • Aside from those cases, this function behaves identically to llXorBase64StringsCorrect()
  • Added max_materials_per_transaction to /simulator/features cap
    • This number returns the maximum number of materials that can be sent to the “RenderMaterials” capability in a single request.

SL Viewer

General

With the release process yet to switch-over to the new system, the following viewer updates were made in week 25:

  • The SL beta viewer saw an additional release – 3.6.1.277611 on June 21st. This primarily included some fixes for the version of the viewer which is offered via Amazon for download, and rendering fixes
  • The Snowstorm Contributions Test Build viewer was updated to the 3.6.1 code base (version 3.6.1277577, June 20th, for details of the current contributions in the viewer, follow the link). This would appear to be the first step in merging-up a series of third-party viewer contributions which are liable to see a project / beta viewer release after the new viewer release process comes into use.

Viewer Release Process

Commenting on progress with the upcoming new viewer release process at the Open-source Dev meeting on Monday 24th June, Oz Linden said, “We’re in the final verification stages. Might even get it turned on this week.”

As a side note, and In preparation for the new process, I’ve revamped my Viewer round-up page to (hopefully) better reflect the fact that we should be seeing a broader spread of viewers being put out by LL. This is a work-in-progress, and the page may evolve further as the new viewer release mechanism comes into force. Similarly, the weekly summaries produced from this page are also being revised ready for the new release process.

Materials Viewer

Despite issue with the materials viewer, there are a number of content creators already working on products which leverage the new capabilities. At the Open-source Dev meeting on Monday 24th June, Whirly Fizzle pointed people towards the work of Chip Midnight, who has been working on a mesh avatar using materials properties.

Chip Midnight's mesh avatar model (click to enlarge)
Chip Midnight’s mesh avatar model (click to enlarge)

Whilry also supplied a link to  a thread on the SL Universe forums where Chip discusses the avatar. For those interested, it’s worth following the discussion for the next couple of pages – particularly Drongle McMahon’s reply to Chip on the subject of specular and gloss maps.

Continue reading “SL projects update week 26 (1): server, viewer, materials”

SL projects update week 24 (2): server news

Update June 12th, 22:40 BST/14:40 SLT: The BlueSteel  / LeTigre deployment which includes these capabilities has been rolled back due to an issue whereby objects cannot be rezzed in BlueSteel / LeTigre parcels which disallow object entry (even if Create Objects is enabled) BUG-2850. Both regions are now running the week 24 Magnum deployment.

Server Deploys for Week 24

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

Second Life Server (Main) Channel

On Tuesday June 11th, the SLS channel received getting the server maintenance project that was on BlueSteel and LeTigre in week 23. This is intended to fix a simulator crash mode, and address a disconnection issue whereby multiple avatars would be disconnected from a simulator simultaneously, giving the impression the region had crashed when it had in fact not done so, and which also impacted LSL HTTP-in URLs.

Following the deployment, there was a report that the disconnection issue fix had not fully addressed the problem of LSL HTTP-in URLs being dropped, which was also raised at the Simulator User Group meeting on Tuesday June 11th. The matter has been acknowledged by Kelly and Maestro Linden, who are currently awaiting further information on the problem, although Simon Linden also commented, “I realize a bug Kelly and I were talking about earlier today is that issue, so someone is on it.”

Simulator UG meeting (stock)
Simulator UG meeting (stock)

BlueSteel and LeTigre Release Candidate Channels

On Wednesday June 12th BlueSteel and LeTigre should receive a new server maintenance project to fix a number of crash modes, addresses an issue with neighbouring region visibility, and adds new LSL pathfinding capabilities and object return capabilities:

  • The new pathfinding property CHARACTER_STAY_WITHIN_PARCEL, which I described in week 19. can be used with llCreateCharacter() and llUpdateCharacter(), and is intended to help with keeping characters within parcel boundaries
  • The new object return functions I reported on in week 23, namely llReturnObjectsByOwner and llReturnObjectsByID, are intended to provide an automated means of returning objects to their owners. For ease of reference, I’ve provided a more in-depth look at the capabilities in a separate report. Kelly Linden has also includes some guidelines on the functions in the deployment discussion thread.

Magnum Release Candidate Channel

On Wednesday June 12th Magnum should receive an update to the current interest list changes running on that channel, which addresses two bugs introduced by the project. Providing no further issues are found with these changes, it is likely (but subject to confirmation) that they will be promoted across the grid in week 25.

Commenting on the Magnum update at the Simulator User Group meeting on Tuesday June 11th, Andrew Linden said, “The Magnum channel has two bug fixes. The excessive AvatarAppearance packets [in which the simulator would send many unnecessary AvatarAppearance messages to the viewer], and my final fix for Meeroos; specifically, the problem where it looks like the Meeroo’s animation is busted when you turn around to look at it.”

Going on Andrew’s recent comments, this update is liable to mark the final aspect of server-side interest list work for the moment.

The Magnum deployment also includes a fix for the issue relating to viewing the text of large scripts I reported on in week 23, whereby the text of previously saved “large” scripts cannot be displayed in the script editor for users on slow connections (BUG-2694). This update had originally been targeted at the week 23 deployments, but failed to make the cut then due to some last-minute work being required.

Other News

Group Ban List

Baker Linden
Baker Linden

The group ban list functionality Baker Linden has been working towards in his desire to address JIRA SVC-8127 may soon start to get attention. Commenting at the Simulator User Group meeting on Tuesday June 11th, Baker said:

I am getting closer! I haven’t started work on it directly, but I’m wrapping up the last of the bug fixes related to Mute Lists. I’m writing some new unit tests to test my new functionality … There might be some viewer / other backed server work to do too, but hopefully everything will work so that part will be smooth. But after I finish up this last issue, I’ll be working on group ban stuff. I’ve learned a ton about Django and how to implement it, so I’m hopeful that it’ll be somewhat smooth of an implementation.

Django is a web framework the Lab uses for a number of in-world user-related services, and is the chosen mechanism by which to add the ban list functionality (its use doesn’t mean the group ban function will be web-enabled or anything like that). It is also a tool set unfamiliar to Baker, who only started finding his way around it a few weeks ago.

JSON Wiki Update

New LSL capabilities were recently introduced for the creation and parsing of JSON formatted strings which can used for transferring data between in-world objects and external resources / websites.  The LSL-JSON pages on the Second Life wiki have been evolving over the past few weeks, with the most recent updates occurring on June 10th. If you’re interested in these new capabilities, make sure you take a look at the wiki.

SL projects update week 21 (2): server releases, Interest list, group ban list

Server Deployments

As always, please refer to the release forum  thread on the weekly deployments for the latest updates and discussions.

Due to issues with the JSON deployment made to all three Release Candidate channels in week 20, there has been no Main channel deployment in week 21.

On Wednesday May 22nd, the three Release Candidate (RC channels should each receive the following updates:

  • Magnum should receive an update to the server maintenance project deployed to all three RC channels in week 20 which includes fixes for bugs within the LSL support to create and parse JSON-formatted strings, which I reported on in my week 20 report.  This week’s update fixes some bugs related to the changes. Release notes.
  • BlueSteel should receive a further update to the experience tools project, and there should be no visible changes with this update. Release notes
  • LeTigre should receive an update related to the simulator’s interest list subsystem which reduces scene loading time when entering a new region. Release notes.

Interest List Bits

Andrew Linden
Andrew Linden (image captured by Opensource Obscure)

As noted in week 18, Andrew Linden has been working on fixing a bug which he specifically mentions in terms of Meeroos, but which can affect other animals as well, which he described as:

If you turn your camera away from a crowd of Meeroos, wait several seconds, then turn back around… the Meeroos will be updated, but not quite in the right order. So sometimes you’ll see a head move to the new position, then a fraction of a second later the rest of the body.  So I have a theoretical fix that doesn’t crash the simulator (anymore)

Providing an update at the Simulator User Group meeting on the 21st May,, he said, “I do have a little news about the Meeroo animation bug… I wasn’t able to fix it after all… but I did reduce it or eliminate it for meeroos that are nearby (closer than 10m).” He also noted an issue with the Meeroos’ animations which he believes to be “Mostly by slow scripts, low bandwidth connection, or general lag,” which results in the Meeroos walk animation appearing to be broken. He believes the fix in his new project will enable nearby Meeroos to update correctly when being viewed, and he’ll be revisiting the problem once the initial fix has been deployed, although he’d be interested in hearing back on how well the partial fix works, once the fix has gone out.

Baker Linden: Group Ban List and Other Work

Baker Linden: getting closer to working on group bans
Baker Linden: getting closer to working on group bans

Baker Linden reports that he is making “really great progress” on fixing leading and trailing spaces in display names. He’s currently working on some unit tests and dealing with a couple of minor issues, but he hopes that overall it will be ready for QA later in the week. He did admit that, “I’m unsure how useful it’ll be — anyone that wants to game the system will just append a bunch of other characters that appear before letters… But at least whitespace will be stripped.”

Once this has happened, he’ll be finishing-off the fixes for name searches using the People floater and the correct removal (unmuting) of muted avatars and objects from the viewer’s mute list. As soon as these two issues have been dealt with, Baker will be pushing forward with the new group ban list capability as requested in JIRA SVC-8127.

SL projects update 18 (4): servers, viewer release process, group bans and bits

Server Deployments – Week 18

As reported in the first part of this update, the SLS Main channel was rolled back to release 13.04.05.273580, as a result of a widespread performance issue.  This unfortunately saw the removal of the new LSL animation capabilities from the channel.

The issue itself is related to problems with regions locating their neighbours. “The sim were hitting the [region presence lookup] service too hard, causing stability problems.” Maestro Linden said at the Server Beta meeting on Thursday May 2nd. Release notes.

In the original notes for this week’s deployments, BlueSteel and LeTigre were scheduled to receive the same deployment package. However, this was subsequently changed so that:

  • BlueSteel received the same reversions as the Main channel due to the performance issue between neighbouring regions, but also received updates for the Experience Keys project as originally planned. Release notes.
  • LeTigre received the same code that was on the main channel in week 17, the only difference being that it fixes the performance issue that caused the Main channel to be rolled back this week.  Release notes.

Maestro described the deployment of the fix for region lookup issues as the “conservative option”, rather than deploying the fix to multiple Release Channels, “In case the changes from the other two channels have their own problems.”

Magnum received the package originally scheduled for it, described as bringing some new minor features to LSL, and fixes some crash modes as well as the fix for grid performance issue, and fixing an issue in which llDialog() messages sent to the object owner could be incorrectly throttled. Release notes.

The hope is that if all is well with the Magnum update, it is liable to be deployed to the Main channel in week 19.

SL Viewer Updates

Beta Viewer Release

A new beta version of the viewer emerged on May 2nd, using the 3.5.2 code (3.5.2.275087). This release includes the update from FMOD to FMOD Ex, and well as a number of other maintenance and other fixes as specified in the release notes.  However, it does not include the anticipated Vivox updates to improve SL Voice. These will be coming along at a later date.

The current plan is for this release to remain in the beta channel for at least one further update prior to it appearing in the release channel. As such, it is unlikely to be in the release viewer until late in week 19 or in week 20. Once it has appeared in the release viewer, LL will probably deploy the new viewer release process, and the beta channel will cease being used.

Viewer Release Process

Oz Linden
Oz Linden

As previously reported, the viewer release process will be changing in the coming weeks. As a part of this, the development viewer channel has already been deprecated; however it will still be a while before the new process is put into place, as further infrastructure changes are still required on LL’s part.

Concerns have been raised by TPV developers about a side-effect of the new process potentially being that the rate at which code becomes available to them may slow down, thus causing them to “fall behind” the LL viewer in terms of new functionality or capabilities. Stressing that this is not the intent, Oz Linden described process in further detail at the TPV Developer meeting, indicating that under the new system:

  • Viewer projects will each have their own repositories, which will be made available to TPVs (and others) once it is deemed they are “safe to share” as a project or “beta” viewer
    • While it has yet to be formally decided within LL, and may take a little time to work up to, critical bug fixes are liable to have their own repositories, from where they can be merged into other viewers
  • Users will be able to pick which beta / project viewer(s) they download from the Alternate Viewer wiki page without being tied to any specific update route (so you can download and run as many project / beta viewers as you like)
  • Once a project is believed to be of release quality, it will be put into a release candidate, built on the current viewer release code and released to a target number of users (as chosen by LL), alongside other release candidates being used by other users
  • When a user receives a release candidate viewer via the download page, the updates they receive will be offered on the basis of the release candidate they are currently running (for example, if a user is running the Materials RC viewer, they won’t be offered updates from, say, the SSB/A RC viewer)
  • After some period of time, and when LL have looked at the results, one of the release candidates will be promoted to the default download (without the viewer having to be rebuilt) and will be available on the main download page
  • The remaining viewer projects (at least those at release candidate status) will then be merged with the newly-released viewer code, and re-test and issue a further release candidate, which may in turn be selected as the next candidate for promotion to the default download.

He added that in terms of TPV’s concerns over code being made available to them, the level of co-operation which has been evident in the Sunshine project (SSB/A) has “not gone unnoticed” within LL’s management, and that the team involved has received a lot of kudos for the way they have handled interaction with TPVs. As such, it is likely that the Lab will endeavour to build on this going forward.

Continue reading “SL projects update 18 (4): servers, viewer release process, group bans and bits”