OpenSim Archives
From OpenSimulator
Contents |
Introduction
This is currently a highly experimental function. Basically, it does a similar job to load-xml2/save-xml2 in that it saves prims so that they can be later reloaded. However, OpenSim archives go a step further in that they can save all the necessary asset data to fully restore the terrain, the textures of objects and their inventories when loaded onto a completely different system using a different asset database.
Usage
From the region console, one can type
save-oar [<filename>]
to save an OpenSim archive. If no filename is given, then the name scene_oar.tar.gz is used
To load an archive, type
load-oar [<filename>]
at the console. Currently by default, loading an archive will delete all the objects in the scene and replace them with the archive contents.
Examples
Current limitations
- When an archive is loaded, all objects end up being created/owned by the master avatar for that region
FAQ
1. What is this .tar.gz format you are using? Why not zip?
.tar.gz is a standard unix way of zipping up files into a single larger compressed file for distribution. Windows users should be able to open these files using freeware programs such as 7-zip.
I'm using .tar.gz because all the zip (and tar) libraries for .net are licensed either under the GPL (with exception) or under the MSPL. Unfortunately, not all members of the OpenSim development team are comfortable with the MSPL, so these libaries are not currently an option. It is also significantly easier to write code to create and read tar archives than zip archives.
At the moment the only tar archive type that can be read is the original unix tar format (not USTAR).
2. What is the layout of an OpenSim archive?
More details on this soon.
3. Can you load and save multiple regions to an archive?
Not yet.
4. Can you load and save parts of a region to an archive?
Not yet.
Bugs
- There may be a problem importing some linked objects. These will appear fine in the viewer when initially imported, but disappear once the server is restarted. This needs investigation. Archives such extremely simple examples of the problem (very few objects and objects with only a few linked prims) would be appreciated.
- Sometimes, not all scripts start when an archive is loaded. Example archives with the problem would be appreciated.
- Due to a possible bug in the Mono 1.2.4 libraries, this feature may cause a debug dump when used (the problem appears to be in writing out a compressed stream). Mono 1.2.6 is okay. Since Mono 1.2.4 is fairly old now, I don't intend to address this bug.
Current Status
Highly experimental. I've (justincc) only tried it myself in very limited situations, so Mantis feedback and suggests would be appreciated.
Please don't rely on these archives to permanently backup your regions, though if they are in sufficient use, I hope to maintain compatibility with older archive versions.