ClothingManipulation
From OpenSimulator
Note: This document is a work-in-progress
Introduction
By default, when a new avatar is created in OpenSimulator they are clothed with a default clothing set consisting of hair, shape, eyes, skin, pants and shirt (this is also known as the "Ruth" avatar).
By making various ROBUST service calls and uploading the appropriate assets, one can also set clothing on an avatar without manually doing this through a viewer. It is also possible to achieve the same end through other means, such as direct database updates. However, this document will concentrate on the ROBUST service call approach. Using ROBUST service calls does not require the caller to have an extremely detailed knowledge of the OpenSimulator data structure, though a very large amount of knowledge about OpenSimulator in general is still required. The ROBUST service call approach is also less vulnerable to change as OpenSimulator evolves. One disadvantage is that it requires the appropriate ROBUST service instances to be running whereas direct database updates could be made when OpenSimulator is completely inactive.
This technique also currently applies only to the grid architecture of OpenSimulator, since the standalone mode cannot currently expose the necessary external service interfaces. In theory, there is some undocumented code in the RemoteAdmin facility that can be used to setup differently clothed avatars in standalone mode but the extent to which this is operational is not currently known.
Also, please note that this technique needs the user to be offline throughout. If the user is online then they can make updates to their clothing which conflict with updates made through the ROBUST service calls.
Steps
For now, we are going to assume that we are clothing a new avatar, not changing the clothing of one that already exists.
Step 1: Create the user
This can be done by any number of means, including via a manual "create user" command on the ROBUST service interface or via the ROBUST calls detailed in UserManipulation. You may want to set
[UserAccountService] CreateDefaultAvatarEntries = false
in Robust.ini if you don't want a new avatar to have the "Ruth" clothing. However, there is no harm if the avatar has these entries as well.