SimulatorLoginProtocol

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Details)
m (References: added link to ULM diagram of SL login sequence)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
{{Languages|SimulatorLoginProtocol}}
 
(This page is a work in progress)
 
(This page is a work in progress)
  
Line 29: Line 30:
 
The viewer connects directly to the simulator and is authenticated using the circuit code.
 
The viewer connects directly to the simulator and is authenticated using the circuit code.
  
== Details ==
+
== Example XML-RPC Call ==
  
 
The simulator exposes an XML-RPC method called login_to_simulator at the loginuri URL.  This takes a number of parameters from the viewer.  Here's an example call.
 
The simulator exposes an XML-RPC method called login_to_simulator at the loginuri URL.  This takes a number of parameters from the viewer.  Here's an example call.
Line 180: Line 181:
 
</source>
 
</source>
  
The parameters are as follows
+
== XML-RPC Call Parameters ==
 +
 
 +
Required Parameters
  
 
* '''first''' - First name of the user.
 
* '''first''' - First name of the user.
Line 186: Line 189:
 
* '''passwd''' - MD5 hash of the user's password with the string "$1$" prepended.
 
* '''passwd''' - MD5 hash of the user's password with the string "$1$" prepended.
 
* '''start''' - The region in which the user should start upon login.  This is one of
 
* '''start''' - The region in which the user should start upon login.  This is one of
** "home" - start in the user's home location.
+
** "home" - start in the user's home location
** "last" - start in the location from which the user last logged out.
+
** "last" - start in the location from which the user last logged out
 
** A specific location.  This is in the format "uri:<region-name>&amp;<x-coord>&amp;<y-coord>&amp;<z-coord>".  For instance, the string "uri:test&amp;128&amp;128&amp;0" above signals that the user should login to the center of the region named test (the avatar is placed on the ground if given a z-coordinate below terrain).
 
** A specific location.  This is in the format "uri:<region-name>&amp;<x-coord>&amp;<y-coord>&amp;<z-coord>".  For instance, the string "uri:test&amp;128&amp;128&amp;0" above signals that the user should login to the center of the region named test (the avatar is placed on the ground if given a z-coordinate below terrain).
* '''version''' - Version number of the viewer/client connecting.
 
 
* '''channel''' - Name of the viewer/client connecting.
 
* '''channel''' - Name of the viewer/client connecting.
* '''platform''' - Probably the platform of the client/viewer.  Currently ignored by OpenSimulator. This is probably not particularly important anyway - Singularity 1.8.5.5617, for instance, has this set to "Win" even on the Linux platform.
+
* '''version''' - Version number of the viewer/client connecting.
 +
* '''platform''' - ('''Lin''','''Mac''','''Win''').  Currently ignored by OpenSimulator.
 +
* '''platform_string''' - The operating system description/version (e.g. 'Linux 5.8', 'Fedora 32', etc)
 +
* '''platform_version'''
 
* '''mac''' - MAC address of the network card used by the client/viewer to make the connection.
 
* '''mac''' - MAC address of the network card used by the client/viewer to make the connection.
* '''id0''' - A GUID. Function unknown. Currently unused by OpenSimulator.
+
* '''id0''' - A hardware hash based on the serial number of user's first hard drive. Used by Second Life to uniquely identify computers and track users. Currently unused by OpenSimulator.
* '''skipoptional''' - A boolean. Function unknown. Currently unused by OpenSimulator.
+
* '''agree_to_tos''' - Boolean ('''true'''|'''false'''). Has user agreed to terms of service on Second Life. Currently unused by OpenSimulator.
 +
* '''read_critical''' - Boolean ('''true'''|'''false'''). Has user read terms of service and other or other docs on Second Life. Currently unused by OpenSimulator.
 +
* '''viewer_digest''' - MD5 hash of the viewer executable. Currently unused by OpenSimulator.
 +
* '''address_size'''
 +
* '''extended_errors'''
 
* '''last_exec_event''' - An integer.  Function unknown.  Currently unused by OpenSimulator.
 
* '''last_exec_event''' - An integer.  Function unknown.  Currently unused by OpenSimulator.
* '''options''' - A list of strings.  Function unknown, though probably used in many cases to control the data sent back by the login service. Currently unused by OpenSimulator which just sends back all data every time.
+
* '''last_exec_duration'''
 +
* '''skipoptional''' - Boolean ('''true'''|'''false''').  Skip options?  Currently unused by OpenSimulator.
 +
* '''options''' - A list of strings.  Function unknown, probably used to control data sent back by the login service. Currently unused by OpenSimulator which sends back all data every time.
 +
 
 +
 
 +
Option Parameters (currently unused by OpenSimulator)
 +
 
 +
* '''adult_compliant'''
 +
* '''advanced_mode'''
 +
* '''avatar_picker_url'''
 +
* '''buddy-list'''
 +
* '''classified_categories'''
 +
* '''currency'''
 +
* '''destination_guide_url'''
 +
* '''display_names'''
 +
* '''event_categories'''
 +
* '''event_notifications'''
 +
* '''gestures'''
 +
* '''global-textures'''
 +
* '''inventory-root'''
 +
* '''inventory-skeleton'''
 +
* '''inventory-lib-root'''
 +
* '''inventory-lib-owner'''
 +
* '''inventory-skel-lib'''
 +
* '''login-flags'''
 +
* '''max-agent-groups'''
 +
* '''max_groups'''
 +
* '''map-server-url'''
 +
* '''newuser-config'''
 +
* '''search'''
 +
* '''tutorial_setting'''
 +
* '''ui-config'''
 +
* '''voice-config'''
 +
 
 +
For more documentation on the option parameters see the [http://wiki.secondlife.com/wiki/Current_login_protocols#Optional_Response|Optional Responses] in the Second Life wiki
 +
 
 +
== Example XML-RPC Response ==
  
Here's an example response to the example call above.
+
Here's an example response to the example call above.  If you are looking to use this information in code, I recommend that you start by using only the parameters that you actually need.  There are likely many parameters here that are historical and actually no longer or never used by viewers (and which one day should be cleaned up).
  
 
<source lang='xml'>
 
<source lang='xml'>
Line 2,830: Line 2,875:
 
</methodResponse>
 
</methodResponse>
 
</source>
 
</source>
 +
 +
== XML-RPC Response Parameters ==
  
 
The parameters are as follows:
 
The parameters are as follows:
Line 2,838: Line 2,885:
 
** look_at is the direction the avatar should be facing.  This is a unit vector so (0, 1, 0) is facing straight north, (1, 0, 0) is east, (0,-1, 0) is south and (-1, 0, 0) is west.
 
** look_at is the direction the avatar should be facing.  This is a unit vector so (0, 1, 0) is facing straight north, (1, 0, 0) is east, (0,-1, 0) is south and (-1, 0, 0) is west.
 
* '''look_at''' - The direction in which the avatar should be facing upon login.  This is a unit vector so (0, 1, 0) is facing straight north, (1, 0, 0) is east, (0,-1, 0) is south and (-1, 0, 0) is west.
 
* '''look_at''' - The direction in which the avatar should be facing upon login.  This is a unit vector so (0, 1, 0) is facing straight north, (1, 0, 0) is east, (0,-1, 0) is south and (-1, 0, 0) is west.
* '''agent_access_max''' - The maximum level of region that user can access.  OpenSimulator currently always sets this to "A" (probably adult).
+
* '''agent_access''' - The current maturity access level of the user.  OpenSimulator currently always sets this to "M" (probably mature).  Probably unused.
 +
* '''agent_access_max''' - The maximum level of region that user can access.  OpenSimulator currently always sets this to "A" (probably adult).  Probably unused.
 
* '''seed_capability''' - The URL that the viewer should use to request further [[capabilities]].
 
* '''seed_capability''' - The URL that the viewer should use to request further [[capabilities]].
* '''first_name''' - First name of the logged in user.
+
* '''first_name''' - First name of this user.
 +
* '''last_name''' - Last name of this user.
 +
* '''agent_id''' - The ID of this user.
 
* '''sim_ip''' - The IP to use to communicate with the receiving simulator.
 
* '''sim_ip''' - The IP to use to communicate with the receiving simulator.
 
* '''sim_port''' - The UDP port to use to communicate with the receiving simulator.
 
* '''sim_port''' - The UDP port to use to communicate with the receiving simulator.
Line 2,850: Line 2,900:
 
* '''region_size_y''' - The y size of the start region in meters.  Usually this will be 256 but with a [[varregion]] this can be a multiple of 256.
 
* '''region_size_y''' - The y size of the start region in meters.  Usually this will be 256 but with a [[varregion]] this can be a multiple of 256.
 
* '''circuit_code''' - Circuit code to use for all UDP connections.
 
* '''circuit_code''' - Circuit code to use for all UDP connections.
* '''session_id''' - UUID of this session.
+
* '''session_id''' - The UUID of this session.
 +
* '''secure_session_id''' - The secure UUID of this session.
 
* '''inventory-root''' - The ID of the user's root folder (which appears as the "My Inventory" folder in most viewers).
 
* '''inventory-root''' - The ID of the user's root folder (which appears as the "My Inventory" folder in most viewers).
 
* '''inventory-skeleton''' - Details about the child folders of the root folder.  Each entry has the following parameters.
 
* '''inventory-skeleton''' - Details about the child folders of the root folder.  Each entry has the following parameters.
Line 2,870: Line 2,921:
 
** asset_id - The asset ID of the gesture.
 
** asset_id - The asset ID of the gesture.
 
* '''initial-outfit''' - You would think this would correspond to user's initial outfit.  However, OpenSimulator always sends back an entry with folder_name "Nightclub Female" and gender "female" with no obvious ill effect.  Can probably be ignored.
 
* '''initial-outfit''' - You would think this would correspond to user's initial outfit.  However, OpenSimulator always sends back an entry with folder_name "Nightclub Female" and gender "female" with no obvious ill effect.  Can probably be ignored.
 +
* '''global-textures''' - Unknown if this is used any longer.  OpenSimulator always sets
 +
** cloud_texture_id as dc4b9f0b-d008-45c6-96a4-01dd947ac621.
 +
** sun_texture_id as cce0f112-878f-4586-a2e2-a8f104bba271.
 +
** moon_texture_id as ec4b9f0b-d008-45c6-96a4-01dd947ac621.
 +
* '''login''' - Function unknown.  OpenSimulator always sets this to "true".
 
* '''login-flags''' - Some extra information about login.  Of these
 
* '''login-flags''' - Some extra information about login.  Of these
 
** stipend_since_login - probably shows whether a user received stipend money since their last login.  OpenSimulator always sets this to "N".
 
** stipend_since_login - probably shows whether a user received stipend money since their last login.  OpenSimulator always sets this to "N".
Line 2,900: Line 2,956:
 
== References ==
 
== References ==
  
http://justincc.org/blog/2011/05/26/opensimulators-login-process-and-common-login-problems/ provides some diagrams that illustrate the login process.
+
[https://web.archive.org/web/20160728124132/http://justincc.org/blog/2011/05/26/opensimulators-login-process-and-common-login-problems/ OpenSimulator’s login process and common login problems] - Blog post with diagrams that illustrate the login process.
 +
 
 +
[http://wiki.secondlife.com/wiki/File:Second_LIfe_Login_UML2.png Second Life Login ULM Sequence Diagram]

Latest revision as of 18:25, 20 September 2020

(This page is a work in progress)

Contents

[edit] Process

There are 4 basic steps to the viewer login process.

[edit] Step 1

The viewer contacts the grid login service. On a viewer, this can be specified by the -loginuri command line switch or by picking a grid in the grid manager of a viewer that provides this.

The viewer sends an XMLRPC login_to_simulator message to the loginuri. This provides

  • "first" - User first name
  • "last" - User last name
  • "passwd" - Hashed password
  • "version" - Viewer version
  • "start" - Start location. If "home" then the user's home location, "last" is the user's location on previous logout. Start can also be a named region and location (see data section below for more information on this).

[edit] Step 2

If the user is authenticated, the simulator at which they want to start is contacted and told that they are coming. It is passed a circuit code for that viewer.

[edit] Step 3

If the simulator will accept the user, then the user is passed the details of this simulator (chiefly the URI to use, as well as the circuit code).

[edit] Step 4

The viewer connects directly to the simulator and is authenticated using the circuit code.

[edit] Example XML-RPC Call

The simulator exposes an XML-RPC method called login_to_simulator at the loginuri URL. This takes a number of parameters from the viewer. Here's an example call.

<?xml version="1.0"?>
<methodCall>
  <methodName>login_to_simulator</methodName>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>first</name>
            <value>
              <string>Justin</string>
            </value>
          </member>
          <member>
            <name>last</name>
            <value>
              <string>Clark-Casey</string>
            </value>
          </member>
          <member>
            <name>passwd</name>
            <value>
              <string>$1$f7583d0d-5b61-4729-91d0-6dd9a8bfc923</string>
            </value>
          </member>
          <member>
            <name>start</name>
            <value>
              <string>uri:test&amp;128&amp;128&amp;0</string>
            </value>
          </member>
          <member>
            <name>version</name>
            <value>
              <string>1.8.5.5617</string>
            </value>
          </member>
          <member>
            <name>channel</name>
            <value>
              <string>Singularity Release 64</string>
            </value>
          </member>
          <member>
            <name>platform</name>
            <value>
              <string>Win</string>
            </value>
          </member>
          <member>
            <name>mac</name>
            <value>
              <string>fcec27eea5713b37d492bfa1c54d0fdf</string>
            </value>
          </member>
          <member>
            <name>id0</name>
            <value>
              <string>dda45b4a650be300c0c9746c6d70e57a</string>
            </value>
          </member>
          <member>
            <name>skipoptional</name>
            <value>
              <string>true</string>
            </value>
          </member>
          <member>
            <name>last_exec_event</name>
            <value>
              <int>0</int>
            </value>
          </member>
          <member>
            <name>options</name>
            <value>
              <array>
                <data>
                  <value>
                    <string>inventory-root</string>
                  </value>
                  <value>
                    <string>inventory-skeleton</string>
                  </value>
                  <value>
                    <string>inventory-lib-root</string>
                  </value>
                  <value>
                    <string>inventory-lib-owner</string>
                  </value>
                  <value>
                    <string>inventory-skel-lib</string>
                  </value>
                  <value>
                    <string>initial-outfit</string>
                  </value>
                  <value>
                    <string>gestures</string>
                  </value>
                  <value>
                    <string>event_categories</string>
                  </value>
                  <value>
                    <string>event_notifications</string>
                  </value>
                  <value>
                    <string>classified_categories</string>
                  </value>
                  <value>
                    <string>adult_compliant</string>
                  </value>
                  <value>
                    <string>buddy-list</string>
                  </value>
                  <value>
                    <string>ui-config</string>
                  </value>
                  <value>
                    <string>max_groups</string>
                  </value>
                  <value>
                    <string>max-agent-groups</string>
                  </value>
                  <value>
                    <string>map-server-url</string>
                  </value>
                  <value>
                    <string>tutorial_setting</string>
                  </value>
                  <value>
                    <string>login-flags</string>
                  </value>
                  <value>
                    <string>global-textures</string>
                  </value>
                </data>
              </array>
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodCall>

[edit] XML-RPC Call Parameters

Required Parameters

  • first - First name of the user.
  • last - Last name of the user.
  • passwd - MD5 hash of the user's password with the string "$1$" prepended.
  • start - The region in which the user should start upon login. This is one of
    • "home" - start in the user's home location
    • "last" - start in the location from which the user last logged out
    • A specific location. This is in the format "uri:<region-name>&<x-coord>&<y-coord>&<z-coord>". For instance, the string "uri:test&128&128&0" above signals that the user should login to the center of the region named test (the avatar is placed on the ground if given a z-coordinate below terrain).
  • channel - Name of the viewer/client connecting.
  • version - Version number of the viewer/client connecting.
  • platform - (Lin,Mac,Win). Currently ignored by OpenSimulator.
  • platform_string - The operating system description/version (e.g. 'Linux 5.8', 'Fedora 32', etc)
  • platform_version
  • mac - MAC address of the network card used by the client/viewer to make the connection.
  • id0 - A hardware hash based on the serial number of user's first hard drive. Used by Second Life to uniquely identify computers and track users. Currently unused by OpenSimulator.
  • agree_to_tos - Boolean (true|false). Has user agreed to terms of service on Second Life. Currently unused by OpenSimulator.
  • read_critical - Boolean (true|false). Has user read terms of service and other or other docs on Second Life. Currently unused by OpenSimulator.
  • viewer_digest - MD5 hash of the viewer executable. Currently unused by OpenSimulator.
  • address_size
  • extended_errors
  • last_exec_event - An integer. Function unknown. Currently unused by OpenSimulator.
  • last_exec_duration
  • skipoptional - Boolean (true|false). Skip options? Currently unused by OpenSimulator.
  • options - A list of strings. Function unknown, probably used to control data sent back by the login service. Currently unused by OpenSimulator which sends back all data every time.


Option Parameters (currently unused by OpenSimulator)

  • adult_compliant
  • advanced_mode
  • avatar_picker_url
  • buddy-list
  • classified_categories
  • currency
  • destination_guide_url
  • display_names
  • event_categories
  • event_notifications
  • gestures
  • global-textures
  • inventory-root
  • inventory-skeleton
  • inventory-lib-root
  • inventory-lib-owner
  • inventory-skel-lib
  • login-flags
  • max-agent-groups
  • max_groups
  • map-server-url
  • newuser-config
  • search
  • tutorial_setting
  • ui-config
  • voice-config

For more documentation on the option parameters see the Responses in the Second Life wiki

[edit] Example XML-RPC Response

Here's an example response to the example call above. If you are looking to use this information in code, I recommend that you start by using only the parameters that you actually need. There are likely many parameters here that are historical and actually no longer or never used by viewers (and which one day should be cleaned up).

<?xml version="1.0" encoding="utf-8"?>
<methodResponse>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>home</name>
            <value>
              <string>{'region_handle':[r256000,r256000], 'position':[r50,r100,r200], 'look_at':[r1,r0,r0]}</string>
            </value>
          </member>
          <member>
            <name>look_at</name>
            <value>
              <string>[r0.171732,r0.9851437,r0]</string>
            </value>
          </member>
          <member>
            <name>agent_access_max</name>
            <value>
              <string>A</string>
            </value>
          </member>
          <member>
            <name>seed_capability</name>
            <value>
              <string>http://192.168.1.2:9000/CAPS/da4b15ea-1d97-4140-afe3-2dd1ce5560710000/</string>
            </value>
          </member>
          <member>
            <name>region_x</name>
            <value>
              <i4>256000</i4>
            </value>
          </member>
          <member>
            <name>region_y</name>
            <value>
              <i4>256000</i4>
            </value>
          </member>
          <member>
            <name>circuit_code</name>
            <value>
              <i4>697482820</i4>
            </value>
          </member>
          <member>
            <name>inventory-root</name>
            <value>
              <array>
                <data>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                    </struct>
                  </value>
                </data>
              </array>
            </value>
          </member>
          <member>
            <name>login-flags</name>
            <value>
              <array>
                <data>
                  <value>
                    <struct>
                      <member>
                        <name>stipend_since_login</name>
                        <value>
                          <string>N</string>
                        </value>
                      </member>
                      <member>
                        <name>ever_logged_in</name>
                        <value>
                          <string>Y</string>
                        </value>
                      </member>
                      <member>
                        <name>daylight_savings</name>
                        <value>
                          <string>Y</string>
                        </value>
                      </member>
                      <member>
                        <name>gendered</name>
                        <value>
                          <string>Y</string>
                        </value>
                      </member>
                    </struct>
                  </value>
                </data>
              </array>
            </value>
          </member>
          <member>
            <name>message</name>
            <value>
              <string>Welcome, Avatar!</string>
            </value>
          </member>
          <member>
            <name>inventory-lib-root</name>
            <value>
              <array>
                <data>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                    </struct>
                  </value>
                </data>
              </array>
            </value>
          </member>
          <member>
            <name>first_name</name>
            <value>
              <string>Justin</string>
            </value>
          </member>
          <member>
            <name>ui-config</name>
            <value>
              <array>
                <data>
                  <value>
                    <struct>
                      <member>
                        <name>allow_first_life</name>
                        <value>
                          <string>Y</string>
                        </value>
                      </member>
                    </struct>
                  </value>
                </data>
              </array>
            </value>
          </member>
          <member>
            <name>event_categories</name>
            <value>
              <array>
                <data/>
              </array>
            </value>
          </member>
          <member>
            <name>classified_categories</name>
            <value>
              <array>
                <data>
                  <value>
                    <struct>
                      <member>
                        <name>category_name</name>
                        <value>
                          <string>Shopping</string>
                        </value>
                      </member>
                      <member>
                        <name>category_id</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>category_name</name>
                        <value>
                          <string>Land Rental</string>
                        </value>
                      </member>
                      <member>
                        <name>category_id</name>
                        <value>
                          <i4>2</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>category_name</name>
                        <value>
                          <string>Property Rental</string>
                        </value>
                      </member>
                      <member>
                        <name>category_id</name>
                        <value>
                          <i4>3</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>category_name</name>
                        <value>
                          <string>Special Attraction</string>
                        </value>
                      </member>
                      <member>
                        <name>category_id</name>
                        <value>
                          <i4>4</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>category_name</name>
                        <value>
                          <string>New Products</string>
                        </value>
                      </member>
                      <member>
                        <name>category_id</name>
                        <value>
                          <i4>5</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>category_name</name>
                        <value>
                          <string>Employment</string>
                        </value>
                      </member>
                      <member>
                        <name>category_id</name>
                        <value>
                          <i4>6</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>category_name</name>
                        <value>
                          <string>Wanted</string>
                        </value>
                      </member>
                      <member>
                        <name>category_id</name>
                        <value>
                          <i4>7</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>category_name</name>
                        <value>
                          <string>Service</string>
                        </value>
                      </member>
                      <member>
                        <name>category_id</name>
                        <value>
                          <i4>8</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>category_name</name>
                        <value>
                          <string>Personal</string>
                        </value>
                      </member>
                      <member>
                        <name>category_id</name>
                        <value>
                          <i4>9</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                </data>
              </array>
            </value>
          </member>
          <member>
            <name>seconds_since_epoch</name>
            <value>
              <i4>1411075065</i4>
            </value>
          </member>
          <member>
            <name>inventory-skeleton</name>
            <value>
              <array>
                <data>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>004d663b-9980-46ae-8559-bb60e9d67d28</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>5cb09cb9-5080-4bf4-8ba0-86b6197fcc74</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Camera Test</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>-1</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>2</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>011a8b68-b4d9-47ea-b023-c519b1db8946</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Current Outfit</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>46</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>046b1797-5552-4375-93d9-50849bca87dd</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Animations</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>20</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>06753608-f89c-c20b-0244-e99fe6c09c5b</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>25861b47-97db-ed70-86b7-ad4aa5bcc16a</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>All</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>2</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>2</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>12a57fa9-d1a1-45eb-accb-5b4861dfaa0d</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Notecards</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>7</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>21ad8f1f-d6f8-480e-8b58-d5cf4d2b3fc2</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Lost And Found</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>16</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>25861b47-97db-ed70-86b7-ad4aa5bcc16a</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>f2821449-9d7d-4bc4-adb1-7058dac1c63f</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Friends</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>2</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>2</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>2a0516f8-937f-462d-92c7-6662543ba515</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Textures</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>0</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>2d186de7-ba32-5087-217e-d0cc39e9938c</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Current Outfit</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>46</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>49</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>2f28be55-5d23-56b3-f098-978c376f4755</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>fd5bad85-ac24-f5c5-6c52-04dee026faeb</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>#AO</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>-1</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000000-0000-0000-0000-000000000000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>My Inventory</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>9</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>19</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>3fed208b-122a-42de-b22d-b536c741ce8e</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Notecards</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>7</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>5cb09cb9-5080-4bf4-8ba0-86b6197fcc74</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Objects</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>6</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>47</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>5fefc6a1-406a-401c-b086-b01febd33818</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Textures</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>0</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>2</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>603a7df0-e1b7-4985-9a59-c5ddadbd3843</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Calling Cards</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>2</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>2</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>64d429e0-1436-45e5-9fcf-8eab3a0c9b79</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Objects</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>6</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>3</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>66903e66-bb68-4949-8051-887e84161ee9</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Favorites</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>23</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>784dbfcd-74fa-4985-ae00-260dea2d40bb</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Clothing</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>5</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>3</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>7d044355-fa12-4467-b8d3-5ae1303eb7e6</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Gestures</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>21</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>7ff30412-fcdd-443d-816c-fab3d3ad30fa</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Lost And Found</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>16</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>My Suitcase</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>8</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>17</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>850fdfee-8a46-db99-578d-644953d4314a</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Favorites</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>23</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>8c4a959f-1eca-41dc-baab-99410f7f882e</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Trash</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>14</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>63</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>97cc95a1-c461-49d4-92b4-697ff6df8ca7</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Scripts</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>10</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>10</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>a37421eb-0fd4-46c0-b563-38e79975fa97</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Landmarks</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>3</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>4</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>a4fc58a0-5bec-417a-84a8-e192dc20457c</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Trash</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>14</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>c7084808-79fe-4f74-82c9-8d6cd1f172ab</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Body Parts</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>13</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>33</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>ce71217a-67cf-4f0f-980a-c0ea47b19896</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Body Parts</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>13</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>cebd40c2-6543-4ff3-b1f8-c478409820dc</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Sounds</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>cff574b0-e7fb-4f07-81f2-745afb9b2a79</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Landmarks</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>3</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>d97674ab-3acc-4b2c-9cc8-c193332a1167</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Clothing</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>5</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>dd0d5bda-1a68-48ed-a8e5-fdd59618758c</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>5cb09cb9-5080-4bf4-8ba0-86b6197fcc74</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Alien 1b</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>-1</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>28</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>de152023-6383-43ae-ba6a-3f736d41f588</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Gestures</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>21</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>df67809c-bd2f-4b1f-aa72-33b7816faae9</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Sounds</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>e9850612-0ebc-4b65-97b1-26ea5bc8cde9</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>5cb09cb9-5080-4bf4-8ba0-86b6197fcc74</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>OKC Racer Kit v0.186X</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>-1</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>13</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>ec6ebd81-c62a-4715-ad33-b2db49dc13c4</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Scripts</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>10</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>ef4a9f8c-7835-4a3c-9ebe-cc313bd263d0</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Photo Album</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>15</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>f2821449-9d7d-4bc4-adb1-7058dac1c63f</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Calling Cards</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>2</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>4</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>f37b1f72-7a9d-4bbd-9532-203c769731e6</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Photo Album</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>15</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>fd5bad85-ac24-f5c5-6c52-04dee026faeb</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>37c4cfe3-ea39-4ef7-bda3-bee73bd46d95</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>#Firestorm</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>-1</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>feacf8b1-5617-416c-b508-1b9049a6bff3</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>82d978e0-8892-4be1-a1f2-10dce0091021</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Animations</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>20</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                </data>
              </array>
            </value>
          </member>
          <member>
            <name>sim_ip</name>
            <value>
              <string>192.168.1.2</string>
            </value>
          </member>
          <member>
            <name>map-server-url</name>
            <value>
              <string>http://192.168.1.2:8002/</string>
            </value>
          </member>
          <member>
            <name>buddy-list</name>
            <value>
              <array>
                <data>
                  <value>
                    <struct>
                      <member>
                        <name>buddy_id</name>
                        <value>
                          <string>04c259b7-94bc-4822-b099-745191ffc247</string>
                        </value>
                      </member>
                      <member>
                        <name>buddy_rights_given</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                      <member>
                        <name>buddy_rights_has</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>buddy_id</name>
                        <value>
                          <string>c87dfbb1-2c7b-4335-9042-9c2a375625fd</string>
                        </value>
                      </member>
                      <member>
                        <name>buddy_rights_given</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                      <member>
                        <name>buddy_rights_has</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>buddy_id</name>
                        <value>
                          <string>fb5f2e30-c264-4e9d-99fb-83340b14cc4f</string>
                        </value>
                      </member>
                      <member>
                        <name>buddy_rights_given</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                      <member>
                        <name>buddy_rights_has</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                </data>
              </array>
            </value>
          </member>
          <member>
            <name>gestures</name>
            <value>
              <array>
                <data/>
              </array>
            </value>
          </member>
          <member>
            <name>http_port</name>
            <value>
              <i4>0</i4>
            </value>
          </member>
          <member>
            <name>sim_port</name>
            <value>
              <i4>9000</i4>
            </value>
          </member>
          <member>
            <name>start_location</name>
            <value>
              <string>last</string>
            </value>
          </member>
          <member>
            <name>inventory-lib-owner</name>
            <value>
              <array>
                <data>
                  <value>
                    <struct>
                      <member>
                        <name>agent_id</name>
                        <value>
                          <string>11111111-1111-0000-0000-000100bba000</string>
                        </value>
                      </member>
                    </struct>
                  </value>
                </data>
              </array>
            </value>
          </member>
          <member>
            <name>initial-outfit</name>
            <value>
              <array>
                <data>
                  <value>
                    <struct>
                      <member>
                        <name>folder_name</name>
                        <value>
                          <string>Nightclub Female</string>
                        </value>
                      </member>
                      <member>
                        <name>gender</name>
                        <value>
                          <string>female</string>
                        </value>
                      </member>
                    </struct>
                  </value>
                </data>
              </array>
            </value>
          </member>
          <member>
            <name>inventory-skel-lib</name>
            <value>
              <array>
                <data>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000000-0000-0000-0000-000000000000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>OpenSim Library</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>8</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>f0908f10-b9bf-11dc-95ff-0800200c9a66</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Animations Library</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>20</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>d499e5e0-b9bf-11dc-95ff-0800200c9a66</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>BodyParts Library</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>13</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>b75056e0-b9bf-11dc-95ff-0800200c9a66</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Clothing Library</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>5</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>8e1e3a30-b9bf-11dc-95ff-0800200c9a66</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Gestures Library</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>21</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>6bcd48e0-b9bf-11dc-95ff-0800200c9a66</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Landmarks Library</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>3</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>33cbd240-b9bf-11dc-95ff-0800200c9a66</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Notecards Library</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>7</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>1576c6b0-b9bf-11dc-95ff-0800200c9a66</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Objects Library</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>6</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>cf7e2db0-b9be-11dc-95ff-0800200c9a66</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Photos Library</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>15</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba002</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Scripts Library</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>10</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>c1284980-b9be-11dc-95ff-0800200c9a66</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Sounds Library</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba001</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>00000112-000f-0000-0000-000100bba000</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>Texture Library</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>0</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba003</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba002</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>A</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>10</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba004</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba002</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>B</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>10</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba017</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba002</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>R</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>10</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba018</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba002</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>S</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>10</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>284858c8-9391-6bf1-ddf5-b936f73de853</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba002</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>OpenSim Specific Scripts</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>10</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba024</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba002</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>.Kan-ED Scripts</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>10</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                  <value>
                    <struct>
                      <member>
                        <name>folder_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba025</string>
                        </value>
                      </member>
                      <member>
                        <name>parent_id</name>
                        <value>
                          <string>30000112-000f-0000-0000-000100bba002</string>
                        </value>
                      </member>
                      <member>
                        <name>name</name>
                        <value>
                          <string>.Other testing scripts</string>
                        </value>
                      </member>
                      <member>
                        <name>type_default</name>
                        <value>
                          <i4>10</i4>
                        </value>
                      </member>
                      <member>
                        <name>version</name>
                        <value>
                          <i4>1</i4>
                        </value>
                      </member>
                    </struct>
                  </value>
                </data>
              </array>
            </value>
          </member>
          <member>
            <name>session_id</name>
            <value>
              <string>6ac2e761-f490-4122-bf6c-7ad8fbb17002</string>
            </value>
          </member>
          <member>
            <name>region_size_x</name>
            <value>
              <i4>256</i4>
            </value>
          </member>
          <member>
            <name>region_size_y</name>
            <value>
              <i4>256</i4>
            </value>
          </member>
          <member>
            <name>agent_id</name>
            <value>
              <string>f2f493c0-27d3-4cf2-be97-b44dfdad13b6</string>
            </value>
          </member>
          <member>
            <name>event_notifications</name>
            <value>
              <array>
                <data/>
              </array>
            </value>
          </member>
          <member>
            <name>global-textures</name>
            <value>
              <array>
                <data>
                  <value>
                    <struct>
                      <member>
                        <name>cloud_texture_id</name>
                        <value>
                          <string>dc4b9f0b-d008-45c6-96a4-01dd947ac621</string>
                        </value>
                      </member>
                      <member>
                        <name>sun_texture_id</name>
                        <value>
                          <string>cce0f112-878f-4586-a2e2-a8f104bba271</string>
                        </value>
                      </member>
                      <member>
                        <name>moon_texture_id</name>
                        <value>
                          <string>ec4b9f0b-d008-45c6-96a4-01dd947ac621</string>
                        </value>
                      </member>
                    </struct>
                  </value>
                </data>
              </array>
            </value>
          </member>
          <member>
            <name>login</name>
            <value>
              <string>true</string>
            </value>
          </member>
          <member>
            <name>agent_access</name>
            <value>
              <string>M</string>
            </value>
          </member>
          <member>
            <name>secure_session_id</name>
            <value>
              <string>fe210274-9056-467a-aff7-d95f60bacccc</string>
            </value>
          </member>
          <member>
            <name>last_name</name>
            <value>
              <string>Clark-Casey</string>
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodResponse>

[edit] XML-RPC Response Parameters

The parameters are as follows:

  • home - The home location of the user. This is in the format "{'region_handle':[r<x-grid-coord>,r<y-grid-coord>], 'position':[r<x-region-coord>,r<y-region-coord>,r<z-region-coord>], 'look_at':[r<x-coord>,r<y-coord>,r<z-coord>]}. For example "{'region_handle':[r256000,r256000], 'position':[r50,r100,r200], 'look_at':[r1,r0,r0]}".
    • region_handle gives the grid-coordinates in meters. So for a region located that the 1000,1000 co-ordinate on the map, this is 256000, 256000.
    • position is the position in the region.
    • look_at is the direction the avatar should be facing. This is a unit vector so (0, 1, 0) is facing straight north, (1, 0, 0) is east, (0,-1, 0) is south and (-1, 0, 0) is west.
  • look_at - The direction in which the avatar should be facing upon login. This is a unit vector so (0, 1, 0) is facing straight north, (1, 0, 0) is east, (0,-1, 0) is south and (-1, 0, 0) is west.
  • agent_access - The current maturity access level of the user. OpenSimulator currently always sets this to "M" (probably mature). Probably unused.
  • agent_access_max - The maximum level of region that user can access. OpenSimulator currently always sets this to "A" (probably adult). Probably unused.
  • seed_capability - The URL that the viewer should use to request further capabilities.
  • first_name - First name of this user.
  • last_name - Last name of this user.
  • agent_id - The ID of this user.
  • sim_ip - The IP to use to communicate with the receiving simulator.
  • sim_port - The UDP port to use to communicate with the receiving simulator.
  • http_port - Function unknown. OpenSimulator currently always sets this to 0. The port given directly for capabilities is used instead.
  • start_location - The parameter given in the start parameter in the login request ("last", "home", or an explicit region location).
  • region_x - The x grid coordinate of the start region in meters. So a region at map co-ordinate 1000 will have a grid co-ordinate of 256000.
  • region_y - The y grid coordinate of the start region in meters.
  • region_size_x - The x size of the start region in meters. Usually this will be 256 but with a varregion this can be a multiple of 256.
  • region_size_y - The y size of the start region in meters. Usually this will be 256 but with a varregion this can be a multiple of 256.
  • circuit_code - Circuit code to use for all UDP connections.
  • session_id - The UUID of this session.
  • secure_session_id - The secure UUID of this session.
  • inventory-root - The ID of the user's root folder (which appears as the "My Inventory" folder in most viewers).
  • inventory-skeleton - Details about the child folders of the root folder. Each entry has the following parameters.
    • folder_id - The ID of the folder.
    • parent_id - The ID of the containing folder.
    • name - The name of the folder.
    • type_default - The type of the folder. These values correspond to the InventoryType class in libopenmetaverse, where -1 is an ordinary untyped folder.
    • version - The version number of the folder. This is increment on operations that change the folder's contents. A viewer can cache these version numbers and other inventory information so that it can reduce the amount of inventory data that it has to request.
  • inventory-lib-root - The ID of the library root folder (which appears as the "OpenSim Library" folder in most viewers).
  • inventory-skel-lib - Details about the child folders of the library root folder. Has the same format as inventory-skeleton above.
  • inventory-lib-owner - The ID of the user that owns the library.
  • map-server-url - URL from which to request map tiles.
  • buddy-list - The user's friend list. This contains an entry for each friend (buddy). These entries have the following parameters.
  • gestures - The gestures that the user currently has active. If there any, each entry has the following parameters
    • item_id - The item ID of the gesture in the user's inventory.
    • asset_id - The asset ID of the gesture.
  • initial-outfit - You would think this would correspond to user's initial outfit. However, OpenSimulator always sends back an entry with folder_name "Nightclub Female" and gender "female" with no obvious ill effect. Can probably be ignored.
  • global-textures - Unknown if this is used any longer. OpenSimulator always sets
    • cloud_texture_id as dc4b9f0b-d008-45c6-96a4-01dd947ac621.
    • sun_texture_id as cce0f112-878f-4586-a2e2-a8f104bba271.
    • moon_texture_id as ec4b9f0b-d008-45c6-96a4-01dd947ac621.
  • login - Function unknown. OpenSimulator always sets this to "true".
  • login-flags - Some extra information about login. Of these
    • stipend_since_login - probably shows whether a user received stipend money since their last login. OpenSimulator always sets this to "N".
    • ever_logged_in - indicates whether the account has ever logged in. Currently, OpenSimulator always sets this to "Y" even if the user has never logged in before.
    • seconds_since_epoch - server time in Unix seconds since epoch format (i.e. seconds since 1970).
    • daylight_savings - whether daylight savings is considered to be in effect for the grid time. OpenSimulator can set this to "Y" or "N".
    • gendered - Function unknown, possibly relating to avatars. OpenSimulator always sets this to "Y".
  • message - Message that can be displayed to the user when logging in.
  • ui-config - Function unknown. OpenSimulator only has one setting here.
    • allow_first_life - always set to "Y" by OpenSimulator. Could possibly control whether the First Life tab is shown for user profiles (now obsolete in some circumstances).
  • event_categories - Function unknown, probably relates to events. OpenSimulator does not currently set this.
  • classified_categories - Classified categories. OpenSimulator currently always adds the categories
            AddClassifiedCategory((Int32) 1, "Shopping");
            AddClassifiedCategory((Int32) 2, "Land Rental");
            AddClassifiedCategory((Int32) 3, "Property Rental");
            AddClassifiedCategory((Int32) 4, "Special Attraction");
            AddClassifiedCategory((Int32) 5, "New Products");
            AddClassifiedCategory((Int32) 6, "Employment");
            AddClassifiedCategory((Int32) 7, "Wanted");
            AddClassifiedCategory((Int32) 8, "Service");
            AddClassifiedCategory((Int32) 9, "Personal");

but usefulness is unknown.

[edit] Code

The parts of OpenSimulator that handle steps 1 and 2 can be found in OpenSim.Services.LLLoginService package.

[edit] References

OpenSimulator’s login process and common login problems - Blog post with diagrams that illustrate the login process.

Second Life Login ULM Sequence Diagram

Personal tools
General
About This Wiki