Difference between revisions of "Protocol"

From Second Life Wiki
Jump to navigation Jump to search
(33 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, 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
* [[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===


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


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


== XMLRPC Transactions ==
* [[Channel]] - definition of a channel
* [[Authentication Flow]] -- step-by-step diagram of login process
** [[Channel and Version Requirements]] - Linden Lab policy on the use of channels.
* [[Buying Land and Currency]] -- viewer side purchasing of land and currency.


== File Formats ==
===Directory Searches===
=== Asset Files ===
See [[:Category:Search Messages|Search Messages]].
* [[Textures]]
* [[Sounds]]
* [[Landmarks]]
* [[Notecards]]
* [[LSL Text]]
* [[LSL Bytecode]]
* [[Bodypart]]
* [[Animations]]
* [[Gestures]]


=== Media Files ===
===Estate Tools===
==== Image format ====
===Friends===
* jpeg
See:
* targa
* [[:Category:Relationship Messages|Relationship Messages]]
* bmp for
* [[Mute List]]
==== Audio ====
* wav files
==== Animation ====
* bvh files for animations
==== Linden Files ====
* raw files for uploading sim land information
* LL DXT files


=== Miscellaneous Files ===
===Grid===
===Groups===
* [[Group Messages]]
 
===Inventory===
* [[:Category:Inventory Messages|Inventory Messages]]
* [[Inventory Capabilities]]
* [[Task Inventory]]
* [[Task Inventory]]
* [[Must 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===
 
 
==File Formats==
===Asset Files===
{{All Asset Types}}
 
[[Category:Assets]]

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