LSL Protocol/Restrained Love Open Relay Group/x-tensions

From Second Life Wiki
Jump to navigation Jump to search

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:

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).
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.
freeze draft 001 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.
follow draft 001 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.
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.
channel* draft 000 switches the control channel for the RLV relay communications to the specified channel to cut down on spam.
(!x-)tensions deprecated 000 queries the relay for supported x-tensions. Deprecated by !x-orgversions, which is part of ORG core requirements.
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.
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. --Satomi Ahn 10:03, 19 May 2009 (UTC)
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)
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.
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.
delay draft 003 !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.
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
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.
simwide draft 001 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.

* ack and channel will likely be deprecated, as llRegionSayTo removes most of the need for such extensions.

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.