Difference between revisions of "Protocol"

From Second Life Wiki
Jump to navigation Jump to search
(Merged Protocol Documentation in to this page)
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.
Line 13: Line 12:
* [[:Category:Messages|All messages]] -- an alphabetical listing of all messages in the system
* [[:Category:Messages|All messages]] -- an alphabetical listing of all messages in the system


=== Communication with userserver ===
==Capabilities==
* [[Userserver Agent]] -- agent update information which alters userserver state.
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.
* [[Userserver Relay]] -- messages relayed between the back-end systems and the viewer.
 
* [[Capabilities]]
 
===LLSD===
The Linden Lab Structured Data system is an abstract way of representing data with some strong types. Three serialization formats are supported including binary, XML, and notation which are described in [[LLSD]].
 
==XML-RPC==
The initial exchange with the login server uses XML-RPC. This will likely change in the future as the login switches over to use web authentication, removing XML-RPC from the Second Life protocol entirely.
 
* [[Authentication Flow]]
 
=Protocol Systems=
==Animations==
==Appearance==
* [[Avatar Appearance]]
 
==Assets==
==Avatars==
==Directory Searches==
* [[:Category:Search Messages|Search Messages]]
 
==Estate Tools==
==Friends==
* [[:Category:Relationship Messages|Relationship Messages]]
 
==Grid==
==Groups==
* [[Group Messages]]
 
==Inventory==
* [[:Category:Inventory Messages|Inventory Messages]]
 
==Agent==
* [[:Category:Agent Messages|Agent Messages]]
* [[:Category:Money Messages|Money Messages]]
* [[:Category:Communication Messages|Communication Messages]]
* [[Buying Land and Currency]]
 
==Movement==
==Objects==
* [[:Category:Object Messages|Object Messages]]
 
==Images==
==Parcels==
* [[:Category:Parcel Messages|Parcel Messages]]
 
==Simulators==
* [[:Category:Region Messages|Region Messages]]
 
==Sounds==
==Terrain==
 


=== 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 ==
* [[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 ==
=File Formats=
=== Asset Files ===
==Asset Files==
{{All Asset Types}}
{{All Asset Types}}


=== Media Files ===
==Media Files==
==== Image format ====
===Image format===
* [http://en.wikipedia.org/wiki/Jpeg jpeg]
* [http://en.wikipedia.org/wiki/Jpeg jpeg]
* [http://en.wikipedia.org/wiki/Jpeg_2000 JPEG2000]
* [http://en.wikipedia.org/wiki/Jpeg_2000 JPEG2000]
Line 46: Line 80:
* [http://en.wikipedia.org/wiki/Windows_bitmap bmp (Windows bitmap)]
* [http://en.wikipedia.org/wiki/Windows_bitmap bmp (Windows bitmap)]


==== Audio ====
===Audio===
* wav files
* wav files


==== Animation ====
===Animation===
* [[BVH]] files for animations
* [[BVH]] files for animations


==== Linden Files ====
===Linden Files===
* raw files for uploading sim land information
* raw files for uploading sim land information
* LL DXT files
* LL DXT files


=== Miscellaneous Files ===
==Miscellaneous Files==
* [[Task Inventory]]
* [[Task Inventory]]
* [[Mute List]]
* [[Mute List]]

Revision as of 14:49, 2 October 2007

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.

LLSD

The Linden Lab Structured Data system is an abstract way of representing data with some strong types. Three serialization formats are supported including binary, XML, and notation which are described in LLSD.

XML-RPC

The initial exchange with the login server uses XML-RPC. This will likely change in the future as the login switches over to use web authentication, removing XML-RPC from the Second Life protocol entirely.

Protocol Systems

Animations

Appearance

Assets

Avatars

Directory Searches

Estate Tools

Friends

Grid

Groups

Inventory

Agent

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

Media Files

Image format

Audio

  • wav files

Animation

  • BVH files for animations

Linden Files

  • raw files for uploading sim land information
  • LL DXT files

Miscellaneous Files