User:Rhet0rica Resident/RLVa Protocol
There are two implementations of the RLV protocol: Marine Kelley's RLV codebase and Kitty Barnett's RLVa codebase. As of this writing, RLV is used by RestrainedLove, Cool VL Viewer, and Kokua; RLVa is used by Catznip, Alchemy, Black Dragon, Firestorm, Genesis, and Singularity.
Naturally, whenever there are two or more implementations of anything, there are differences between the two. The main RLV documentation on this wiki has been around for a long time and is primarily maintained by Marine Kelley, the creator of the RLV ecosystem. While an invaluable resource for scripters targeting Marine's viewer and its progeny, it makes little mention of RLVa-specific features. This is mostly a good thing, as it encourages scripters to focus only on what has universal support, but at the same time there has been a dearth of information around RLVa, and what has been available the Catznip Wiki is somewhat incomplete.
The purpose of this page is to document the RLV protocol from an RLVa-centric perspective, both for my own reference and that of others. Behavior names in bold are absent from the RLV documentation and are almost certainly unique to RLVa.
Behavior | Modifiers | y/n | add/rem | _sec | exception (y/n) | info | ReplyProcessor | force | experimental | extended |
---|---|---|---|---|---|---|---|---|---|---|
acceptpermission | ✔ | |||||||||
accepttp | ✔ | ✔ | ✔ | |||||||
accepttprequest | ✔ | ✔ | ✔ | ✔ | ||||||
addattach | ||||||||||
addoutfit | ✔ | ✔ | ||||||||
addoutfit | ✔ | |||||||||
addoutfitall | ✔ | |||||||||
addoutfitallover | ✔ | |||||||||
addoutfitallthis | ✔ | |||||||||
addoutfitallthisover | ✔ | |||||||||
addoutfitover | ✔ | |||||||||
addoutfitthis | ✔ | |||||||||
addoutfitthisover | ✔ | |||||||||
adjustheight | ✔ | |||||||||
allowidle | ✔ | ✔ | ||||||||
alwaysrun | ✔ | |||||||||
attach | ✔ | |||||||||
attachall | ✔ | |||||||||
attachallover | ✔ | |||||||||
attachalloverorreplace | ✔ | |||||||||
attachallthis | ✔ | ✔ | ||||||||
attachallthis | ✔ | ✔ | ||||||||
attachallthis_except | ✔ | ✔ | ||||||||
attachallthisover | ✔ | ✔ | ||||||||
attachallthisoverorreplace | ✔ | |||||||||
attachover | ✔ | ✔ | ||||||||
attachoverorreplace | ✔ | |||||||||
attachthis | ✔ | ✔ | ||||||||
attachthis | ✔ | ✔ | ||||||||
attachthis_except | ✔ | ✔ | ||||||||
attachthisover | ✔ | |||||||||
attachthisoverorreplace | ✔ | |||||||||
buy | ✔ | |||||||||
camavdist | ||||||||||
camdistmax | ||||||||||
camdistmin | ||||||||||
camtextures | ✔ | |||||||||
camunlock | ✔ | |||||||||
camzoommax | ||||||||||
camzoommin | ||||||||||
chatnormal | ✔ | |||||||||
chatshout | ✔ | |||||||||
chatwhisper | ✔ | |||||||||
detach | ✔ | |||||||||
detach | ✔ | |||||||||
detachall | ✔ | |||||||||
detachallthis | ✔ | ✔ | ||||||||
detachallthis | ✔ | |||||||||
detachallthis_except | ✔ | ✔ | ||||||||
detachme | ✔ | |||||||||
detachthis | ✔ | ✔ | ||||||||
detachthis | ✔ | |||||||||
detachthis_except | ✔ | ✔ | ||||||||
edit | ✔ | ✔ | ||||||||
editattach | ✔ | |||||||||
editobj | ✔ | |||||||||
editworld | ✔ | |||||||||
emote | ✔ | |||||||||
fartouch | Fartouch Distance | ✔ | ||||||||
findfolder | ✔ | |||||||||
findfolders | ✔ | ✔ | ||||||||
fly | ✔ | |||||||||
fly | ✔ | |||||||||
getaddattachnames | ✔ | ✔ | ||||||||
getaddoutfitnames | ✔ | ✔ | ||||||||
getattach | ✔ | |||||||||
getattachnames | ✔ | ✔ | ||||||||
getcam_avdist | ✔ | ✔ | ||||||||
getcam_avdistmax | ✔ | ✔ | ||||||||
getcam_avdistmin | ✔ | ✔ | ||||||||
getcam_fov | ✔ | ✔ | ||||||||
getcam_fovmax | ✔ | ✔ | ||||||||
getcam_fovmin | ✔ | ✔ | ||||||||
getcam_textures | ✔ | ✔ | ||||||||
getcommand | ✔ | ✔ | ||||||||
getgroup | ✔ | |||||||||
getheightoffset | ✔ | ✔ | ||||||||
getinv | ✔ | |||||||||
getinvworn | ✔ | |||||||||
getoutfit | ✔ | |||||||||
getoutfitnames | ✔ | ✔ | ||||||||
getpath | ✔ | |||||||||
getpathnew | ✔ | |||||||||
getremattachnames | ✔ | ✔ | ||||||||
getremoutfitnames | ✔ | ✔ | ||||||||
getsitid | ✔ | |||||||||
getstatus | ✔ | |||||||||
getstatusall | ✔ | |||||||||
interact | ✔ | ✔ | ||||||||
jump | ✔ | |||||||||
notify | ✔ | ✔ | ||||||||
pay | ✔ | |||||||||
permissive | ✔ | |||||||||
recvchat | ✔ | ✔ | ✔ | |||||||
recvchatfrom | ✔ | ✔ | ||||||||
recvemote | ✔ | ✔ | ✔ | |||||||
recvemotefrom | ✔ | ✔ | ||||||||
recvim | RecvIM Distance (Min), RecvIM Distance (Max) | ✔ | ||||||||
recvimfrom | ✔ | ✔ | ||||||||
redirchat | ✔ | ✔ | ||||||||
rediremote | ✔ | ✔ | ||||||||
remattach | ✔ | |||||||||
remattach | ✔ | |||||||||
remoutfit | ✔ | ✔ | ||||||||
remoutfit | ✔ | |||||||||
rez | ✔ | |||||||||
sendchannel | ✔ | |||||||||
sendchannel_except | ✔ | ✔ | ||||||||
sendchat | ✔ | |||||||||
sendgesture | ✔ | ✔ | ||||||||
sendim | SendIM Distance (Min), SendIM Distance (Max) | ✔ | ||||||||
sendimto | ✔ | ✔ | ||||||||
setcam | ✔ | |||||||||
setcam_avdist | Camera - Silhouette Distance | |||||||||
setcam_avdistmax | Camera - Avatar Distance (Max) | ✔ | ||||||||
setcam_avdistmin | Camera - Avatar Distance (Min) | ✔ | ||||||||
setcam_eyeoffset | Camera - Eye Offset | ✔ | ||||||||
setcam_eyeoffset | ✔ | |||||||||
setcam_eyeoffsetscale | Camera - Eye Offset Scale | |||||||||
setcam_eyeoffsetscale | ✔ | ✔ | ||||||||
setcam_focus | ✔ | ✔ | ✔ | |||||||
setcam_focusoffset | Camera - Focus Offset | |||||||||
setcam_focusoffset | ✔ | ✔ | ||||||||
setcam_fov | ✔ | ✔ | ✔ | |||||||
setcam_fovmax | Camera - FOV (Max) | ✔ | ||||||||
setcam_fovmin | Camera - FOV (Min) | ✔ | ||||||||
setcam_mode | ✔ | ✔ | ✔ | |||||||
setcam_mouselook | ✔ | |||||||||
setcam_origindistmax | Camera - Focus Distance (Max) | ✔ | ||||||||
setcam_origindistmin | Camera - Focus Distance (Min) | ✔ | ||||||||
setcam_textures | Camera - Forced Texture | ✔ | ||||||||
setcam_unlock | ✔ | |||||||||
setdebug | ✔ | |||||||||
setenv | ✔ | |||||||||
setgroup | ✔ | |||||||||
setgroup | ✔ | |||||||||
setoverlay | ✔ | |||||||||
setoverlay_alpha | ✔ | |||||||||
setoverlay_texture | ✔ | |||||||||
setoverlay_tint | ✔ | |||||||||
setoverlay_touch | ✔ | |||||||||
setoverlay_tween | ✔ | ✔ | ||||||||
setsphere | ✔ | |||||||||
setsphere_color | ✔ | |||||||||
setsphere_distextend | ✔ | |||||||||
setsphere_distmax | ✔ | |||||||||
setsphere_distmin | ✔ | |||||||||
setsphere_mode | ✔ | |||||||||
setsphere_origin | ✔ | |||||||||
setsphere_param | ✔ | |||||||||
setsphere_tween | ✔ | |||||||||
setsphere_valuemax | ✔ | |||||||||
setsphere_valuemin | ✔ | |||||||||
share | ✔ | ✔ | ✔ | |||||||
sharedunwear | ✔ | ✔ | ✔ | |||||||
sharedwear | ✔ | ✔ | ✔ | |||||||
showhovertext | ||||||||||
showhovertextall | ✔ | |||||||||
showhovertexthud | ✔ | |||||||||
showhovertextworld | ✔ | |||||||||
showinv | ✔ | |||||||||
showloc | ✔ | |||||||||
showminimap | ✔ | |||||||||
shownames | ✔ | |||||||||
shownametags | Name Tags - Visible Distance | ✔ | ||||||||
shownearby | ✔ | ✔ | ||||||||
showself | ✔ | ✔ | ||||||||
showselfhead | ✔ | ✔ | ||||||||
showworldmap | ✔ | |||||||||
sit | ✔ | |||||||||
sit | ✔ | ✔ | ||||||||
sitground | ✔ | ✔ | ||||||||
sittp | SitTp Distance | ✔ | ||||||||
standtp | ✔ | |||||||||
startim | StartIM Distance (Min), StartIM Distance (Max) | ✔ | ||||||||
startimto | ✔ | ✔ | ||||||||
temprun | ✔ | |||||||||
touchall | ✔ | |||||||||
touchattach | ✔ | ✔ | ||||||||
touchattachother | ✔ | ✔ | ||||||||
touchattachself | ✔ | |||||||||
touchfar | ✔ | |||||||||
touchhud | ✔ | ✔ | ✔ | |||||||
touchme | ✔ | |||||||||
touchthis | ✔ | |||||||||
touchworld | ✔ | ✔ | ||||||||
tplm | ✔ | |||||||||
tploc | ✔ | |||||||||
tplocal | Local Teleport Distance | ✔ | ✔ | |||||||
tplure | ✔ | ✔ | ✔ | |||||||
tprequest | ✔ | ✔ | ✔ | ✔ | ||||||
tpto | ✔ | ✔ | ||||||||
unsharedunwear | ✔ | ✔ | ||||||||
unsharedwear | ✔ | ✔ | ||||||||
unsit | ✔ | |||||||||
unsit | ✔ | ✔ | ||||||||
version | ✔ | |||||||||
versionnew | ✔ | |||||||||
versionnum | ✔ | |||||||||
viewnote | ✔ | |||||||||
viewscript | ✔ | |||||||||
viewtexture | ✔ | |||||||||
viewtransparent | ✔ | ✔ | ||||||||
viewwireframe | ✔ | ✔ |