Tuesday, 15 March 2011

Moving Objects between Opensims


To move/copy your objects from your Opensim into another Opensim or Opensim-based world (where it is permitted) you need to do the following:

Install libomv and use its TestClient to login to your Opensim

1.      Download a copy of libopenmetaverse (libomv). The download page can be found here:
http://lib.openmetaverse.org/wiki/Download

2.      Once you have downloaded and installed libomv you might want to create a shortcut on the desktop to the most frequently used tool in the toolbox, the TestClient, located in the bin folder.

3.      A full list of all the TestClient commands can be found below, but for now the simple logging in to a grid procedure will be explained:

Start the TestClient, a DOS-like window will open. Use the login command, which has the format: login firstname lastname password [simname] [loginuri]. For example,

login Fred Flinstone yabadabadoo  http://myopensim.dyndns.org:9000

If you wanted to log into a grid, but into a particular sim or region, then use:

login Fred Flinstone yabadabadoo Bedrock  http://myopensim.dyndns.org:9000

Notes:
i) If you do not specify a loginuri then TestClient will use the default address for SL.
ii) Be patient, it usually takes a few seconds for commands to complete, and you often have no indication that the command is working in the background until it completes.
3. Although the TestClient says 'Type help for a command list' it will not work, until after you have logged in an avatar.

4.      If the login was successful, then you should see a window like the one below, and you are now ready to start issuing commands.

TestClient Login

Exporting and Importing Objects between Opensims
To export (backup) objects in xml format to your hard-drive follow these steps:

1.      Login to your Opensim using a regular client (Hippo, Phoenix, Imprudence, etc), and rezz on the ground all the objects you wish to export. You can now either logout, or stay logged in, but in that case you will need to login to your Opensim using libomv using a different account.

2.      Login to your Opensim with TestClient using the procedure above. Make sure you log into the same sim or region where the objects are rezzed. If this is not the case then you can teleport there, by using the goto command:

goto Bedrock/100/100/30

3.      Perform a scan for the rezzed objects using the findobjects [radius] command:

findobjects 20
(that will find all rezzed objects within a 20m radius, and provide a list of all objects, with their UUIDs).

4.      Copy the list of objects and Paste the results into Notepad (just so you can copy/paste the UUIDs easier, but see Note below).

5.      Objects can now be exported by using the export [UUID] [filename] command, eg:

export 50680f90-4e1d-11e0-b8af-0800200c9a66 barstool.xml

Notes:
a) To Copy/Paste in the DOS-like cmd window see this How-to:
b) The barstool.xml file will saved in the bin folder.

6.      To import your barstool in another Opensim, login using the TestClient, then issue the command, import [filename], eg

import barstool.xml

Note:
a) For complex objects it can take some time for the object to be recreated. You should NOT interrupt the TestClient during this process until it informs you that it has either completed the import, or has issued an error.

Done.

All Test Client Commands


2 comments:

Maria Korolov said...

How is this different than using the export IAR function in OpenSim, which exports the entire inventory, or the built-in export function that exists within the Imprudence viewer?

Does it do any checking for permissions?

Thanks,

Maria

Rock said...

Only the owner of an Opensim can use the server-side export commands. A resident who has created content and wishes to move must either use a viewer, such as Imprudence, which allows you to copy only the objects created by the avatar that you are currently signed in with. If you have builds that are wholly yours, but built by your main avi and one or more of your alts, then the only way is to use TestClient. TestClient pays no regard to the ownership of each prim in a build, nor to permissions. It must therefore be used legally and responsibly