http://opensimulator.org/mantis/view.php?id=4040 by jhurliman. The patch didn't match up, so I winged it here. My effort to manually merge the patch seems to make sense, so I'm going to commit it.
The code also sets the target avatar as wearing whatever the template avatar was wearing (including attachments). The idea is to allow the use of this to give new avatars a more interesting avatar (and inventory set) than the current default.
I have include a console command that will clone the inventory from one existing user (template avatar) to another existing avatar (target avatar). The format of the command is : "clone avatar <templateAvatarFirstName> <templateAvatarLastName> <targetAvatarFirstName> <targetAvatarLastName>" (to use this console command on new accounts, the "create user" command will need to be used first)
While the code was designed for hooking up to a remote call from a web interface, I have left the hookup code out of this commit, as I believe most use cases will want to handle it differently.
Also added a "trusted handler" to the inventory server to allow the user server to create new folders in a user's inventory.
All this is in the old UGAIM servers so will need porting to the new servers.
* If you have something using XmlRpc that isn't in core, change your method signature from:
(XmlRpcRequest request)
to:
(XmlRpcRequest request, IPEndPoint remoteClient)
* Make OGS1UserServices inherit from UserManagerBase
* This allows grid mode regions to use the same user data plugin infrastructure as grid servers and standalone OpenSims
* Important: HttpServer.dll was changed to HttpServer_OpenSim.dll so that the HttpServer references do not conflict if you've copied the OpenMetaverse.Http.dll and requirements to the OpenSimulator bin folder.
This means that if you reference HttpServer.dll in any projects, you will need to change the reference to HttpServer_OpenSim.dll. It still uses the Same HttpServer namespace though.
* Sometimes, null is a valid return value to indicate 'none found'. doh.
* Sometimes, the Grid server does not send simURI - this you need to reconstruct yourself. Euw.
(I believe) this solves mantis issue #3287
* Finally got to the point where I could pull up the CustomiseResponse function. Major de-duplication.
* Introduced FromRegionInfo on RegionProfileData
* This revision needs both grid and standalone testing galore.
Work in progress!
* introduced new IRegionProfileService that is going to be _one_ profileService
* Had GridDBService inherit the IRegionProfileService
(preparing for re-wiring things and de-duplicating eventually)
- handle GetUser request for nonexistent user gracefully
- include throttle levels in ClientInfo
- code to save/restore throttles in client stack
- only update/send updates to active clients
- make animation classes serializable
Added OpenSim.Grid.UserServer.Modules project/dll which now contains the components of the userserver. With the OpenSim.Grid.UserServer being the setup and initiate exe.