SimulatorLoginProtocol

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Details)
(Details)
Line 56: Line 56:
 
             <name>passwd</name>
 
             <name>passwd</name>
 
             <value>
 
             <value>
               <string>$1$7c53d3d3f9d6f353a0f78cd5c2bfd772</string>
+
               <string>$1$f7583d0d-5b61-4729-91d0-6dd9a8bfc923</string>
 
             </value>
 
             </value>
 
           </member>
 
           </member>
Line 2,830: Line 2,830:
 
</methodResponse>
 
</methodResponse>
 
</source>
 
</source>
 +
 +
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_max''' - The maximum level of region that user can access.  OpenSimulator currently always sets this to "A" (probably adult).
 +
* '''seed_capability''' - The URL that the viewer should use to request further [[capabilities]].
  
 
== Code ==
 
== Code ==

Revision as of 14:06, 18 September 2014

(This page is a work in progress)

Contents

Process

There are 4 basic steps to the viewer login process.

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).

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.

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).

Step 4

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

Details

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>

The parameters are as follows

  • 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).
  • version - Version number 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.
  • 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.
  • skipoptional - A boolean. 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.

Here's an example response to the example call above.

<?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>

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_max - The maximum level of region that user can access. OpenSimulator currently always sets this to "A" (probably adult).
  • seed_capability - The URL that the viewer should use to request further capabilities.

Code

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

References

http://justincc.org/blog/2011/05/26/opensimulators-login-process-and-common-login-problems/ provides some diagrams that illustrate the login process.

Personal tools
General
About This Wiki