SL projects updates week 36 (1): server releases, HTTP notes, anti-griefing

Server Deployments

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.

Second Life Server (SLS Main) Channel – Wednesday September 4th

The Main channel should receive the maintenance package deployed to all three RC channels in week 35, comprising:

  • An update to region restarts initiated by region owners or estate managers which will see the region restart after the last avatar leaves, rather than waiting for the full countdown period to complete
  • Preparatory work to support new estate and parcel access controls – these will require an upcoming viewer-side update in order to be visible to users
  • A fix for a physics-related griefing mode (see below)
  • A crash mode fix.

Release Candidate Channels – Thursday September 5th

All three RC channel should receive 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. The updates specifically comprise:

  • When connections between viewer and web services were closed by the server, the last response was sent without a ‘Content-Length’ or ‘Transfer-Encoding: chunked’ header. Last response will now be sent with ‘chunked’ encoding.
  • Throttling actions on Capabilities URL result in 503 status codes back to clients. These responses may include a ‘Retry-After’ header with a delta time giving a hint as to when the client may retry the request. In the absence of such a header, client is expected to make ‘reasonable, best-practices’ delayed retry attempts.
  • Adds support for a new capability, ‘GetMesh2’ for fetching mesh assets with keepalives enabled.

HTTP Notes

The RC deployments look to be the first part of Monty’s continuing work on HTTP connectivity between the viewer and the SL servers. As noted in recent reports, the core focus of this work is on improving mesh fetching capabilities between the two, although Monty is also working on a number of other updates, all of which are aimed at improving the HTTP services between the viewer and the SL servers and making them more robust, as well as paving the way for HTTP pipelining in the future.

Group Ban Lists

Baker Linden continues to work on the new group ban list functionality. The focus is currently on the UI hook-ups and back-end validation checks. It will still be a while before a project / RC viewer is likely to appear, but hopefully not too long.

Anti-griefing Work

Andrew Linden continues to work on “anti-griefing” measures, reporting that the “physics-related griefing mode” which forms a part of the Main channel deployment and which is already on the three RC channels, is to prevent the use of “faux rotating megaprims”.

These are megaprims which used a physics collision exploit to knock avatars out of that region using the ‘resolve interpenetrating objects’ collision logic. “We had  some collision-bypass code there specifically for avatars, but it had been broken some time ago,” Andrew explained, the break apparently allowing the exploit. He’s now fixed the code breakage, and reports from a number of RC sandboxes is that it appears to have worked.

Other Items

There was a report made during the Simulator User Group that some LSL events are failing to execute or aren’t being queued / cued when a script is caught in a loop. details were sketchy, but a BUG report was due to be raised.

SL project updates week 35 (2): parcel access controls & particle system

Server Deployments Week 35

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

  • On Tuesday August 27th, the Main channel received the update package which includes the “grey box” attachment fix (issue details here), together with an update to for “llListen in linked objects is listening at root instead of linked object local position”; the new code to stop avatars entering a region / objects being rezzed in a region during the last 60 seconds before a restart, and additional fixes for simulator crash modes  (release notes)
  • On Wednesday August 28th, all three RCs received the same update package, which has a fix for a simulator crash mode, a fix for a physics-related griefing mode, and which has a new capability so that region restarts initiated by region owners occur as soon as the last avatar has left the region. This package also includes server-side support for new parcel access controls (see below) – release notes: Magnum, LeTigre, BlueSteel.

Region Shutdown / Restart

In reference to the new capability rolled to the RC channels whereby region restarts initiated by a region owner occur as soon as the last avatar leaves the region (rather than waiting for the time delay to expire), Maestro Linden indicated that the capability will eventually be extended to automated rolling restarts as well.

New Parcel Access Controls

Maestro Linden likes to work-out during meetings
Maestro Linden likes to work-out during meetings

The original post for the RC server package made reference to “estate and parcel access controls”. However, this was an error on Maestro’s part, and he sought to clarify things in a couple of follow-up posts, in which he first made it clear the new controls only apply to parcels, not regions (hence the emphasis above), and then went on to say:

The new feature is to allow a parcel to be configured to allow users to enter a parcel if they are members of the parcel’s group *or* have payment info on file.  This is meant to be a big help toward keeping griefers out, as they often will not add Payment information to their account and group limitations are often managed by the land manager.

This access configuration, which is already available at the estate level, involves enabling 3 options in ‘About Land’->’Access’:

  • Allow public access
  • Allow access only to Residents who: Have payment information on file
  • Allow Group Access: <group>

With the current release viewer (3.6.4 (280048)), this combination of settings is not possible to set in ‘About Land’; enabling ‘Allow public access’ causes ‘Allow group access’ to become disabled.  The upcoming viewer change will make these two settings independent in the UI.

He further explained:

The change is to allow group-based white listing which can parcel restriction based on payment info.  Here’s how the logic plays out:

  1. “Allow public access” means that avatars/groups do not need to be explicitly white listed to visit your parcel.
  2. The “Allow access only to Residents who: Have payment info on file” option is only available when (1) is set (this is also the classic behaviour). 
  3. The “Allow group access: <group name>” setting additionally allows group members to access your parcel, except for those on the ban list.

With only (1) and (2) set, only those with payment info on file can visit your parcel; there is no way to allow your friend/alt who doesn’t have payment info on file to access the parcel.

With (1), (2), and (3) set, you allow two sets of people in:

  • ‘trusted’ accounts, who belong to the parcel’s group
  • any account with ‘payment info on file’ (these users probably aren’t zero-day griefer accounts)

The viewer-side updates required to use these options are currently a work-in-progress. There is an internal viewer available within the Lab which is being used for testing purposes, and it is hoped that the necessary updates will be appearing in a beta or release candidate viewer in the near future.

Continue reading “SL project updates week 35 (2): parcel access controls & particle system”

SL project updates: week 35 (1): server releases, group ban list, anti-griefing

Server Deployments Week 35

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

Second Life Server (SLS Main) Channel – Tuesday August 27th

The Main channel received the update package which includes the “grey box” attachment fix, and which had seen previous deployment to some of the RCs. In all, the package comprises:

  • A fix for the “grey box attachment  issue” (non-public BUG-3547, see the details here)
  • An update to for “llListen in linked objects is listening at root instead of linked object local position *after re-rezzing the linkset*”,  (non-public JIRA BUG-3291)
  • Code to block avatars entering a region / objects being rezzed in a region during the last 60 seconds before a restart. In addition, restart warning pop-ups will include the region name
  • Fixes for further simulator crash modes.

Release Candidate Channels – Wednesday August 28th

All three RC channel should receive the same maintenance package comprising:

  • An update to region restarts initiated by region owners or estate managers which will see the region restart after the last avatar leaves, rather than waiting for the full countdown period to complete
  • Preparatory work to support new estate and parcel access controls – these will require a upcoming viewer-side update in order to be visible to users
  • A fix for a physics-related griefing mode
  • A crash mode fix.

The release notes are here: Magnum, LeTigre, BlueSteel.

Commenting on the upcoming estate and parcel access controls at the Simulator User Group meeting on Tuesday 27th August, Simon Linden said, “I can’t get into details on the access change but it’s not a huge one, so don’t get too excited about it. We hope to have a project viewer out in a few weeks or so that will have the new code and we can discuss it then.”

SL Viewer Updates

Release Viewer Updated

Following the Monday review meeting, CHUIStorm Release Candidate viewer was promoted to the de facto release viewer 3.6.4.280048, dated August 20th) on the 26/27th August. This viewer includes the latest CHUI updates from the Lab and a number of Snowstorm code contributions from third-party developers, including:

  • STORM-1892 – Add Apply button to the edit content permission floater
  • STORM-1910 – Count of the number of groups a person has joined, and number of remaining group slots
  • STORM-1911 – Go-to line function for the internal LSL script editor
  • STORM-1918 – Part of the group notice attachment box does not allow dropping of assets
  • STORM-1952 – Clicking “Eject” needs a confirmation before execution when ejecting members from a group

The full list of updates are available in the release notes.

The move currently leaves two RC viewers in the release channel: the Cocoa updates for Mac builds, and the next round of updates for Materials Processing, which include goodies such as correct ALM rendering underwater.

Commenting on the removal of the Google Breakpad RC viewer from the list, Oz Linden confirmed that it had been removed as it had done its job, allowing the new reporting mechanism to be tested. As the viewer contains no user-facing changes or anything outside of the Breakpad updates, it has been withdrawn, and the new stats reporting code will be integrated into the viewer code base without requiring a dedicated release.

The mesh deformer project viewer has also been removed from the viewer test builds wiki page. There is not anything untoward about this; prior to the SSA deployment the viewer was already significantly behind the times in terms of merges. As SSA has now been deployed, and the view lacks SSA support, it is currently pointless having it as a publicly available download option.

Group Ban List

Baker Linden supplied a brief update to his work on creating a function to allow group owners to ban people (e.g. known troublemakers) from joining their open-enrollment groups. Speaking at the Simulator User Group meeting, he said:

I’ve still been hooking up the viewer to the server, and can now add people to the ban list. I’m currently working on getting the ban list, which will allow me to get deleting from the ban list working. After that, it’s code cleanup, reviews, and adding server-side verification checks!

To which Andrew Linden added, possibly wryly, “Baker banned me from some groups on the beta grid. I can attest that there is progress there”!

The question was again asked if the capability will allow for banning someone for a set period of time – such as for a week. Baker confirmed that while the ability to do so won’t be in the first release, there is a code stub included which will allow him to add the ability in the future. This is likely to be the case with the ability for a group moderator to add a reason for banning someone from the group if they so wish.

Anti-griefing

As he has now moved away from Interest List work for the time being, Andrew Linden is looking into griefing vectors and ways and means of circumventing them, particularly on mainland. Some of the areas he’s looking at and mulling over in terms of possible actions are:

Andrew Linden - now looking into anti-griefing options
Andrew Linden – now looking into anti-griefing options
  • Allowing estate owners to admin parcel properties (ban lists, object options, etc), without having to take ownership of the parcel
  • Altering the “allow public to build on this land” flag to default to FALSE rather than TRUE when a parcel transitions to a new owner – this is seen as a means of preventing griefers from buildings and hiding hide malicious objects in unattended parcels which can then be used to grief the region / people in the region.
  • Nerf the use of recursive rezzing to prevent griefers getting around autoreturn by creating an object which rezzes a copy of itself, then gives a copy to the rezzed object. The original is then autoreturned, but the copy carries on before creating a copy of itself, and so on.

Andrew is particularly concerned that the third proposal might be damaging to content which may legitimately self-replicate itself (such as items placed by the parcel owner or members of the group the land has been deeded to). In order to prevent this, he plans to apply the nerfing only to objects to which the auto return would otherwise apply.

At the moment these ideas are still musings – although Andrew admitted the code for nerfing recursive rezzing has already been written – and he’ll be having further discussions at the Lab as well as looking at various alternatives / additions (one he mentioned himself was to perhaps have two auto return functions – one for objects whose owners in the region, and one for those lacking owners).

One of the problems here is that in planning to create any additional restrictions on land use, etc., is that people can always raise apparently legitimate reasons why things shouldn’t be done, or offer up ways and means of how changes can be circumvented. However, the fact remains that griefing – particularly on mainland – is once again a growing issue (as those of us have experienced only too well at recent in-world LL meetings). Therefore, change is needed. The skill in the work will be how that change is managed.

SL projects update week 34 (2): Server, viewer, group ban list, HTTP

Note: with the exception of the server deployment review, the majority of this update has been taken from the TPV Developer meeting held on Friday 21st August. A video of the meeting, recorded by panterapolnocy, is available at the end of this article

Server Deployments Week 34

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

  • On Tuesday August 20th the Main channel had Server-side Appearance (SSA) enabled, as per this blog post from the Lab.
  • On Wednesday 21st August, the Magnum RC received a new maintenance package with “under the hood” changes which should be invisible to residents, while BlueSteel and LeTigre received an update to the package deployed to BlueSteel in week 33. This includes a fix for the “grey box” attachment issue which affected multiple avatars riding an object over BlueSteel region crossings. Additionally, these channels also saw SSA enabled, meaning the entire main grid is now running SSA.

SSA Update

For information on the Server-side Appearance deployment, please see my separate report.

SL Viewer Updates

A new release candidate debuted on August 20th with the name “CHUIStorm” (3.6.4.280048). This is a merging of the CHUI and Snowstorm RC viewers with the latest de facto release code base. The reason for merging the two RCs is because the Lab felt there were “too many RCs in flight”, making it difficult to determine which one should be promoted to the release viewer if several appeared ready simultaneously. In future, the Lab hopes to keep the total number of RCs in the channel to around two or three.

Interestingly, the Google Breakpad RC has vanished from the list of RC viewers in the Release channel.

The Materials project viewer was promoted to the Release channel on August 21st (RC 3.6.4.280083), leaving the current total number of RC viewers in the channel at three (CHUIStorm, Cocoa (Mac) and Materials).

Next in the Pipeline

While the order in which they appear or the overall time frame for their release is not clear, there are a number of project viewers which will be appearing in the near future. These include:

  • A further Snowstorm project viewer (third-party developer contributions) – currently with LL’s QA team
  • A new Interest List project viewer (which has had trouble passing QA – see below)
  • A further SSA project viewer – for details see my SSA Update
  • A Group Bans project viewer (see below)
  • An HTTP project viewer (see the HTTP update below)

In addition, Oz Linden hinted that he may have a surprise announcement at the next TPV Developer meeting in two weeks. While he said absolutely nothing further on the subject, the resultant speculation was that he might have been referring to the arrival of an Experience Tools project viewer. Linden Lab accidentally exposed such a viewer a few weeks ago, but quickly moved it back to a private status, so there is an awareness that a viewer is in development. Whether the speculation is right or wrong will be revealed in the fullness of time!

Interest List Update

As noted above, the viewer-side updates to the Interest list project continue to evade a project viewer release, but are expected to appear “soon”. While the code does not contain any mandatory changes TPVs must adopt, there are obviously optimisations within the code which will be beneficial for TPVs to pick-up once the repository is public.

Group Ban List

Baker Linden continues to make good progress with the group ban list project. He is currently working on what he sees as the last major part of the initial work: getting the viewer connected to the server. After that, he reports he has “a lot of security checks, and some minor additions”. There’s still no date for a project viewer, but it would appear that it is not that far from reaching a status of “real soon now”.

HTTP Update

Monty Linden is continuing to work on his HTTP updates, although he has most recently been trying to get the ” bureaucratic details” sorted and getting a QA pass on both the server-side and the viewer side work. He’s also trying to get a DNS fix in as well, which he describes as the “great DNS look-up failures problem” which the Lab has had for a number of years. He thinks he has a fix for the issue, but he’s not 100% certain.

Monty's HTTP work is now focusing on mesh connections
Monty’s HTTP work is now focusing on mesh connections

In terms of the HTTP work, Monty is trying to get a project viewer lined-up, and describes the major feature within it as being the reduction of the number of connections used by mesh so that it will be possible to start using keepalives  with mesh as well.

As I’ve previously reported, Monty has already reduced the number of mesh connections from 32 to 8. Going forward, eight will be the new default (rather than 32), with the aim being to cap the total number of mesh connections used by the viewer, with adaptive throttling and two different re-try schemes. The hope is that this will further improve network utilisation by creating more effective viewer / server connections; it should also help less capable routers.

Continue reading “SL projects update week 34 (2): Server, viewer, group ban list, HTTP”

SL project updates week 34 (1): server releases, SSA, viewer, Oculus Rift

Server Deployments Week 34

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

Second Life Server (SLS Main) Channel – Tuesday August 20th

The Main channel had Server-side Appearance (SSA) enabled, as per this blog post from the Lab. As I’ve previously noted, users will need to run a maintained viewer which incorporates the SSA code in order for other avatars to render correctly in their view. See the release notes for additional information to the above links.

There were no other updates in this deployment.

Release Candidate Channels – Wednesday August 21st

  • Magnum should receive a new maintenance package which “only includes a few internal bug fixes which shouldn’t show any visible changes to the residents”. In describing this at the Simulator User Group meeting on Tuesday August 13th, Simon Linden said, “There’s one performance fix that you might see in the viewer … you shouldn’t get those situations where you see lots of ‘duplicate caps. messages” – this package was deployed to LeTigre in week 33
  • Bluesteel and LeTigre will both be on an update to the package deployed to BlueSteel in week 33, which includes:
    • A fix for the “grey box attachment  issue” (non-public BUG-3547, details below)
    • A (further?) update to for “llListen in linked objects is listening at root instead of linked object local position *after re-rezzing the linkset*”, which was also listed in the BlueSteel release notes for week 32  (non-public JIRA BUG-3291)
    • The code to block avatars entering a region / objects being rezzed in a region during the last 60-seconds before a restart. In addition, restart warning pop-ups will include the region name. This was again in the release notes for week 32, so would appear to be a further update to that code
    • Fixes for further simulator crash modes.

Further, all three RC channels will have Server-side Appearance enabled at the conclusion of the Wednesday August 21st deployments.

SL Viewer Updates

Release Viewer Updated

Tuesday August 20th saw a new update to the de facto release viewer, when the former Maintenance Viewer RC 3.6.3.279564, dated August 12th, was promoted. The full list of updates for this release can be found in the release notes. However, of most interest to many will be the fact that it includes the particle selection capability.

As previously reported in these updates, this capability (MAINT-2268) allows a user to right-click on a particle emitter and mute it, blocking the particle emissions from their viewer. This is liable to be very welcome to those using regions which are frequently the target of particle griefing, as it means that the emitter itself no longer needs to be located and blocked. In addition, the new code has a FPS limit on particles, and will stop generating new particles when frame rates drop to 4 FPS or lower.

Other SL Viewer Updates

The promotion of the Maintenance Viewer RC to release status leaves four remaining release candidate viewers at this time: CHUI, the MAC-focused Cocoa RC viewer, the Google Breakpad RC for better crash / stats reporting and the Snowstorm RC, which contains updates contributed to LL by third-party developers. As is now the practice, these will each be rebuilt using the “new” de facto release viewer code, and so will have updates appearing over the coming days.

Oculus Rift

Oculus Rift - UI work progressing at the Lab
Oculus Rift – UI work progressing at the Lab

Work is progressing with integrating Oculus Rift with Second Life. While I’m not overly interested in the Rift myself, one are that does interest me is that of the UI and how it is going to be integrated with the headset – as I’ve commented in the past, while others see it as a potential issue, I don’t necessarily agree, although I’ve felt that a balance would have to be struck in order to avoid the UI completely overwhelming  / spoiling the first-person view.

Speaking at the Simulator User Group meeting on Tuesday August 20th, Simon Linden indicated that this is on the Lab’s collective mind as well – and that a potentially clever solution is being tried-out to ensure the UI menus, etc., are usable without interfering with the user’s view of things:

I know recently they were working on how to have the SL UI appear … having menus hanging out in your vision is an interesting design, but you’re not in a “window” anymore … In the Rift it’s projected on a surface around you … so you look up to see the menus and they float there in mid-air … I think they’re experimenting with the shape of that surface too … if it’s flat, the text can look funny as it’s slanting away from you.

This, I have to say, does sound intriguing, and I’d be curious to see it in action; if nothing else, it gets me thinking somewhat of Bruce Branit’s World Builder – although admittedly, the protagonist in that piece is physically “inside” his virtual realm…

If nothing else, that gives me an excuse to post the new HD version of World Builder Bruce posted to his YouTube channel earlier this month (yes, I know it’s not the first time I’ve posted it, but I do love the movie).

Related Links

SL projects update week 33 (2): server releases, group ban list, texture issues

Server Deployments Week 33

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

  • As noted in part 1 of this report, there was no deployment to the Main channel in week 33, as a result of the “grey box” attachment issue appearing in the week 32 BlueSteel deployment
  • The Magnum RC channel remained on SSA, with no other updates
  • The LeTigre RC received a new server maintenance package with “under the hood changes” which should not be visible / perceptible to users. This package saw the removal of SSA from LeTigre – Caleb Linden apologised at the Server Beta meeting for the confusion this caused as the forum thread & release notes did not initially make it clear
  • The BlueSteel RC received further updates to the fixes released in week 32 and the fix for the “grey box” attachment issue

Viewer Updates

The CHUI RC viewer updated to release 3.6.3.279849 on August 15th (download & release notes). The Materials project viewer also underwent a further update to release 3.6.3.279904 on August 16 (download & release notes).

Server-side Appearance

As noted above, SSA is currently only enabled on Magnum for the time being. A decision will be made on Monday August 19th on server-side updates and deployments, and until then the Lab is keeping quiet as to what may or may not happen in terms of SSA enabling. However, from comments passed in recent discussions and a hint in the forum deployment thread, it would appear that if the data obtained from Magnum during the week remains solid, SSA might be considered ready for “prime time” in week 34.

The removal of SSA from LeTigre did cause some confusion, with at least one JIRA (SUN-109) being raised as a result. Given the JIRA refers to the slowness of avatar rendering, rather than to any overall failures (which shouldn’t happen anyway, given the viewer code is currently backwards compatible with the “old” avatar baking service), this tends to point to the fact that the rapid nature of SSA baking is being appreciated.

Group Ban list

The obligatory Baker Linden shot :)
The obligatory Baker Linden shot 🙂

“Group bans are coming along pretty well,” Baker Linden informed his ‘Thursday after meeting class’.  He went on:

I chose to take the rest of this week to improve the code rather than continue progressing. I really hated copying an entire source file without trying to refactor it … So now it’s refactoring, cleaning up, and after that the viewer will be finished. Well, I need to add the functionality to some other subsystems and have it actually send an HTTP message but that stuff is all stubbed in anyway.

Some of the cleaning up work apparently involves  removing the, umm, colourful metaphors he used when first commenting on the code to highlight those bits he wanted to poke about at. These have apparently been causing a few giggles among those able to peek into the repository!

Given the work is still ongoing, there is no ETA for a project or beta viewer as yet, and this may be delayed a little more while Baker considers the problem of group chat.

Because of the way in which group chat works, anyone who is removed from a group while they have the group chat window open is actually able to continue chatting / spamming within the group until they close the group chat window, unless the group moderator remembers to block them from chat first. This hadn’t been on Baker’s radar, and he’s going to take a look around and see what can / needs to be done to try to make sure the group ban function won’t suffer this weakness, if possible.

Continue reading “SL projects update week 33 (2): server releases, group ban list, texture issues”