Difference between revisions of "Protocol"

From Second Life Wiki
Jump to navigation Jump to search
(→‎Communication with simulator: removed the need for the mostly broken redirects)
(Fix links.)
 
(20 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{OSWikiLearnBox}}
{{OSWikiLearnBox}}


In order to spot potential trouble spots, we want to have a pretty clear understanding of the UDP, TCP, and by-product communication between the client and the servers.
==Message Formats==
 
===Binary UDP===
== The UDP Message System ==
* [[Message Layout]] -- Explanation of message format and the message template  
* [[Message Layout]] -- Explanation of message format and the message template  
* [[Packet Layout]] -- the layout of the UDP payload.
* [[Packet Layout]] -- the layout of the UDP payload.
* [[Circuits]] -- Establishment and common operation of UDP circuits between two nodes
* [[Circuits]] -- Establishment and common operation of UDP circuits between two nodes
* [[Packet Accounting]] -- how the message system handles packet sequencing, reliability, suppression, throttling, etc.
* [[Packet Accounting]] -- how the message system handles packet sequencing, reliability, suppression, throttling, etc.
* [[Common Messages]] -- messages that are handled by every Indra message system instance.
* [[:Category:Common Messages|Common Messages]] -- messages that are handled by every Indra message system instance.
* [[Xfer Manager]] -- messages used by the <code>LLXFerManager</code> class.
* [[Xfer Manager]] -- messages used by the <code>LLXFerManager</code> class.
* [[Transfer Manager]] -- messages used by the <code>LLTransferManger</code> class.
* [[Transfer Manager]] -- messages used by the <code>LLTransferManger</code> class.
* [[:Category:Messages|All messages]] -- an alphabetical listing of all messages in the system
===Capabilities===
The Capabilities system allows viewers to request abilities and be temporarily granted those abilities through a unique URL. The transport format is LLSD XML, and clients can either post new events to CAPS URLs or wait for events to come from the server on the event queue connection the client holds open.
* [[Capabilities]]
* [[Message_System_and_Capabilities]]
Capabilities use the Linden Lab Structured Data system to represent data.
See [[LLSD]].
===XML-RPC===
Older releases of the official viewer used XML-RPC as part of the [[Login Protocol]]. The official viewer now uses a web based authentication protocol, however non-official viewers may still use XML-RPC for login.
See also [[Authentication Flow]].
==Protocol Systems==
===Animations===
See [[Internal Animation Format]].
===Appearance===
See [[Avatar Appearance]].
===Assets===


=== Communication with userserver ===
===Avatars===
* [[Userserver Agent]] -- agent update information which alters userserver state.
* [[Userserver Relay]] -- messages relayed between the back-end systems and the viewer.


=== Communication with simulator ===
* [[:Category:Agent Messages|Agent Messages]] -- agent movement, animation, appearance, etc.
* [[:Category:Inventory Messages|Inventory Messages]] -- agent inventory and asset management.
* [[:Category:Money Messages|Money Messages]] -- money queries and updates.
* [[:Category:Object Messages|Object Messages]] -- object and prim interaction.
* [[:Category:Parcel Messages|Parcel Messages]] -- parcel and land management and interaction.
* [[:Category:Region Messages|Region Messages]] -- interaction with the region, nearby regions, and movement between them.
* [[:Category:Communication Messages|Communication Messages]] -- chat, instant messages, and lsl script interaction.
* [[Group Messages]] -- joining, management, and group related messages.
* [[:Category:Relationship Messages|Relationship Messages]] -- friends, granted rights, calling cards, and mute.
* [[:Category:Search Messages|Search Messages]] -- access to global search services.
* [[Avatar Appearance]] -- messages controlling avatar appearance


== XMLRPC Transactions ==
===Channels and Versions===
* [[Authentication Flow]] -- step-by-step diagram of login process
* [[Buying Land and Currency]] -- viewer side purchasing of land and currency.
* [[Capabilities]] -- authorization requests


== File Formats ==
* [[Channel]] - definition of a channel
=== Asset Files ===
** [[Channel and Version Requirements]] - Linden Lab policy on the use of channels.
* [[Textures]]
* [[Sounds]]
* [[Landmarks]]
* [[Notecards]]
* [[LSL Text]]
* [[LSL Bytecode]]
* [[Bodypart]]
* [[Animations]]
* [[Gestures]]


=== Media Files ===
===Directory Searches===
==== Image format ====
See [[:Category:Search Messages|Search Messages]].
* [http://en.wikipedia.org/wiki/Jpeg jpeg]
* [http://en.wikipedia.org/wiki/Jpeg_2000 JPEG2000]
* [http://en.wikipedia.org/wiki/Truevision_TGA tga (Truevision targa)]
* [http://en.wikipedia.org/wiki/Windows_bitmap bmp (Windows bitmap)]


==== Audio ====
===Estate Tools===
* wav files
===Friends===
==== Animation ====
See:
* [[BVH]] files for animations
* [[:Category:Relationship Messages|Relationship Messages]]
* [[Mute List]]


==== Linden Files ====
===Grid===
* raw files for uploading sim land information
===Groups===
* LL DXT files
* [[Group Messages]]


=== Miscellaneous Files ===
===Inventory===
* [[:Category:Inventory Messages|Inventory Messages]]
* [[Inventory Capabilities]]
* [[Task Inventory]]
* [[Task Inventory]]
* [[Mute List]]
 
===Agent===
* [[:Category:Agent Messages|Agent Messages]]
* [[:Category:Money Messages|Money Messages]]
* [[:Category:Communication Messages|Communication Messages]]
* [[Buying Land and Currency]]
===Login===
* [[Login_Protocol|Login]]
 
===Movement===
===Objects===
* [[:Category:Object Messages|Object Messages]]
 
===Images===
===Parcels===
* [[:Category:Parcel Messages|Parcel Messages]]
 
===Simulators===
* [[:Category:Region Messages|Region Messages]]
 
===Sounds===
===Terrain===
 
===Protocol Sequence Diagrams===
* [[Login sequence]]
* [[Adding neighbor region sequence]]
* [[Disconnecting neighbor region sequence]]
* [[Teleport to distant region sequence]]
* [[Teleport to visible region sequence]]
* [[Region crossing sequence]]
 
==File Formats==
===Asset Files===
{{All Asset Types}}
 
[[Category:Assets]]

Latest revision as of 17:31, 6 September 2023

Message Formats

Binary UDP

  • Message Layout -- Explanation of message format and the message template
  • Packet Layout -- the layout of the UDP payload.
  • Circuits -- Establishment and common operation of UDP circuits between two nodes
  • Packet Accounting -- how the message system handles packet sequencing, reliability, suppression, throttling, etc.
  • Common Messages -- messages that are handled by every Indra message system instance.
  • Xfer Manager -- messages used by the LLXFerManager class.
  • Transfer Manager -- messages used by the LLTransferManger class.
  • All messages -- an alphabetical listing of all messages in the system

Capabilities

The Capabilities system allows viewers to request abilities and be temporarily granted those abilities through a unique URL. The transport format is LLSD XML, and clients can either post new events to CAPS URLs or wait for events to come from the server on the event queue connection the client holds open.

Capabilities use the Linden Lab Structured Data system to represent data. See LLSD.

XML-RPC

Older releases of the official viewer used XML-RPC as part of the Login Protocol. The official viewer now uses a web based authentication protocol, however non-official viewers may still use XML-RPC for login.

See also Authentication Flow.

Protocol Systems

Animations

See Internal Animation Format.

Appearance

See Avatar Appearance.

Assets

Avatars

Channels and Versions

Directory Searches

See Search Messages.

Estate Tools

Friends

See:

Grid

Groups

Inventory

Agent

Login

Movement

Objects

Images

Parcels

Simulators

Sounds

Terrain

Protocol Sequence Diagrams

File Formats

Asset Files

Files Types known by the asset system
Reference extension id mime type LSL
Textures texture 0 image/x-j2c INVENTORY_TEXTURE
Sounds sound 1 application/ogg INVENTORY_SOUND
Calling_Card callingcard 2 application/vnd.ll.callingcard
Landmarks landmark 3 application/vnd.ll.landmark INVENTORY_LANDMARK
Clothing clothing 5 application/vnd.ll.clothing INVENTORY_CLOTHING
Primitive primitive 6 application/vnd.ll.primitive INVENTORY_OBJECT
Notecards notecard 7 application/vnd.ll.notecard INVENTORY_NOTECARD
LSL Text lsltext 10 application/vnd.ll.lsltext INVENTORY_SCRIPT
LSL Bytecode lslbyte 11 application/vnd.ll.lslbyte
Bodypart bodypart 13 application/vnd.ll.bodypart INVENTORY_BODYPART
Animations animatn 20 application/vnd.ll.animation INVENTORY_ANIMATION
Gestures gesture 21 application/vnd.ll.gesture INVENTORY_GESTURE
Asset Wrapper asset unassigned application/vnd.ll.asset