Difference between revisions of "Protocol"

From Second Life Wiki
Jump to navigation Jump to search
(44 intermediate revisions by 14 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 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
* [[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
* [[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===
===Avatars===
===Channels and Versions===
* [[Channel]] - definition of a channel
** [[Channel and Version Requirements]] - Linden Lab policy on the use of channels.
===Directory Searches===
See [[:Category:Search Messages|Search Messages]].
===Estate Tools===
===Friends===
See:
* [[:Category:Relationship Messages|Relationship Messages]]
* [[Mute List]]
===Grid===
===Groups===
* [[Group Messages]]
===Inventory===
* [[:Category:Inventory Messages|Inventory Messages]]
* [[Inventory Capabilities]]
* [[Task Inventory]]
===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===


== Communication with userserver ==
==File Formats==
* [[Userserver Agent]] -- agent update information which alters userserver state.
===Asset Files===
* [[Userserver Relay]] -- messages relayed between the back-end systems and the viewer.
{{All Asset Types}}


== Communication with simulator ==
[[Category:Assets]]
* [[Simulator Agent]] -- agent movement, animation, appearance, etc.
* [[Simulator Inventory]] -- agent inventory and asset management.
* [[Simulator Money]] -- money queries and updates.
* [[Simulator Objects]] -- object and prim interaction.
* [[Simulator Parcels]] -- parcel and land management and interaction.
* [[Simulator Region]] -- interaction with the region, nearby regions, and movement between them.
* [[Simulator Communication]] -- chat, instant messages, and lsl script interaction.
* [[Simulator Groups]] -- joining, management, and group related messages.
* [[Simulator Relationships]] -- friends, granted rights, calling cards, and mute.
* [[Simulator Search]] -- access to global search services.

Revision as of 11:32, 29 October 2010

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

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