Tuesday, June 5, 2018

Hardcore RLV

Hi !

You might remember Boy Lane's "Hardcore RLV" version of the RLV, a long time ago. That version, unlike the official RLV, did not have a "RestrainedLove" debug setting to deactivate the RLV features after relogging. If you did not use any other viewer, that made you effectively unable to cheat out of RLV. That was a real thrill.

A few successive attempts were made to make this kind of hardcore RLV totally secure, meaning you really could not use any other viewer to cheat out. That was done essentially by giving your password away or having it scrambled so that you could not log except with one particular viewer. An example of this technique was XtremRLV.

This didn't sit well with Linden Lab, who banned such techniques and stated in the SL ToS that you could not prevent anyone from logging with the viewer of their choice, and that was the end of that.

I'm not here to argue whether to use a hardcore RLV is a good thing or not, as there are two main sides : those who really want it to feel as real as possible, and those who are more into roleplaying. I respect and understand both sides. Besides, people also change with time and may switch sides. Personally I am more on the "RLV must feel real" side, but I did not believe in solutions like XtremRLV for security reasons. A griefer could completely lock you down for good if they got hold of your RLV relay with that kind of thing, and you'd be screwed.

Being on the "RLV must feel real" side, I actually don't like the "RestrainedLove" debug setting that allows the user to turn RLV off, even though it needs a relog afterwards. This is no different from relogging with another viewer, but still, it feels a little too easy. Likewise, I don't like the blacklist feature, since it allows a user to cherry-pick which RLV restrictions they like and which ones they don't like, making scripts unable to identify a RLV by its version. Lastly, I don't like to be allowed to send OOC chat (when you surround with double parenthesis like this : "(( ... ))" ), that too feels like cheating. But then again, I don't like long emotes either. I realize that there are a lot of things that I don't like, maybe I'm getting old and grumpy...  But back to the subject at hand.

Here is a little experiment I'd like to do. I'm releasing a hardcore version of the RLV in which the value of the "RestrainedLove" and "RestrainedLoveBlacklist" debug settings do not matter. The former is always interpreted as being True and the latter is always interpreted as being empty, regardless of their actual value. And no more OOC chat either. This version is on the erestraints.com website alongside the normal one so you can choose whether you want it soft or hard :)

At the time of this writing, the two viewers are exactly the same except for the "hardcore" differences stated above. They will diverge though, and that's where the experiment takes place. I don't actually know how many people are roleplayers and how many prefer it hardcore among the users of the RLV. Usually, like always, I hear only the malcontents, as those who are satisfied with what they have do tend to stay quiet and to just enjoy themselves. I genuinely don't know which direction to take there, so I'm giving you those two choices for now, knowing that I won't have the time to maintain two versions, so eventually one will take precedence over the other. Personally I'd like the hardcore version to prevail, since there are other viewers that offer a way out of RLV anyway (Kokua, Cool VL, FS...). I like the idea of having to download a different viewer in order to get out of RLV instead of just turning a switch off and relogging with the same viewer.

I understand that safewording is difficult on a hardcore RLV. If you are totally restricted (I'm talking IMs blocked, chat blocked, emotes blocked, inventory blocked, essentially turning you into a living furniture), and you need a way out, how to safeword ?

If I were you, I'd do what I did with the Banes going through the Banishment Program, a few years ago. I'd decide up front that a burst of three consecutive blocked IMs means that the sub requires attention and needs to communicate something important, while a burst of five consecutive blocked IMs means to stop immediately (that's your safeword). It works well like that and is simple enough to remember. Besides, if the sub starts spamming you with "*** IM blocked by sender's viewer" messages, eventually you'll wonder if something's wrong.

Anyway, the Hardcore RLV (it's not actually called that, I'm just using this name because that's rings a bell with most people) is available here :

And the MD5 hash of the Windows executable is :

I forgot to change the version of this particular RLV, it will show as like the normal one. But to check if you are using the hardcore one, simply start it with "RestrainedLove" set to False, or gag yourself and try saying something between "((" and "))". The hardcore RLV will not let you speak that way.

I'd be interesting in knowing whether you prefer a soft or a hard RLV for the future. I know that most people don't actually know that there is a debug setting to deactivate the RLV features, and they are disappointed when they find out.

For the developers who use my code in their own viewers, the revisions in my repository containing the changes to deactivate the features stated above are the following :

* Remove OOC : 295a7695d317
* Ignore "RestrainedLove" debug setting : 422d5f4c1359
* Ignore "RestrainedLoveBlacklist" debug setting : 23de52449d9b and b3462a8f788e

Have fun !