CollarDB - RLVrelay Help.
Table of contents
O. Introduction
1. User help
1.1. Menu buttons
1.2. Chat commands
2. Technical information for RLV scripters
2.1 Features and specifications
2.2 Caveats
*****
0. Introduction
RLV stood originally for "Restrained Life Viewer", but due to an issue with the use of "Life" in its name, it has been changed to "Restrained Love Viewer". As the name implies, it is intended at applying some "restrictions" on you. Restricting does not only mean restricting your abilities and your avi, but considerable part of the restrictions are actually used to be able to "force" you, i.e. denying you the opportunity to not-consent to what happens to you. Restricting your capabilities is the major part of RLV, but there is slightly more to it as may become clear further on. Originally it was developed for the D/s community in SL, but it can be used in a wider context, for example in games such as capturing, Sims with traps, etc...
A Restrained Love Viewer relay, or just "relay", is a script that listens for in-world object commands and transmits them to your viewer so that you can be controlled by objects belonging to *other* people. Of course, the task of the relay is not only to transmit such commands, but also to manage which objects should be allowed or not, and to keep track of the applied restrictions.
CollarDB includes such a relay. The relay included in CollarDB has a few particularities:
- In contrast to most older relays (prior to 2009), it allows several concurrent sources to communicate with your viewer and lock your relay.
- It has many access control options (both basic and more complicated modes, along with blacklists and whitelists).
- It optionally allows release from restrictions via safewording.
- It is integrated with the collar system in that (1) sources owned by owners are automatically accepted by the relay, and (2) owners can force the relay mode above a specified level of acceptance.
1. User help
1.1. Menu buttons
(Don't be surprised if some of these buttons aren't always displayed, since, depending on the context, irrelevant ones are automatically hidden.)
In the main dialog:
* Auto: in this mode, your RLV relay will respond to a device grabbing you, without you being able to stop it. This may be the most exciting mode, but leaves you completely helpless. It may also cause you to be trapped indefinitely, in which case you may need to apply the procedure to escape from an unwanted trapped situation (except with blacklisted devices)
* Ask: the RLV relay will respond to a device wanting to take RLV control, but will ask you if you want to proceed first. This is very safe, but somehow spoils somewhat the feeling of being helpless. (except from whitelisted or blacklisted devices).
* Restricted: the relay rejects every future request (except from whitelisted devices and devices already controlling you).
* ( )/(*)Playful: enables/disables automatic acceptance of non-restraining commands (combines with the previous modes).
* ( )/(*) landowner trusted: with this option, devices of the landowner will be allowed to automatically grab you. This may be used in trap Sims, where you would like the traps of that landowner to be able to catch you, but not something or somebody else (e.g. wearing a RLV control device).
* ( )/(*)Safeword: with the safeword option, you can use a safeword to get you out of an unwanted situation. The safeword is not the same for each type of RLV relay. For some it is SAFEWORD (CollarDB), for others is may be RED, etc... You have to read the manual to know the safeword for the RLV Relay you are wearing. You issue the safeword in local (sometimes you need the "shout") option, and you will be released with this option.
*Playful: with this option, auto will be performed on your RLV relay, except when there are actions that may permanently restrict you (e.g. not be able to turn the RLV relay off anymore yourself, not be able to use the safeword, etc)
* Help: gives this notecard.
* Safeword: clears all restrictions; equivalent to typing "[prefix]relay safeword".
* Access lists: opens the access list management dialog, for removing trusted or banned sources.
* MinMode (owner only): pops up a submenu in which a primary owner can set minimal function levels for the relay. If the owner chooses the Restricted option here, for instance, the sub cannot go "under" it by disabling the relay completely, but can choose between Restricted and the options "above", namely Ask and Auto; while if the owner chooses the highest level, Auto, it may not be changed and neither Restricted nor Ask is available to the sub. Likewise, if the "lower" settings with safeword, not playful, and landowner not trusted are set in MinMode, they can be changed by the sub; but if the owner dictates that the safeword cannot be used, that the sub must be playful, and/or that landowner must be trusted, the sub cannot change these settings.
In the request dialog, which will pop up in Ask mode when an RLV source tries to lock the relay:
* Yes: accept this command (and other commands from the same device until unrestricted).
* No: rejects this command (and other commands from the same device in the following seconds).
* Trust Object: same as Yes, but adds the object to the whitelist.
* Ban Object: same as No, but adds the object to the blacklist.
* Trust Owner: same as Yes, but adds the owner of the object to the whitelist.
* Ban Owner: same as No, but adds the owner of the object to the blacklist.
* Trust User: same as Yes, but adds the avatar using the object to the whitelist.
* Ban User: same as No, but adds the avatar using the object to the blacklist.
1.2. Chat commands:
* [prefix]showrestrictions: shows the list of restrictions to which the wearer is subject, and the devices issuing these.
* [prefix]relay [ask/auto/restricted/off]: toggles the selected mode.
* [prefix]relay playful [on/off]: toggles playful submode.
* [prefix]relay land [on/off]: toggles landowner submode.
* [prefix]relay safeword [on/off]: toggles safewording.
* [prefix]relay safeword: safewords.
* [prefix]relay minmode [ask/auto/restrcted/off]: sets the minimal basic mode.
* [prefix]relay minmode [playful/land/safeword] [on/off] (owner only): sets the minimal submodes.
* [prefix]relay getdebug: starts relay debugging, i.e. forwards all relay chat to the person issuing this command
* [prefix]relay stopdebug: stops relay debugging
2. Technical information for RLV scripters
2.1. Features and specifications
As an ORG (Open Relay Group) relay, this relay conforms to
https://wiki.secondlife.com/wiki/LSL_Protocol/Restrained_Love_Open_Relay_Group
- the basic relay specification version 1.100:
https://wiki.secondlife.com/wiki/LSL_Protocol/Restrained_Love_Relay
- the ORG additional requirements version 0003:
https://wiki.secondlife.com/wiki/LSL_Protocol/Restrained_Love_Open_Relay_Group/ORG_Requirements
- and to one optional "x-tension", who, version 001:
https://wiki.secondlife.com/wiki/LSL_Protocol/Restrained_Love_Open_Relay_Group/who
In particular, this means that this relay will understand relay commands using a wildcard "ffffffff-ffff-ffff-ffff-ffffffffffff" instead of the avatar key, allowing efficient scanning and zone effects.
Also, through the x-tension who, this relay understands the meta-command !x-who, which allows RLV sources to specify who (which avatar) is now using the source to grab the relay. This information is reported in the Ask dialog prompt and can be used by the wearer to decide whether to accept being locked, and also maybe to blacklist or whitelist the avatar using the source.
2.2. Caveats
This script uses a lot of memory, and even more when it has to decompose and analyze relay commands. Moreover, this relay manages several RLV sources (an arbitrary number of them) from only two scripts, which makes things even worse. We took great care in optimizing it the best we could, but it is not impossible that a stack-heap collision will still occur. If that happens:
- To make your relay work again, you will have to reset the script using the Tools menu of your viewer (alas, a script that crashed cannot be reset by another script).
Also, due to the way RLV works, having several RLV sources managing from a single script (and hence a single prim) can trigger unexpected results. For instance, the command @getstatus would report all restrictions set by the collar, instead of just those set by the source sending the command. This is not something we can fix unless we restrict the relay to a single source (which would be a shame!) or unless we use a multiprim approach, which would be highly impractical in the CollarDB context.
Some other bugs might arise, related to contradictory commands, restrictions and exceptions from different sources. This category of bugs can sometimes be mitigated in some way by using scripting tricks, so if you notice one of this kind please report it on the bug tracker so we can see if something can be done.
Modifications of this note card made possible by Master Bardeslaw with information found in His Guide to D/s devices, Collars, RLV and RLV Devices. Content also provided by Satomi Ahn of the OpenCollar Project
CollarDB scripts can also be found in the collars of
XanXan Jervil owner of oOXanimationsOo
O. Introduction
1. User help
1.1. Menu buttons
1.2. Chat commands
2. Technical information for RLV scripters
2.1 Features and specifications
2.2 Caveats
*****
0. Introduction
RLV stood originally for "Restrained Life Viewer", but due to an issue with the use of "Life" in its name, it has been changed to "Restrained Love Viewer". As the name implies, it is intended at applying some "restrictions" on you. Restricting does not only mean restricting your abilities and your avi, but considerable part of the restrictions are actually used to be able to "force" you, i.e. denying you the opportunity to not-consent to what happens to you. Restricting your capabilities is the major part of RLV, but there is slightly more to it as may become clear further on. Originally it was developed for the D/s community in SL, but it can be used in a wider context, for example in games such as capturing, Sims with traps, etc...
A Restrained Love Viewer relay, or just "relay", is a script that listens for in-world object commands and transmits them to your viewer so that you can be controlled by objects belonging to *other* people. Of course, the task of the relay is not only to transmit such commands, but also to manage which objects should be allowed or not, and to keep track of the applied restrictions.
CollarDB includes such a relay. The relay included in CollarDB has a few particularities:
- In contrast to most older relays (prior to 2009), it allows several concurrent sources to communicate with your viewer and lock your relay.
- It has many access control options (both basic and more complicated modes, along with blacklists and whitelists).
- It optionally allows release from restrictions via safewording.
- It is integrated with the collar system in that (1) sources owned by owners are automatically accepted by the relay, and (2) owners can force the relay mode above a specified level of acceptance.
1. User help
1.1. Menu buttons
(Don't be surprised if some of these buttons aren't always displayed, since, depending on the context, irrelevant ones are automatically hidden.)
In the main dialog:
* Auto: in this mode, your RLV relay will respond to a device grabbing you, without you being able to stop it. This may be the most exciting mode, but leaves you completely helpless. It may also cause you to be trapped indefinitely, in which case you may need to apply the procedure to escape from an unwanted trapped situation (except with blacklisted devices)
* Ask: the RLV relay will respond to a device wanting to take RLV control, but will ask you if you want to proceed first. This is very safe, but somehow spoils somewhat the feeling of being helpless. (except from whitelisted or blacklisted devices).
* Restricted: the relay rejects every future request (except from whitelisted devices and devices already controlling you).
* ( )/(*)Playful: enables/disables automatic acceptance of non-restraining commands (combines with the previous modes).
* ( )/(*) landowner trusted: with this option, devices of the landowner will be allowed to automatically grab you. This may be used in trap Sims, where you would like the traps of that landowner to be able to catch you, but not something or somebody else (e.g. wearing a RLV control device).
* ( )/(*)Safeword: with the safeword option, you can use a safeword to get you out of an unwanted situation. The safeword is not the same for each type of RLV relay. For some it is SAFEWORD (CollarDB), for others is may be RED, etc... You have to read the manual to know the safeword for the RLV Relay you are wearing. You issue the safeword in local (sometimes you need the "shout") option, and you will be released with this option.
*Playful: with this option, auto will be performed on your RLV relay, except when there are actions that may permanently restrict you (e.g. not be able to turn the RLV relay off anymore yourself, not be able to use the safeword, etc)
* Help: gives this notecard.
* Safeword: clears all restrictions; equivalent to typing "[prefix]relay safeword".
* Access lists: opens the access list management dialog, for removing trusted or banned sources.
* MinMode (owner only): pops up a submenu in which a primary owner can set minimal function levels for the relay. If the owner chooses the Restricted option here, for instance, the sub cannot go "under" it by disabling the relay completely, but can choose between Restricted and the options "above", namely Ask and Auto; while if the owner chooses the highest level, Auto, it may not be changed and neither Restricted nor Ask is available to the sub. Likewise, if the "lower" settings with safeword, not playful, and landowner not trusted are set in MinMode, they can be changed by the sub; but if the owner dictates that the safeword cannot be used, that the sub must be playful, and/or that landowner must be trusted, the sub cannot change these settings.
In the request dialog, which will pop up in Ask mode when an RLV source tries to lock the relay:
* Yes: accept this command (and other commands from the same device until unrestricted).
* No: rejects this command (and other commands from the same device in the following seconds).
* Trust Object: same as Yes, but adds the object to the whitelist.
* Ban Object: same as No, but adds the object to the blacklist.
* Trust Owner: same as Yes, but adds the owner of the object to the whitelist.
* Ban Owner: same as No, but adds the owner of the object to the blacklist.
* Trust User: same as Yes, but adds the avatar using the object to the whitelist.
* Ban User: same as No, but adds the avatar using the object to the blacklist.
1.2. Chat commands:
* [prefix]showrestrictions: shows the list of restrictions to which the wearer is subject, and the devices issuing these.
* [prefix]relay [ask/auto/restricted/off]: toggles the selected mode.
* [prefix]relay playful [on/off]: toggles playful submode.
* [prefix]relay land [on/off]: toggles landowner submode.
* [prefix]relay safeword [on/off]: toggles safewording.
* [prefix]relay safeword: safewords.
* [prefix]relay minmode [ask/auto/restrcted/off]: sets the minimal basic mode.
* [prefix]relay minmode [playful/land/safeword] [on/off] (owner only): sets the minimal submodes.
* [prefix]relay getdebug: starts relay debugging, i.e. forwards all relay chat to the person issuing this command
* [prefix]relay stopdebug: stops relay debugging
2. Technical information for RLV scripters
2.1. Features and specifications
As an ORG (Open Relay Group) relay, this relay conforms to
https://wiki.secondlife.com/wiki/LSL_Protocol/Restrained_Love_Open_Relay_Group
- the basic relay specification version 1.100:
https://wiki.secondlife.com/wiki/LSL_Protocol/Restrained_Love_Relay
- the ORG additional requirements version 0003:
https://wiki.secondlife.com/wiki/LSL_Protocol/Restrained_Love_Open_Relay_Group/ORG_Requirements
- and to one optional "x-tension", who, version 001:
https://wiki.secondlife.com/wiki/LSL_Protocol/Restrained_Love_Open_Relay_Group/who
In particular, this means that this relay will understand relay commands using a wildcard "ffffffff-ffff-ffff-ffff-ffffffffffff" instead of the avatar key, allowing efficient scanning and zone effects.
Also, through the x-tension who, this relay understands the meta-command !x-who, which allows RLV sources to specify who (which avatar) is now using the source to grab the relay. This information is reported in the Ask dialog prompt and can be used by the wearer to decide whether to accept being locked, and also maybe to blacklist or whitelist the avatar using the source.
2.2. Caveats
This script uses a lot of memory, and even more when it has to decompose and analyze relay commands. Moreover, this relay manages several RLV sources (an arbitrary number of them) from only two scripts, which makes things even worse. We took great care in optimizing it the best we could, but it is not impossible that a stack-heap collision will still occur. If that happens:
- To make your relay work again, you will have to reset the script using the Tools menu of your viewer (alas, a script that crashed cannot be reset by another script).
Also, due to the way RLV works, having several RLV sources managing from a single script (and hence a single prim) can trigger unexpected results. For instance, the command @getstatus would report all restrictions set by the collar, instead of just those set by the source sending the command. This is not something we can fix unless we restrict the relay to a single source (which would be a shame!) or unless we use a multiprim approach, which would be highly impractical in the CollarDB context.
Some other bugs might arise, related to contradictory commands, restrictions and exceptions from different sources. This category of bugs can sometimes be mitigated in some way by using scripting tricks, so if you notice one of this kind please report it on the bug tracker so we can see if something can be done.
Modifications of this note card made possible by Master Bardeslaw with information found in His Guide to D/s devices, Collars, RLV and RLV Devices. Content also provided by Satomi Ahn of the OpenCollar Project
CollarDB scripts can also be found in the collars of
XanXan Jervil owner of oOXanimationsOo
No comments:
Post a Comment
Note: only a member of this blog may post a comment.