Difference between revisions of "LSL Protocol"

From Second Life Wiki
Jump to navigation Jump to search
(Add damage types)
 
(10 intermediate revisions by 6 users not shown)
Line 43: Line 43:
|-
|-
|| [[LSL Protocol/EasyTalk|EasyTalk]]
|| [[LSL Protocol/EasyTalk|EasyTalk]]
|| Salahzar Stenvaag
|| {{User|Salahzar Stenvaag}}
|| |Very Easy and simple communication protocol. Use it to simply coordinate llSay/llRegionSay/llListen objects, as well as linked set
|| |Very Easy and simple communication protocol. Use it to simply coordinate llSay/llRegionSay/llListen objects, as well as linked set
|-
|| [[LSL Protocol/LockGuard|LockGuard]]
|| Lillani Lowell
|| A protocol designed for creating and linking particle chains from one object to another
|-
|-
|| [[LSL Protocol/ListMessage|ListMessage]]
|| [[LSL Protocol/ListMessage|ListMessage]]
Line 51: Line 55:
|-
|-
|| [[LSL Protocol/LockMeister System|LockMeister System]]
|| [[LSL Protocol/LockMeister System|LockMeister System]]
|| Kyrah Abattoir
|| {{User|Kyrah Abattoir}}
|| Used to coordinate different parts of bondage toys.
|| Simple 'ping-style' protocol to detect particle chain targets on avatar attachments.
|-
|-
|| [[MLPV2|Multi Love Pose v2]]  
|| [[MLPV2|Multi Love Pose v2]]  
Line 59: Line 63:
|-
|-
|| [[User:Nandana_Singh/nPose|nPose]]
|| [[User:Nandana_Singh/nPose|nPose]]
|| Nandana Singh
|| {{User|Nandana Singh}}
|| Furniture Posing Menuing kit (does not use pose balls)
|| Furniture Posing Menuing kit (does not use pose balls)
|-
|-
|| [[LSL Protocol/Ganymedia OpenMAIP v1.0 Specification|OpenMAIP]]
|| [[LSL Protocol/Ganymedia OpenMAIP v1.0 Specification|OpenMAIP]]
|| Ganymede Ceriaptrix
|| {{User|Ganymede Ceriaptrix}}
|| ''Note: Specification is presently incomplete.'' Ganymedia OpenMAIP (Metaverse Application Internetworking Protocol) provides a TCP/IP-like routing and service-oriented message exchange protocol across multiple transport methods (including cross-simulator and cross-grid); allowing scripts to advertise their available functions, and relevant commands, to external and/or third-party scripts and viewers. Controlled access to closed functions is provided via RC4 challenge-response authentication. OpenMAIP also provides an optional RC4 cryptography layer, further extensible to public-private key DHSS.
|| ''Note: Specification is presently incomplete.'' Ganymedia OpenMAIP (Metaverse Application Internetworking Protocol) provides a TCP/IP-like routing and service-oriented message exchange protocol across multiple transport methods (including cross-simulator and cross-grid); allowing scripts to advertise their available functions, and relevant commands, to external and/or third-party scripts and viewers. Controlled access to closed functions is provided via RC4 challenge-response authentication. OpenMAIP also provides an optional RC4 cryptography layer, further extensible to public-private key DHSS.
|-
|-
Line 71: Line 75:
|-
|-
|| [[LSL Protocol/RestrainedLoveAPI|RestrainedLove viewer API]]
|| [[LSL Protocol/RestrainedLoveAPI|RestrainedLove viewer API]]
|| Marine Kelley
|| {{User|Marine Kelley}}
|| Use the features of the RestrainedLove viewer through llOwnerSay() calls.
|| Use the features of the RestrainedLove viewer through llOwnerSay() calls.
|-
|-
|| [[LSL Protocol/Restrained Love Relay Specs|RestrainedLove viewer relay spec]]
|| [[LSL Protocol/Restrained Love Relay Specs|RestrainedLove viewer relay spec]]
|| Marine Kelley
|| {{User|Marine Kelley}}
|| Allow your furniture or cages to issue commands to the user's RestrainedLove viewer
|| Allow your furniture or cages to issue commands to the user's RestrainedLove viewer
|-
|-
Line 81: Line 85:
|| Open Relay Group
|| Open Relay Group
|| A superset of the RestrainedLife viewer relay spec with useful extensions created and maintained by the community.
|| A superset of the RestrainedLife viewer relay spec with useful extensions created and maintained by the community.
|-
||[[LSL_Protocol/rfedip|Ratany fine Engineering Device Interface Protocol]]
|| Ratany Resident
||An extensible protocol for detecting and communicating with compliant devices (objects): rfedip.
|-
|-
|| [[User:Nexii_Malthus/Script_API|Script API]]
|| [[User:Nexii_Malthus/Script_API|Script API]]
Line 89: Line 97:
|| [[User:Void_Singer|Void Singer]]
|| [[User:Void_Singer|Void Singer]]
|| An LSL Web Page Server for serving HTML content solely from within SL using shared media (Spec, protocols, linked examples)
|| An LSL Web Page Server for serving HTML content solely from within SL using shared media (Spec, protocols, linked examples)
|-
|| [[LSL Protocol/OpenRadioCommunication|Open Radio Communication]]
|| {{User|Kyrah Abattoir}}
|| A barebone "binary like" radio protocol with interferences and crosstalk.
|}
|}
----
----
Line 120: Line 133:
|-
|-
|| 6
|| 6
|| grumble Loudon
|| {{User|Grumble Loudon}}
|| pre-appended text and say it.
|| pre-appended text and say it.
|| "/6 hello" becomes "/me Lion says: hello"
|| "/6 hello" becomes "/me Lion says: hello"
Line 235: Line 248:
|-
|-
|| 45, 54
|| 45, 54
|| Ilobmirt Tenk
|| {{User|Ilobmirt Tenk}}
|| FOSSL Vending System Client/Server default command channel
|| FOSSL Vending System Client/Server default command channel
|-
|-
Line 247: Line 260:
|-
|-
|| 66
|| 66
|| Travis Lambert
|| {{User|Travis Lambert}}
|| BanLink default chat command channel
|| BanLink default chat command channel
|-
|-
Line 299: Line 312:
|-
|-
|| 777
|| 777
|| Hank Ramos
|| {{User|Hank Ramos}}
|| [[Universal Translator]]: channel to allow users to open a dialog-box using a chat command on channel #777.  Only accepted command on this channel is "translator" and all other chat is ignored.  Allows user to silently bring up dialog by hiding command as "/777 translator".
|| [[Universal Translator]]: channel to allow users to open a dialog-box using a chat command on channel #777.  Only accepted command on this channel is "translator" and all other chat is ignored.  Allows user to silently bring up dialog by hiding command as "/777 translator".
|-
|-
Line 307: Line 320:
|-
|-
|| 2776
|| 2776
|| Tdub Dowler, Riden Blaisdale
|| {{User|Tdub Dowler}}, Riden Blaisdale
|| Used for transmitting a csv list of keys for use in sim wide radars
|| Used for transmitting a csv list of keys for use in sim wide radars
|-
|-
Line 319: Line 332:
|-
|-
||10748, -10748
||10748, -10748
|| Lee Ponzu
|| {{User|Lee Ponzu}}
|| Commonly used in scripts by Ponzu
|| Commonly used in scripts by Ponzu
|-
|-
Line 326: Line 339:
|| ACME interface (combat system)
|| ACME interface (combat system)
|-
|-
|| 88225
|| [[User:Anaimfinity Resident|Ana Imfinity]]
|| Used by [http://slgi.wikia.com/wiki/SLGI_Wiki SLGI scripts]
|-
|-
|| 515001
|| {{User|Pae Sinister}}
|| PaePaeBoom fireworks sequencer-to-launcher comm channel.
|}
|}


Line 337: Line 358:
|-
|-
|| -666  
|| -666  
|| {{User|Dimentox Travanti}}
||{{User|Dimentox Travanti}}
|| [[DCS]]: Unit to Hud Status Update Channel
|| [[DCS]]: Unit to Hud Status Update Channel
|-
|-
Line 353: Line 374:
|-
|-
|| -10xxx
|| -10xxx
|| {{User|Ayelin Ethaniel}}
||{{User|Ayelin Ethaniel}}
|| Communication channel of ::Wild Pets:: systems. Commonly generated automatically between -10000 -10999.
|| Communication channel of ::Wild Pets:: systems. Commonly generated automatically between -10000 -10999.
|-
|-
Line 369: Line 390:
|-
|-
||-504xxx
||-504xxx
||Gal Canning
||{{User|Gal Canning}}
||only whispered inter-prim communication
||only whispered inter-prim communication
|-
|-
Line 381: Line 402:
|-
|-
||-2766532
||-2766532
||Hank Ramos
||{{User|Hank Ramos}}
||[[Universal Translator]]: "back-channel" for inter-translator communications.  This is an encrypted channel that passes translation and command-control messages between translators that are linked together to spread the translation load and HTTP communications.
||[[Universal Translator]]: "back-channel" for inter-translator communications.  This is an encrypted channel that passes translation and command-control messages between translators that are linked together to spread the translation load and HTTP communications.
|-
||-20131224
||Ratany Resident
||Default channel for [[LSL_Protocol/rfedip|Ratany fine Engineerings Device Interface Protocol]]
|-
||-42000000
||{{User|Nexii Malthus}}
||[[OpenLayout]] collaborative edge snapping standard for HUDs
|-
|-
||-828983023
||-828983023
Line 395: Line 424:
||{{User|Asbrandt Resident}}
||{{User|Asbrandt Resident}}
||Internal Comms range for all projects : Z = Integer Project ID - Use of X range varies : All Comms are Headered with the Project ID : Some further info on User Page.
||Internal Comms range for all projects : Z = Integer Project ID - Use of X range varies : All Comms are Headered with the Project ID : Some further info on User Page.
|-
|}
|}
==Custom Damage Types==
For reference here are the default damage types:
{{LSL Constants/Damage_Types}}
{{LSL_Constants/Custom_Damage_Types}}

Latest revision as of 16:58, 31 July 2024

Script protocols and known chat channels

Some times, scripts in Second Life send messages to one another to exchange information or coordinate behavior. The rules for that conversation are a protocol. Being able to say "/1show" or "/1hug lee" are examples.

Such protocols use a common chat channel. The examples above use channel 1. They could just as easily have used any other number, but a user (and other objects) have to have some way to find the correct number.

Some protocols, such as combat systems, are quite complicated and could be better documented. This page can be used to help prevent conflicts and allow multiple programmers to coordinate the protocol definitions.

Protocols can also be note card systems and systems that use object names.

Protocol list

Add a protocol here if it is widely used, or might be sometime in the future.

A protocol in this list should also have its own pages where the protocol is defined in some detail.

Name Creator Description
Teleport Helper Protocol Darling Brody Teleporter Helper Protocol.
Cool Hud Henri Beauchamp Universal Hud protocol.
DataBot Siann Beck A protocol for specifying custom avatar information.
EasyTalk Salahzar Stenvaag |Very Easy and simple communication protocol. Use it to simply coordinate llSay/llRegionSay/llListen objects, as well as linked set
LockGuard Lillani Lowell A protocol designed for creating and linking particle chains from one object to another
ListMessage Anonymous Send and receive lists, non-lists, non-results, verb-not-found, and partially evaluated Polish expressions.
LockMeister System Kyrah Abattoir Simple 'ping-style' protocol to detect particle chain targets on avatar attachments.
Multi Love Pose v2 Lear Cale Pose Ball Rezzing and Menuing kit (see menu to the right of linked page for indepth spec/protocol)
nPose Nandana Singh Furniture Posing Menuing kit (does not use pose balls)
OpenMAIP Ganymede Ceriaptrix Note: Specification is presently incomplete. Ganymedia OpenMAIP (Metaverse Application Internetworking Protocol) provides a TCP/IP-like routing and service-oriented message exchange protocol across multiple transport methods (including cross-simulator and cross-grid); allowing scripts to advertise their available functions, and relevant commands, to external and/or third-party scripts and viewers. Controlled access to closed functions is provided via RC4 challenge-response authentication. OpenMAIP also provides an optional RC4 cryptography layer, further extensible to public-private key DHSS.
P Vendor Linked Messages API & Environment Zep Palen Allows an owner of the P Vendor system to develope custom vendors and use the API for input/output
RestrainedLove viewer API Marine Kelley Use the features of the RestrainedLove viewer through llOwnerSay() calls.
RestrainedLove viewer relay spec Marine Kelley Allow your furniture or cages to issue commands to the user's RestrainedLove viewer
RestrainedLove viewer open relay spec Open Relay Group A superset of the RestrainedLife viewer relay spec with useful extensions created and maintained by the community.
Ratany fine Engineering Device Interface Protocol Ratany Resident An extensible protocol for detecting and communicating with compliant devices (objects): rfedip.
Script API Nexii Malthus A protocol to provide a useful communication layer between LSL scripts and supported clients, as well as a useful and purposeful feature set. (Vertical Life and Plywood clients currently)
Teacup (LSL HTTP Server) Void Singer An LSL Web Page Server for serving HTML content solely from within SL using shared media (Spec, protocols, linked examples)
Open Radio Communication Kyrah Abattoir A barebone "binary like" radio protocol with interferences and crosstalk.

Known chat channels

This list is intended to reduce the number of scripts using the same chat channel number. Please try and keep them in sequence. Note that the absence of a channel reservation in this list does not mean that channel will never be used - some scripts choose channels randomly from a very, very large range, sometimes a range of all possible channels. Always design your communication protocols such that invalid/interfering messages are disposed of.

Channel Creator Description Messages
1, 4, 5, 9 Unknown Very common in poseballs "hide", "show"
3 katie.paine rf gag - also used by Darie's gag scripts
4 Mo Noel (Depreciated: Default channel for chat redirection like in gags or other voice manipulating tools)
5 Psistorm Ikura PsiCorp Products
6 Grumble Loudon pre-appended text and say it. "/6 hello" becomes "/me Lion says: hello"
8 Henri Beauchamp Cool Collar command channel
8 unknown Lulu cuffs / gags ..
9 DCS And Most Modern SLRPG Frame Works Command channel for user commands for Combat Systems/ SLRPG Frameworks like DCS /9on /9 reset /9<power> etc
10 ACE BnT/IntLibber Brautigan Ancapistan Capital Exchange ATM user interface channel "balance","withdraw","help"
10, 11, 12 Bettie Binder doll life renamer
11 Racheal Young Default channel of chat commands for Barre & Rachael Rockers Products
11 Mo Noel Default channel of chat command interface of MoDesign products
12 Unknown title and status of damage meter (combat system)
13 Daisy Rimbaud evil titler
14 Mo Noel Default channel for chat redirection like in gags or other voice manipulating tools
15 Mo Noel Default channel for emote redirection like in gags or other voice manipulating tools
17 Susan Daviau Susan's relay
19 Cloe DEM rename
20 Unknown SafeZone interface (combat system)
20 Bettie Binder doll life dollyteer
21 Bettie Binder doll life
22 Henri Beauchamp Cool Cuffs command channel
22 unknown OOC Textiness. Says what you type.
22 Corvan Nansen Chat Enhancer. Out Of Character speech.
26 Agnes Paine Command channel for restraints
33 Henri Beauchamp Cool Nipples command channel
33 unknown Collar
35 Corvan Nansen Chat Enhancer Command channel.
36 Corvan Nansen Ultimate Titler Command channel.
42 unknown Common channel used by wiki example scripts
42, 55, 66, 77 Psistorm Ikura Aventity avatar scripts
44 Corvan Nansen Chat Enhancer. In Character speech.
45, 54 Ilobmirt Tenk FOSSL Vending System Client/Server default command channel
55 Henri Beauchamp Cool Chastity Belt command channel
63 FlipperPA Peregrine FlipTitle and "Flip mod" Franimation commands
66 Travis Lambert BanLink default chat command channel
66 Henri Beauchamp Cool Diaper command channel
66 Corvan Nansen Chat Enhancer. In Character emotes.
69 Henri Beauchamp Cool Penis & Cool Pussy command channel
77 Marine Kelley Real Restraints and similar BDSM equipment
77 Xarrk Dagger KAIIA Systems devices default chat command channel
77 Mars Tamale Mars Ring
88 Cadroe Murphy Used by ShapeGen and other building tools
88 Corvan Nansen Chat Enhancer. Narration channel.
88 Sharie Criss Owners plugin for Marine Kelley's Real Restraint equipment. Chat command channel.
99 unknown Dance Bracelets
100 Mo Noel Channel used to ask the user for chat line entries from within usual dialog sessions
100-999 (Randomly chosen periodically) Corvan Nansen Ultimate Titler. Title setting channel.
777 Hank Ramos Universal Translator: channel to allow users to open a dialog-box using a chat command on channel #777. Only accepted command on this channel is "translator" and all other chat is ignored. Allows user to silently bring up dialog by hiding command as "/777 translator".
888 Xarrk Dagger KAIIA Systems device identification channel
2776 Tdub Dowler, Riden Blaisdale Used for transmitting a csv list of keys for use in sim wide radars
4123 - 4130 Lastro Greenwood Used by the Life Support System
9001, 908070 Mystical Cookie MystiTool gesture commands, patch installers
10748, -10748 Lee Ponzu Commonly used in scripts by Ponzu
31984 Coraa Prior ACME interface (combat system)
88225 Ana Imfinity Used by SLGI scripts
515001 Pae Sinister PaePaeBoom fireworks sequencer-to-launcher comm channel.

Known negative chat channels

Channel Creator Description Messages
-666 Dimentox Travanti DCS: Unit to Hud Status Update Channel
-786 Sly Sly's Modified Gear Communications Channel
-8888 Kyrah Abattoir LockMeister Communications Channel
-9119 Lillani Lowell LockGuard Communications Channel
-10xxx Ayelin Ethaniel Communication channel of ::Wild Pets:: systems. Commonly generated automatically between -10000 -10999.
-30000,-30001 Corvan Nansen Update station broadcast and coordination channels
-248177 Corvan Nansen Bane Custodian communications. Used by the Custodian to communicate with the Bane Hood.
-426956 Ganymede Ceriaptrix Ganymedia Open Metaverse Application Internetworking Protocol (OpenMAIP): Broadcast Communications Channel (MAIP_BROADCAST). Used for public OpenMAIP service discovery queries. Region-wide. See the Ganymedia OpenMAIP v1.0 Specification for further information.
-504xxx Gal Canning only whispered inter-prim communication
-888888 Henri Beauchamp Cool Hud communications channel
-1xxxxxx Corvan Nansen Update management channel for coordination between items to be updated and an update orb. Randomly chosen and temporary.
-2766532 Hank Ramos Universal Translator: "back-channel" for inter-translator communications. This is an encrypted channel that passes translation and command-control messages between translators that are linked together to spread the translation load and HTTP communications.
-20131224 Ratany Resident Default channel for Ratany fine Engineerings Device Interface Protocol
-42000000 Nexii Malthus OpenLayout collaborative edge snapping standard for HUDs
-828983023 Very Keynes VK-NET Public Channel for Inter Network Communication and Local Network Address Acquisition.
-1812221819 Marine Kelley RestrainedLove relay communications channel
-1192zzzxxx Asbrandt Resident Internal Comms range for all projects : Z = Integer Project ID - Use of X range varies : All Comms are Headered with the Project ID : Some further info on User Page.


Custom Damage Types

For reference here are the default damage types:

Flag Description
DAMAGE_TYPE_IMPACT −1 System damage generated by impact with terrain or a prim.
DAMAGE_TYPE_GENERIC 0 Generic or legacy damage.
DAMAGE_TYPE_ACID 1 Damage caused by a caustic substance, such as acid.
DAMAGE_TYPE_BLUDGEONING 2 Damage caused by a blunt object, such as a club.
DAMAGE_TYPE_COLD 3 Damage inflicted by exposure to extreme cold.
DAMAGE_TYPE_ELECTRIC 4 Damage caused by electricity.
DAMAGE_TYPE_FIRE 5 Damage inflicted by exposure to heat or flames.
DAMAGE_TYPE_FORCE 6 Damage inflicted by a great force or impact.
DAMAGE_TYPE_NECROTIC 7 Damage caused by a direct assault on life-force.
DAMAGE_TYPE_PIERCING 8 Damage caused by a piercing object such as a bullet, spear, or arrow.
DAMAGE_TYPE_POISON 9 Damage caused by poison.
DAMAGE_TYPE_PSYCHIC 10 Damage caused by a direct assault on the mind.
DAMAGE_TYPE_RADIANT 11 Damage caused by radiation or extreme light.
DAMAGE_TYPE_SLASHING 12 Damage caused by a slashing object such as a sword or axe.
DAMAGE_TYPE_SONIC 13 Damage caused by loud noises, like a Crash Worship concert.
DAMAGE_TYPE_EMOTIONAL 14

Damage types are provided as a convenience and a suggestion. Scripters are free to add custom ones for their own combat systems or repurpose the damage type fields.

To make it easy for the community to recognise and re-use custom damage types here is a table that scripters can add onto:

Flag Description Subtype Creator System
DAMAGE_TYPE_MEDICAL 100 Negative damage to heal a wound, damaged limb, first aid, etc. Intended for generic healing of biological nature. Positive damage would be medical malpractice Nexii Malthus Vertical Sim / SLMC
DAMAGE_TYPE_REPAIR 101 Negative damage from repairing an object or something mechanical, welding torch or wrench on a vehicle/robot/mech, etc. Positive damage can be due to mistakes, low skill or sabotage. Intended for generic healing of non-biological nature (e.g. a mechanical tank or an electrical system) Nexii Malthus Vertical Sim / SLMC
DAMAGE_TYPE_EXPLOSIVE 102 Damage caused by an explosive blast, like a grenade DAMAGE_TYPE_FORCE Nexii Malthus Vertical Sim / SLMC
DAMAGE_TYPE_CRUSHING 103 Damage caused by crushing. Such as being crushed by water pressure. More of a constant type of force damage — can be nullified/reduced via diving suit DAMAGE_TYPE_FORCE Nexii Malthus Vertical Sim / SLMC
DAMAGE_TYPE_ANTI_ARMOR 104 Damage caused by anti-tank/anti-armor. Such as from a specialised armor piercing shell, rocket or other munition DAMAGE_TYPE_PIERCING Nexii Malthus Vertical Sim / SLMC
DAMAGE_TYPE_SUFFOCATION 105 Damage caused by suffocation. Usually lacking a breathable atmosphere, such as from drowning or being in the vacuum of space Nexii Malthus Vertical Sim / SLMC