Difference between revisions of "LSL Protocol/Restrained Love Open Relay Group/ORG Introduction"

From Second Life Wiki
Jump to navigation Jump to search
Line 4: Line 4:




'''ORG''', the OpenRelay Group, are scripters and builders of Restrained Life Enabled furniture and  
'''ORG''', ''the OpenRelay Group'', are scripters and builders of Restrained Life Enabled furniture and  
devices. ''ORG'' wants to see the RLV Relay Spec grow and evolve to meet the needs of '''''ALL'''''  
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.
users, even to meet needs '''''OUTSIDE''''' the capabilities of the RL Viewer.


Line 11: Line 11:
The purpose of an ORG Enhanced Relay is two-fold: First, to capture and validate the necessary commands to  
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 functionalities for whatever purpose. Second, to do the things  
pass to the RL Viewer to enable its functionalities for whatever purpose. Second, to do the things  
that the Viewer '''DOSEN'T''' (or '''WON'T''') do that may have use in the RLV environment, but to do it in an  
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  
'''OPEN, DOCUMENTED'' form to avoid a confusing flood of ''"secret"'', or ''"special purpose"'' relays. Any  
extension documented here are, by definition '''''NON-PROPRIETARY''''' and open for '''''ANYONE'''''  
extension documented here are, by definition '''''EXPLICITLY NON-PROPRIETARY''''' and open for '''ANYONE'''  
to use in their products. We specifically '''''REJECT''''' the ''"not invented here"'', closed minded  
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,  
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 RLV is slowly becoming ''mainstream'' and we can help that process along.




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


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




One caveat for our discussions. Personal, ad-honimen attacks are '''NOT WELCOME''' and '''NOT PERMITTED'''. We're here
One caveat for our discussions. Personal, ad-honimen attacks are '''NOT WELCOME''' and '''NOT PERMITTED'''. We're here
to HELP BUILDERS, not BUILD EMPIRES. No one is REQUIRED to use ANY of these extensions, but '''''EVERYONE''''' is '''WELCOME''' to  
to '''HELP BUILDERS''', not '''BUILD EMPIRES'''. No one is '''REQUIRED''' to use '''ANY''' of these extensions,  
do so. We want to help people avoid 're-inventing the wheel' and we want to do so in the spirit of cooperation,  
but '''EVERYONE''' is '''WELCOME''' to do so. We want to help people avoid 're-inventing the wheel' and we want to  
not control.
do so in the spirit of cooperation, not control.




We plan to make '''x-tensions''' to the existing relay spec as metacommands, adopting the ''!x-'' convention. Other  
We plan to make '''x-tensions''' to the existing relay spec as metacommands, adopting the '''''!x-''''' convention. Other  
'''x-tensions''' that might be implemented in a viewer could use the '''!x-''' convention or adopt some other prefix  
'''x-tensions''' that might be implemented in a viewer could use the '''''!x-''''' convention or adopt some other prefix  
such as '''#'''. The group will decide how best to proceed.
such as '''''#'''''. The group will decide how best to proceed.




The relay spec is silent with respect to unknown commands and the behavior has been dependent on each relay
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 to always be  
maker's whim's, ''e.g.'', they may not even be '''ko'ed'''. So you can '''NEVER ASSUME''' the extensions to always be  
recognized or even acknowledged. We do '''''SUGGEST''''' that any ORG Enabled relay or script respond to the '''!impversion'''
recognized or even acknowledged. We do '''STRONGLY SUGGEST''' that any ''ORG Enabled'' relay or script respond to the '''''!impversion'''''
with a string that contains:  
with a string that contains:  


            "*ORGEnabled\extension\extension\..."
           
so you can know which extensions the relay you are talking to are supported. Alternatively, we may develop an
x-tension that returns the supported x-tensions.


Some example x-tensions (!x-vision has been discussed for a while, the others need definition) are:
'''*ORG\extension\extension\...'''


'''''!x-vision'''''  - provide a means of obscuring the subjects vision WITHOUT having to muck about with extra wearables. Originally conceived as a MOUSELOOK ENFORCER/PUNISHER and REQUIRES a HUDstyle relay.


''''!x-gender''''' - allow the users to set their defined sex, be queried by a device AND SET BY THE DEVICE.
such as:


'''''!x-species''''' - ditto for species.


'''''!x-freeze'''''  - stop the victim dead in their tracks. Effecively disables the arrow movement keys, jump and crouch. Sure you can do it other ways, but this keeps down extra script/attachment counts. Nice for 'area effects' (prison lockdown perhaps), cages (hold them in place so you can open the cage and take out one specific.
'''*ORG\x-vision\x-gender\x-species'''
 
       
so the device talking to the relay can know which extensions the relay you are talking to are supported.
Alternatively, we may develop an '''x-tension''' that returns the supported '''x-tensions'''.
 
 
Some example '''x-tensions''' that have been implemented and proposed are:
 
 
::'''''!x-vision''''' - provide a means of obscuring the subjects vision '''WITHOUT''' having to muck about with extra wearables. Originally conceived as a '''MOUSELOOK ENFORCER/PUNISHER''' and '''REQUIRES''' a HUDstyle relay. (already implemented and available to use).
 
::'''''!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 LIfe, the best life.
Come join us and help us make our Restrained LIfe, the best life.

Revision as of 22:01, 20 April 2009

ORG - The OpenRelay Group

      • THIS IS A WORK IN PROGRESS, NOT LINKED ***


ORG, the OpenRelay Group, are scripters and builders of Restrained Life 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 functionalities 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 use. Imagination is a good thing that should be encouraged.


This is not to say that EVERY extension may be accepted to ORG. If it's dangerous, uses undocumented hacks to the viewer and are not user friendly, then this may not be 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-honimen attacks are NOT WELCOME and NOT PERMITTED. We're here to HELP BUILDERS, not 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 plan to make x-tensions to the existing relay spec as metacommands, adopting the !x- convention. Other x-tensions that might be implemented in a viewer could use the !x- convention or adopt some other prefix such as #. The group will decide how best to proceed.


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 to always be recognized or even acknowledged. We do STRONGLY SUGGEST that any ORG Enabled relay or script respond to the !impversion with a string that contains:


*ORG\extension\extension\...


such as:


*ORG\x-vision\x-gender\x-species


so the device talking to the relay can know which extensions the relay you are talking to are supported. Alternatively, we may develop an x-tension that returns the supported x-tensions.


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


!x-vision - provide a means of obscuring the subjects vision WITHOUT having to muck about with extra wearables. Originally conceived as a MOUSELOOK ENFORCER/PUNISHER and REQUIRES a HUDstyle relay. (already implemented and available to use).
!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 LIfe, the best life.