SL projects updates 23/1: server, viewer, group bans

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

Server Deployments Week 23

As always, please refer to the server deployment thread in the Technology forum for the latest updates, news or changes to the deployment schedule and for any issues which may have been reported.

Main (SLS) Channel

There was no main channel deployment on Tuesday June 3rd. Instead, the maintenance work which had been scheduled for May 22nd, but which had to be postponed due to problems earlier in the week, took place. Some of us who report on server updates, etc., had mistakenly believed that this maintenance work was actually carried out May 28th; so ho-hum on that score!

Release Candidate Channels

The release channel updates for week 23 will be:

  • BlueSteel will remain on the inventory update project, and will not be rolled this week.  This project enables support for a new version of the inventory service, AISv3.  To make use of this new feature, login with the Sunshine RC Viewer
  • Magnum will remain on the Experience Tools project, but will gain some minor changes related to the project – release notes
  • LeTigre will move to the “group ban” project.  As the name implies, this project adds the ability to ban users from groups (more below)  – release notes

The release candidate channel rolls (Magnum and LeTigre) should take place on Wednesday June 4th.

SL Viewer

On Tuesday June 3rd, the Lab released the MemShine release candidate viewer, version 3.7.9.290582. This viewer combines updates from the MemPlugs RC viewer (a variety of fixes to address memory leaks in the viewer and to improve crash rates), and the Sunshine / AIS v3 RC viewer (additional server-side appearance improvements and AIS v3 improvements aimed at outfit changes). Both of these RCs also remain listed on the Alternate Viewers wiki page at the tim of writing.

For the status of all SL viewer releases, please refer to my Current viewer Releases page.

Group Bans

As noted above, the server-side code for group bans is due to start its deployment to the main grid. This functionality, which comprises both server-side and viewer updates, provides the means for owners (and selected roles) in an open enrollment group to selectively ban people from either joining / re-joining their group, in order to help with issues such as group spamming.

The following general points apply to the group bans functionality:

  • By default, only the Owners role is assigned the ability to ban other avatars from a group
  • The ability can be granted to other roles, if required
  • Roles which are granted this ability are also granted the Eject Members and the Remove Members from Roles abilities
  • Group members with the Manage Ban List ability will be able to add or remove other users to and from the group ban list
  • When a group member is banned from the group, they are automatically ejected
  • A user who is banned from a group will not be able to join it either directly or through an invitation (once the capability is fully deployed)
  • The ban list for a group can store a maximum of 500 entries
  • Group Owners cannot be banned
  • When a user is banned from a group, their viewer version does not matter; they will be ejected and banned whether or not they are also using a viewer with the group ban ability
  • Additional notes on the capability can be found here.

The code is initially being deployed to the LeTigre RC, and the remaining RCs and the main channel will follow in due course.

There is currently no formal release of a project viewer able to use the group ban functions available via the Alternate Viewers wiki page. According to Baker Linden, speaking at the Simulator User Group meeting on Tuesday June 3rd, the project viewer will most likely be formally released once the server code is fully deployed across the grid.

Group bans provides the ability to ban (and remove, where appropriate) people from a group. The Group Bans prject viewer contains the necessary updates to manage the ban process.
Group bans provides the ability to ban (and remove, where appropriate) people from a group. The Group Bans project viewer contains the necessary updates to ban individuals or lists of people from a group (whether or not they are already members of the group) and to view the names / dates of all those banned

However, those wishing to test the capability can obtain the current version of the project viewer (Windows / Mac / Linux). If you opt to do so, please keep in mind that until the server-side functionality has been fully deployed across the main grid, group bans will only be enforced by simulators which support the feature.

This means that user who was banned from a group may still be able to join or re-join the group by moving to a region running on a channel which does not currently support the group bans. This may  result in them appearing on both the Members List and the Banned Residents list, so once the project has gone grid-wide it might be necessary to either eject or re-ban them once more.

I’ll be providing a complete overview of the group ban function once it has been fully deployed to the grid and the project viewer is officially available via the Alternate Viewers wiki page.

OnLive extend SL Go’s free trial period to 7 days

SL go logoImportant note: The SL Go service is to be shut down on April 30th, 2015. For more information, please read this report.

On Tuesday June 3rd, OnLive announced that with immediate effect, the trial period of their SL Go service, which provides a full Second Life viewer experience to both computers and android devices, will be extended from 20 minutes to a full seven days for those who sign-up to the service.

The OnLive announcement came via Dennis Harper, OnLive’s Senior Product Manager for SL Go, and reads in full:

OnLive will now be offering new SL Go users a 7-Day Free Trial with sign up for an ‘unlimited access’ subscription package.  A valuable piece of feedback from the Second Life community has been that the 20 minute free trial is not sufficient to get a true experience of SL Go.  Now new users can try SL Go free for an entire week, experiencing Second Life on their Android tablets or seeing how SL Go can render ultra-high graphics even on a lower powered laptop computer.

Impressions of SL Go from the Second Life community have been brilliant so far, and this new 7-day Free Trial will hopefully encourage even more players to check it out.

Dennis Harper
Sr. Product Manager, OnLive

The SL Go service streams Second Life, including the viewer, directly to the user’s system or device. Because all of the processing occurs within the OnLive SL Go servers, and the fact that there is no viewer to install locally, SL Go is an ideal solution for those needing to access Second Life from low-end computers or who wish to access SL from a suitable android tablet while on the move.

SL Go now features a 7-day free trial period for subscribers
SL Go now features a 7-day free trial period for subscribers

Since its introduction in March 2014, the service has proven popular with users, but has also received some criticism – which has been heard and reacted to by OnLive. In April 2014, for example, and a month after launching the service, the company announced a new pricing structure for the service directly in response to user feedback concerning the original pricing system.

The original 20-minute free trial period offered to new subscribers also came in for criticism – more so after the pricing change -, with users feeling that it wasn’t sufficiently long enough for them to gain familiarity with using the service, particularly from a mobile device when using the on-screen UI overlay. Extending the trial period is a direct response to this criticism and should allow users more than enough time to familiarise themselves with the service.

Second Life user Mondy Bristol has produced a video showing SL Go in use on her Nexus 7 (2012).

 

 

 

Viewer release summaries 2014: week 22

Updates for the week ending: Sunday June 1st, 2014

This summary is published every Monday and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information

Official LL Viewers

  • Current viewer release: no change from version 3.7.8.289922
  • Release channel cohorts (See my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • SL Memplug RC updated to version 3.7.9.290286 on May 28th and then to version 3.7.9.290405 on May 30th – core updates: fixes to address memory leaks in the viewer (download and release notes)
    • SL Zipper RC version 3.7.9.290133 removed from the Alternate Viewers page on May 30th
  • Project viewers:
    • No updates

LL Viewer Resources

Third-party Viewers

V3-style

  • No updates

V1-style

  • No updates

Mobile / Other Clients

  • Group Tools updated to version 2.2.30.3 – May 30th – core updates: unknown, no release notes (download)

Additional TPV Resources

Related Links

SL projects updates 22/2: LSL functions for materials avialable for Aditi testing

Maestro Linden used the Server Beta meeting to announce that Simon Linden’s work on adding some LSL support for materials is now available for testing on Aditi.

Regions roller-test102 and roller-test103, both on channel DRTSIM-253, have the server-side scripting support (note the SLurls are for ADITI).

Please note that this is very much a work-in-progress, and the Lab’s own testing is still underway.

The following details can also be found on the Server Beta Meeting wiki page.

LSL fucntions for handling materials
Parameters have been added to the llSetPrimitiveParams() and llGetPrimitiveParams() functions to enable scripted control of materials maps

Materials can be added to object faces with llSetPrimitiveParams() functions using the following parameters:

  • [PRIM_SPECULAR, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment]
  • [PRIM_NORMAL, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians]
  • [PRIM_ALPHA_MODE, integer face, integer alpha_mode, integer alpha_cutoff]
    • Valid alpha_mode options are PRIM_ALPHA_MODE_NONE, PRIM_ALPHA_MODE_BLEND, PRIM_ALPHA_MODE_MASK, PRIM_ALPHA_MODE_EMISSIVE

Materials can be read with the various llGetPrimitiveParams() functions using the following parameters:

  • [PRIM_SPECULAR, integer face] returns [string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment]
  • [PRIM_NORMAL, integer face] returns [string texture, vector repeats, vector offsets, float rotation_in_radians]
  • [PRIM_ALPHA_MODE, integer face] returns [integer alpha_mode, integer alpha_cutoff]

Additional Notes

  • Behaviour for both getting and setting materials parameters should basically correspond to behaviour with PRIM_TEXTURE
  • The color vectors use 0.0-1.0 as the range, as with llSetColor()
  • The integer parameters for PRIM_SPECULAR correspond to the same values that you see in the build tool
  • Components of a material can be ‘reset’ as follows:
    • PRIM_NORMAL and PRIM_SPECULAR settings are set to default values by setting the texture to NULL_KEY
    • PRIM_ALPHA_MODE settings are set to default values by setting the alpha_mode to PRIM_ALPHA_MODE_BLEND – mask_cutoff is actually reset to 0 unless the alpha mode is PRIM_ALPHA_MODE_MASK
    • When PRIM_NORMAL, PRIM_SPECULAR, and PRIM_ALPHA_MODE settings are all set to default values, the material is deleted from that prim face, and LI may be updated accordingly
  • This new scripted capability will only work on the nominated test regions
  • ALM must obviously be enabled.

Known Issues

  • The version currently on Aditi lacks proper throttling, so there could be performance issues if scripts behave badly. A throttle will be added in due course
  • There is a viewer rendering issue, where the face will not be rendered and you’ll see log spam (BUG-6187). This can happen:
    • If the viewer has ALM enabled
    • And a prim face has a material on it
    • And PRIM_ALPHA_MODE is PRIM_ALPHA_MODE_BLEND (this is the default after a material is added)
    • And the diffuse texture does not have an alpha channel (e.g. plywood)

With reference to BUG-6187, Maestro added, “One thing to keep in mind …  is that if your diffuse texture lacks an alpha channel, you’ll also want to set the alpha mode to PRIM_ALPHA_MODE_NONE to avoid the bug, even if you really just want to add a normal map.”

The bug itself doesn’t mean the alpha mode should be set every time a materials map is changed, only when adding a material to a face which previously didn’t have a material. Maestro went on to give some further information on the issue:

What happens when you add a material via the build tool, is that the viewer inspects whether the current diffuse texture has an alpha channel and automatically sets the alpha mode to ALPHA_MODE_NONE if the diffuse texture is opaque, but keeps it at _BLEND if there’s an alpha channel. Unfortunately, the simulator can’t do this, because it doesn’t necessarily have the texture asset and doesn’t have the right libs to process texture assets in that manner. The build tool has some trickery where it always greys out the UI for alpha mode when the texture doesn’t have an alpha channel. Anyway, it’s kind of a hassle, but once PRIM_ALPHA_MODE is set to something ‘friendly’, you should be able to update normal or specular settings without touching it again.

As this is a viewer rendering bug, there is no timescale as to when a fix may appear.

The Lab is particularly interested in seeing how use of these new parameters may affect performance (such as through rapid and repeated changes to maps), and what kinds of rates cause these issues, so that they can more accurately assess the required level of throttling.

Depending upon how further testing goes, what additional changes the Lab needs to make, and what has already been scheduled at the time, these updates might be available on an RC on Agni in a few weeks.

Radegast Tech Support Class: helping blind users

rade-logo

Radegest is a lightweight client for OpenSim and Second Life available for Windows, Linux and Mac. As well as providing text-based capabilities, it was the first lightweight Second Life client to offer a 3D world view (windows and Linux), allowing users on low-end systems to have a visual experience when using a virtual world.

Offering a similar level of capabilities and interaction as a full viewer, and supporting recent updates and improvements to the SL service (mesh rendering, HTTP protocol updates, Marketplace Direct Delivery, Server-side Appearance, etc.), Radegast has become very popular among users with visual impairments and with audio gamers. So much so that Roxie Marten and Celene Highwater of Virtual Ability Inc., have written a comprehensive Accessibility Guide to help people get started with Second life through Radegast. This not only serves as an excellent introduction for the visually and aurally impaired, but forms a thorough introduction for anyone wishing to gain familiarity with using Radegest.

Radegest gives you almost all the capabilities of a full viewer in a lightweight package (image courtesy of Radegast)
Radegest gives you almost all the capabilities of a full viewer in a lightweight package (image courtesy of Radegast)

Because of Radegast’s popularity among the visually impaired, Celene Highwater will be teaching a special class on Radegast for all those interested in assisting new users understand the client and in helping them become a part of the growing community of blind SL users.

The class will be held at the The Tavern on Wolpertinger, on Thursday May 29th, at 12:00 noon SLT / PDT, and will take place in text, or voice upon request.

Anyone who is interested in learning the ins and outs of Radegast in order to help blind or visually impaired users make effective use of the client, is extended a warm invitation to attend the session.

Related Links

SL projects updates week 22/1: LSL functions for materials, group bans

It’s a light start to project news from the lab this week.

Server Deployments Week 22

There are currently no planned deployments for the week.

Materials LSL Functions

There’s still no firm date for when this are liable to surface for testing, but speaking at the Simulator User Group on Tuesday May 27th, Simon Linden indicated the time is getting “closer”. In the meantime he re-iterated the get and set functions currently being worked upon, which remains as per my week 21 report, namely:

Get functions:

  • [PRIM_SPECULAR, integer face] returns [string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment]
  • [PRIM_NORMAL, integer face] returns [string texture, vector repeats, vector offsets, float rotation_in_radians]
  • [PRIM_ALPHA_MODE, integer face] returns [integer alpha_mode, integer alpha_cutoff]

Set functions:

  • [PRIM_SPECULAR, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment]
  • [PRIM_NORMAL, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians]
  • [PRIM_ALPHA_MODE, integer face, integer alpha_mode, integer alpha_cutoff]”

The same access rules will apply to materials as for diffuse (texture) maps.

Most people may already be aware that llSetTextureAnim() will apply an animation equally across all three maps applied to an object / object face. However, the Lab is not currently looking to add additional parameters to llSetTextureAnim() so that each type of map independently of the others. Offering an explanation as to why this is the case, Simon said:

I’m guessing that would be pretty ugly to implement … or would need some careful design and thought as it couldn’t create new material entries under the hood.  I think that will have to be a follow-on feature … I can imagine it might create some cool effects but it would have to be carefully done not to blow up the materials accounting.

Group Bans

Simon indicated that the remaining back-end server updates for the group ban service may have been deployed on Tuesday May 27th. If so, it is possible that an initial server-side RC deployment of the group ban code might occur in week 23, together with the appearance of the group ban viewer. however this is pure speculation, and depends on how long the Lab want to let the back-end updates run prior to making a visible code deployment. More is likely to be known following the Server Beta meeting later in the week.