Difference between revisions of "LSL Protocol/Restrained Love Open Relay Group/x-tensions"

From Second Life Wiki
Jump to navigation Jump to search
 
(36 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{ ORG Restrained Life Relay Specs TOC }}
{{Restrained Love Open Relay Group TOC}}


== Full list of x-tensions ==
== Full list of x-tensions ==
Line 5: Line 5:
At present, the list of x-tensions is short and it makes sense to list them all on a single page, In the future, it may make sense to separate the list into those that have group approval and those that do not, either because they are still under discussion or because they have been rejected by majority opinion.
At present, the list of x-tensions is short and it makes sense to list them all on a single page, In the future, it may make sense to separate the list into those that have group approval and those that do not, either because they are still under discussion or because they have been rejected by majority opinion.


Proposed list of approval stages [[LSL Protocol/Restrained Life Open Relay Group/x-tensions Validation Process|here]].
Proposed list of approval stages [[LSL Protocol/Restrained Love Open Relay Group/x-tensions Validation Process|here]].


Feature table (including ORG x-tensions) of existing relays [[LSL_Protocol/Restrained_Love_Relay/Comparison|here]].
Feature table (including ORG x-tensions) of existing relays [[LSL Protocol/Restrained Love Relay/Comparison|here]].


'''x-tensions''' that have been implemented or proposed are:
'''x-tensions''' that have been implemented or proposed are:


These x-tensions are live, up and well running with several independant implementations:
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" border="1"
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" border="1"


Line 38: Line 39:


|-
|-
!'''''gender'''''
!'''''[[LSL Protocol/Restrained Love Open Relay Group/follow|follow]]'''''
| proposal
| draft
| 000
| 002
| allow the users to set their defined sex, and be queried by a device '''AND SET BY THE DEVICE'''.
| makes the victim follow a given object or avatar at the given distance.
::::This is exactly what current leashes already do, but without the particles. Useful for bringing the victim
::::from one place to another without using magic tricks like teleportation.
 
|-
! '''''[[LSL Protocol/Restrained Love Open Relay Group/email|email]]'''''
| draft
| 006
| initiates a gridwide email encapsulated protocol session.
::::The protocol itself is a work in progress now. A proof of concept is on its way in my relay and RLV remote. --[[User:Satomi Ahn|Satomi Ahn]] 10:03, 19 May 2009 (UTC)
 
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/delay|delay]]'''''
| draft
| 004
| !x-delay/10 will delay the execution of the remaining subcommands by 10 seconds. This can be useful either for setting release timers or... making delayed surprises.
 
|}
 
These x-tensions have some working implementations are not considered useful anymore due to llRegionSayTo:
 
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" border="1"
 
|-
! x-tension
! [[LSL Protocol/Restrained Love Open Relay Group/x-tensions Validation Process|status]]
! version
! description
 
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/channel|channel]]'''''
| draft
| 001
| switches the control channel for the RLV relay communications to the specified channel to cut down on spam.
 
|-
! '''''[[LSL Protocol/Restrained Love Open Relay Group/ack|ack]]'''''
| draft
| 002
| !x-ack/quiet tells the relay to stop sending "ok" and "ko" acknowledgements... until it receives !x-ack/verbose. This should help reduce spam on the relay channel.
 
|}
 
These x-tensions have only one implementation but their specifications look final enough:
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" border="1"


|-
|-
!'''''species'''''
! x-tension
| proposal
! [[LSL Protocol/Restrained Love Open Relay Group/x-tensions Validation Process|status]]
| 000
! version
| ditto for species.
! description


|-
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/freeze|freeze]]'''''
!'''''[[LSL Protocol/Restrained Love Open Relay Group/freeze|freeze]]'''''
| draft
| draft
| 001
| 002
| stop the victim dead in their tracks. Effectively disables the arrow movement keys, jump and crouch.  
| 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'.  
::::Sure you can do it other ways, but this keeps down extra script/attachment counts and gives a 'standard interface'.  
Line 58: Line 103:


|-
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/follow|follow]]'''''
!'''''[[LSL Protocol/Restrained Love Open Relay Group/key|key]]'''''
| draft
| 002
| creates an abstract key for the current session which enables another controller (or the same one after a relog) to take over the session; with !ping activated or not if the controller is not present
 
|}
 
 
These x-tensions are under debate:
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" border="1"
 
|-
! x-tension
! [[LSL Protocol/Restrained Love Open Relay Group/x-tensions Validation Process|status]]
! version
! description
|-
 
|-
!<s>'''''[[LSL Protocol/Restrained Love Open Relay Group/simwide|simwide]]''''' </s>
| deprecated
| 000
| Enables simwide control without requiring a gridwide control: the viewer's answer is resent in a special channel and the relay performs the llSensor; interest of this simwide mode even if the capture avatar is close to the grabber: a scan is done around the avatar, not around the grabber.
 
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/speech|speech]]'''''
| draft
| 002
| Forced speech
 
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/gridurl|gridurl]]'''''
| proposal
| 000
| Persistent URL to get the UUID key of the relay
 
|-
!<s>'''''[[LSL Protocol/Restrained Love Open Relay Group/thirdview|thirdview]]'''''</s>
| deprecated
| 001
| Forced mouselook mode
 
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/camera|camera]]'''''
| draft
| 001
| Controlling/tracking the camera of the wearer of the relay (this x-tension contains thirdview)
 
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/autoforward|autoforward]]'''''
| draft
| 001
| Simpler alternative to simwide: no new listener is opened, fully compatible with a !x-email session
 
|-
!<s>'''''[[LSL Protocol/Restrained Love Open Relay Group/forward|forward]]'''''</s>
| deprecated
| 001
| Deprecated but the first idea could be taken in a future version of autoforward, depending how these things will evolve
 
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/sensor|sensor]]'''''
| draft
| 002
| remote llSensor
 
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/cancel|cancel]]'''''  
| draft
| draft
| 001
| 001  
| makes the victim follow a given object or avatar at the given distance.
| release any avatars from any session controlled by an object owned by the owner of the object sending this command
::::This is exactly what current leashes already do, but without the particles. Useful for bringing the victim
 
::::from one place to another without using magic tricks like teleportation.
|}
 
These x-tensions have different stages of maturity but are not currently implemented and neither being worked on at the moment:
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" border="1"
 
|-
! x-tension
! [[LSL Protocol/Restrained Love Open Relay Group/x-tensions Validation Process|status]]
! version
! description
 
|-
!'''''gender'''''
| proposal
| 000
| allow the users to set their defined sex, and be queried by a device '''AND SET BY THE DEVICE'''.
 
|-
!'''''species'''''
| proposal
| 000
| ditto for species.


|-
|-
Line 76: Line 209:
| 001
| 001
| opens up a listener on the specified channel. Useful for cutting down the load on a sim by only having multiple listeners as needed.
| opens up a listener on the specified channel. Useful for cutting down the load on a sim by only having multiple listeners as needed.
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/channel|channel]]'''''
| draft
| 000
| switches the control channel for the RLV relay communications to the specified channel to cut down on spam.
|-
!<s>'''''(!x-)tensions'''''
| deprecated
| 000
| queries the relay for supported x-tensions.</s> Deprecated by !x-orgversions, which is part of [[LSL_Protocol/Restrained_Love_Open_Relay_Group/ORG_Requirements|ORG core requirements]].


|-
|-
Line 94: Line 215:
| 000
| 000
| animates the victim with the given animation. The animation has to be a standard one, or an animation from a freebie set we would have to standardize and include in every relay that supports x-animate.
| animates the victim with the given animation. The animation has to be a standard one, or an animation from a freebie set we would have to standardize and include in every relay that supports x-animate.
|-
! '''''[[LSL Protocol/Restrained Love Open Relay Group/email|email]]'''''
| draft
| 005
| initiates a gridwide email encapsulated protocol session.
::::The protocol itself is a work in progress now. A proof of concept is on its way in my relay and RLV remote. --[[User:Satomi Ahn|Satomi Ahn]] 10:03, 19 May 2009 (UTC)


|-
|-
Line 115: Line 229:
| Use the relay to send messages from the restraining device to the victim.  
| Use the relay to send messages from the restraining device to the victim.  
::::Mainly to negate the inconvenients of llInstantMessage as the only means for a restraining device to send a message only to the victim (Especially useful with multi line messages where the inherent script delay for llInstantMessage is more apparent). --[Regan Flasheart] 13:59, 26 June 2009 (UTC)
::::Mainly to negate the inconvenients of llInstantMessage as the only means for a restraining device to send a message only to the victim (Especially useful with multi line messages where the inherent script delay for llInstantMessage is more apparent). --[Regan Flasheart] 13:59, 26 June 2009 (UTC)
::::llRegionSayTo(victim,0,message); works instantly in-sim, negating the need for this protocol. --[Da Chrome], 23 Nov 2012


|-
|-
Line 123: Line 238:


|-
|-
! '''''[[LSL Protocol/Restrained Love Open Relay Group/ack|ack]]'''''
!'''''[[LSL Protocol/Restrained Love Open Relay Group/mode|mode]]'''''  
| draft
| proposal
| 002
| 000
| !x-ack/quiet tells the relay to stop sending "ok" and "ko" acknowledgements... until it receives !x-ack/verbose. This should help reduce spam on the relay channel.
| Queries for relay current auth mode. Answers (in ack) should tell the source useful information such as if the relay is in interactive mode (ask) or not (auto) and the presence of black and white lists.


|-
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/delay|delay]]'''''
!'''''[[LSL Protocol/Restrained Love Open Relay Group/safe|safe]]'''''  
| draft
| proposal
| 002
| 000
| !x-delay/10 will delay the execution of the remaining subcommands by 10 seconds. This can be useful either for setting release timers or... making delayed surprises.
| Enables safewording in the relay for the current source (if safewording was disabled). Options could specify that only conditional safewording ("evil safeword") should be allowed, thus allowing another way to close a session if the source is not available to send !release. This x-tension should have a command to query the current safewording mode.


|-
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/delay|realdelay]]'''''
!'''''[[LSL Protocol/Restrained Love Open Relay Group/multi|multi]]'''''  
| proposal
| proposal
| 002
| 000
| !x-realdelay/36000 will delay the execution of the remaining subcommands by 10 hours, timer still running while offline (maybe this x-tension should be merged with !x-delay, requiring both !x-delay and !x-realdelay commands to be implemented together).
| By announcing this x-tension, a relay announces it can support several simultaneous controllers. This x-tension should also contain a command to ask for (an estimation of) a number of available controllers, and a command to close the relay to new controllers.


|-
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/key|key]]'''''  
!'''''[[LSL Protocol/Restrained Love Open Relay Group/status|status]]'''''  
| draft
| proposal
| 002
| 000
| creates an abstract key for the current session which enables another controller (or the same one after a relog) to take over the session; with !ping activated or not if the controller is not present
| an alternative for @getstatus
 
|}
 
These commands are forever deprecated:
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" border="1"


|-
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/mode|mode]]'''''
! x-tension
| proposal
! [[LSL Protocol/Restrained Love Open Relay Group/x-tensions Validation Process|status]]
| 000
! version
| Queries for relay current auth mode. Answers (in ack) should tell the source useful information such as if the relay is in interactive mode (ask) or not (auto) and the presence of black and white lists.
! description


|-
|-
!'''''[[LSL Protocol/Restrained Love Open Relay Group/safe|safe]]'''''  
!<s>'''''(!x-)tensions'''''
| proposal
| deprecated
| 000
| 000
| Enables safewording in the relay for the current source (if safewording was disabled). Options could specify that only conditional safewording ("evil safeword") should be allowed, thus allowing another way to close a session if the source is not available to send !release. This x-tension should have a command to query the current safewording mode.
| queries the relay for supported x-tensions.</s> Deprecated by !x-orgversions, which is part of [[LSL_Protocol/Restrained_Love_Open_Relay_Group/ORG_Requirements|ORG core requirements]].
 
 
|}
|}


Note: x-tension names do not contain "!x-" or even "x-". Only the meta-commands they define are prefixed that way. One x-tension can define several meta-commands, which must all be implemented if the x-tension is supported.
Note: x-tension names do not contain "!x-" or even "x-". Only the meta-commands they define are prefixed that way. One x-tension can define several meta-commands, which must all be implemented if the x-tension is supported.

Latest revision as of 12:31, 23 November 2012

Full list of x-tensions

At present, the list of x-tensions is short and it makes sense to list them all on a single page, In the future, it may make sense to separate the list into those that have group approval and those that do not, either because they are still under discussion or because they have been rejected by majority opinion.

Proposed list of approval stages here.

Feature table (including ORG x-tensions) of existing relays here.

x-tensions that have been implemented or proposed are:

These x-tensions are live, up and well running with several independant implementations:

x-tension status version description
who silver (?) 001 tells the relay the identity of the avatar operating the controlling device. Can be useful in playgrounds with bondage furnitures whose grabbing function is open to everybody.
handover bronze (?) 001 hands over the control of the relay to another device, with no further auth required, and possiblity to keep all the previous restrictions.
vision bronze (?) 001 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).
follow draft 002 makes the victim follow a given object or avatar at the given distance.
This is exactly what current leashes already do, but without the particles. Useful for bringing the victim
from one place to another without using magic tricks like teleportation.
email draft 006 initiates a gridwide email encapsulated protocol session.
The protocol itself is a work in progress now. A proof of concept is on its way in my relay and RLV remote. --Satomi Ahn 10:03, 19 May 2009 (UTC)
delay draft 004 !x-delay/10 will delay the execution of the remaining subcommands by 10 seconds. This can be useful either for setting release timers or... making delayed surprises.

These x-tensions have some working implementations are not considered useful anymore due to llRegionSayTo:

x-tension status version description
channel draft 001 switches the control channel for the RLV relay communications to the specified channel to cut down on spam.
ack draft 002 !x-ack/quiet tells the relay to stop sending "ok" and "ko" acknowledgements... until it receives !x-ack/verbose. This should help reduce spam on the relay channel.

These x-tensions have only one implementation but their specifications look final enough:

x-tension status version description
freeze draft 002 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.
key draft 002 creates an abstract key for the current session which enables another controller (or the same one after a relog) to take over the session; with !ping activated or not if the controller is not present


These x-tensions are under debate:

x-tension status version description
simwide deprecated 000 Enables simwide control without requiring a gridwide control: the viewer's answer is resent in a special channel and the relay performs the llSensor; interest of this simwide mode even if the capture avatar is close to the grabber: a scan is done around the avatar, not around the grabber.
speech draft 002 Forced speech
gridurl proposal 000 Persistent URL to get the UUID key of the relay
thirdview deprecated 001 Forced mouselook mode
camera draft 001 Controlling/tracking the camera of the wearer of the relay (this x-tension contains thirdview)
autoforward draft 001 Simpler alternative to simwide: no new listener is opened, fully compatible with a !x-email session
forward deprecated 001 Deprecated but the first idea could be taken in a future version of autoforward, depending how these things will evolve
sensor draft 002 remote llSensor
cancel draft 001 release any avatars from any session controlled by an object owned by the owner of the object sending this command

These x-tensions have different stages of maturity but are not currently implemented and neither being worked on at the moment:

x-tension status version description
gender proposal 000 allow the users to set their defined sex, and be queried by a device AND SET BY THE DEVICE.
species proposal 000 ditto for species.
control proposal 000 makes the victim move as if the control given in argument had been pressed. In conjunction with !x-freeze, this allows the device user to control the victim as if they controlled their own avatar.
listen ? 001 opens up a listener on the specified channel. Useful for cutting down the load on a sim by only having multiple listeners as needed.
animate proposal 000 animates the victim with the given animation. The animation has to be a standard one, or an animation from a freebie set we would have to standardize and include in every relay that supports x-animate.
http-in draft 002 initiates a gridwide http encapsulated protocol session, using the new SL server http-in feature.
I see it as using exactly the same mechanisms as the email extension. It is likely that one of the two methods should eventually be deprecated as they would have the same use and one of the two has to be more efficient than the other! --Satomi Ahn 10:03, 19 May 2009 (UTC)
message proposal 000 Use the relay to send messages from the restraining device to the victim.
Mainly to negate the inconvenients of llInstantMessage as the only means for a restraining device to send a message only to the victim (Especially useful with multi line messages where the inherent script delay for llInstantMessage is more apparent). --[Regan Flasheart] 13:59, 26 June 2009 (UTC)
llRegionSayTo(victim,0,message); works instantly in-sim, negating the need for this protocol. --[Da Chrome], 23 Nov 2012
custom proposal 001 Asks the relay for a list of custom commands or sublists of such. The controlling device issuing this would display the list in a dialog to the device user. Items of the list could include simple actions like triggering animations, or blinding the relay wearer, or even display the menus of various compatible restraints worn by the relay wearer. The idea is to give the possibility for any relay maker to implement various custom extensions without having to wait for every furniture or remote maker to implement them in their menus.
mode proposal 000 Queries for relay current auth mode. Answers (in ack) should tell the source useful information such as if the relay is in interactive mode (ask) or not (auto) and the presence of black and white lists.
safe proposal 000 Enables safewording in the relay for the current source (if safewording was disabled). Options could specify that only conditional safewording ("evil safeword") should be allowed, thus allowing another way to close a session if the source is not available to send !release. This x-tension should have a command to query the current safewording mode.
multi proposal 000 By announcing this x-tension, a relay announces it can support several simultaneous controllers. This x-tension should also contain a command to ask for (an estimation of) a number of available controllers, and a command to close the relay to new controllers.
status proposal 000 an alternative for @getstatus

These commands are forever deprecated:

x-tension status version description
(!x-)tensions deprecated 000 queries the relay for supported x-tensions. Deprecated by !x-orgversions, which is part of ORG core requirements.



Note: x-tension names do not contain "!x-" or even "x-". Only the meta-commands they define are prefixed that way. One x-tension can define several meta-commands, which must all be implemented if the x-tension is supported.