LSL Protocol/Restrained Love Open Relay Group/ORG Introduction

From Second Life Wiki
Jump to: navigation, search

ORG - The OpenRelay Group

ORG, the OpenRelay Group, are scriptwriters and builders of Restrained Love Enabled furniture and devices. ORG wants to see the RLV Relay Spec grow and evolve to meet the needs of all users, even to meet needs outside the capabilities of the RL Viewer.


The purpose of an ORG Enhanced Relay is two-fold: First, to capture and validate the necessary commands to pass to the RL Viewer to enable its functionality for whatever purpose. Second, to do the things that the Viewer does not (or will not) do that may have use in the RLV environment, but to do it in an open, documented form to avoid a confusing flood of "secret", or "special purpose" relays. Any extension documented here are, by definition explicitly non-proprietary and open for anyone to use in any their products. We specifically reject the "not invented here", closed minded position. There are already several builders using the RLV for non-BDSM solutions to problems, the RLV is slowly becoming mainstream and we can help that process along.


The only required job of a relay is to deliver a properly formed "llOwnerSay" command to the RLViewer, with properly formed RLV commands.. whatever else done in the relay proper is to enable features the viewer can't. The viewer's work starts at "llOwnerSay".. the viewer's tasks start at "llOwnerSay" anything else is up to us, and it is our responsibility to make sure that everyone knows what and how we do it and make it easier for them to do it. From a furniture builder's perspective, the more standard the set of features, the easier it is to design furniture and other devices to enhance the RLV-user's experience, no matter if it's BDSM or any other use. Imagination is a good thing that should be encouraged.


This is not to say that every extension may be accepted by ORG. If it's dangerous, uses undocumented hacks to the viewer and is not user friendly, then this is not the place. But we will discuss every suggested extension and consider how to make them more useful to the user and the viewer.


One caveat for our discussions. Personal, ad-hominem attacks are not welcome and not permitted. We're here to help builders, not to build empires. No one is required to use any of these extensions, but everyone is welcome to do so. We want to help people avoid 're-inventing the wheel' and we want to do so in the spirit of cooperation, not control.


We are making x-tensions to the existing relay spec as meta-commands, adopting the !x- prefix convention. Other x-tensions that might be implemented in a viewer could use the !x- convention or adopt some other prefix such as #. Given the importance of a decision, discussion has been initiated.

The relay spec is silent with respect to unknown commands and the behavior has been dependent on each relay maker's whim's, e.g., they may not even be ko'ed. So you can never assume the extensions will always be recognized or even acknowledged. We require that every ORG Enabled relay respond to the meta-command !x-orgversions, comparable to the current meta-command !version, with a string such as

ORG=0001/who=001/email=005/vision=002

so the device talking to the relay can know which extensions the relay you are talking to are supported and what specification version is used for each, and which version of the core ORG requirements is implemented.

Some example x-tensions that have been implemented or proposed are:


!x-vision - provide a means of obscuring the subjects vision without having to muck about with extra attachments. Originally conceived as a mouselook enforcer/punisher and requires a HUD-style relay. (already implemented and available to use).
!x-listen - to open up a second channel for any commands the device needs. This allows scriptwriters to open a channel for short term use; the intent is to cut down on lag by not requiring listeners that are always on.
!x-gender - allow the users to set their defined sex, and be queried by a device and set by the device!
!x-species - ditto for species.
!x-freeze - stop the victim dead in their tracks. Effectively disables the arrow movement keys, jump and crouch. Sure you can do it other ways, but this keeps down extra script/attachment counts and gives a 'standard interface'. Nice for area effects (prison lock-down perhaps), cages (hold them in place so you can open the cage and take out one specific captive.


Come join us and help us make our Restrained Love life, the best life.