OAR Format 0.2

From OpenSimulator

Jump to: navigation, search

What is the OAR 0.2 format?

Changes

OAR format 0.2 is identical to 0.1 except that region settings [and parcel data since 3c271b] have been added

Detail

At the present time, a region archive is a gzipped tar file (tar.gz) in the the original unix tar format (not USTAR). This can be extracted and created with standard tools (7-zip on Windows). The structure of the archive is as follows

archive.xml
assets/
landdata/
objects/
settings/
terrains/

archive.xml

This is the archive control file. At the moment it contains only a major and minor version number, to allow compatibility with future format changes.

assets/

This directory contains all the assets in the archive. Each filename has the following format

<uuid>_<asset type>.<asset extension>

The uuid section must always be present and form a valid uuid - it is used directly as the uuid for that asset. The asset type and asset extension are used to identify the type of asset and the asset extension allows the asset to be associated with different editors on platforms such as Windows. For instance, a script will always have the asset type and extension script.lsl. A full list of asset types and extensions can be found in the file

OpenSim/Region/Environment/Modules/World/Archiver/ArchiveConstants.cs

in the OpenSimulator distribution.

landdata/

[Since 3c271b] This directory contains all the parcels in the region. Information for each parcel is stored in a separate file in XML format. Each filename has the form:

 <uuid>.xml

where uuid is the uuid of the parcel.

objects/

Each individual file in here is an object in the region (where an object [linkset] can be composed of many prims). The file format used is OpenSim's XML2 format. Each filename has the following structure by default

<Object name>_<x>-<y>-<z>__<uuid>.xml

Unlike asset filenames, any component of this name can be changed without affecting any attributes of the object itself - this information is taken from the xml instead. Indeed, this file can have any name - there is no need for any of the sections to be present. An example object file name is

Primitive_154-121-062__9be68fdd-f740-4a0f-9675-dfbbb536b946.xml

settings/

This contains the region settings information for the region in XML format. The filename will be the same as the region name. For example,

OpenSimulator Test.xml

See Region Settings Example below (schema to follow, sometime).

terrains/

This contains the terrain file for the region, stored in RAW format. The filename must end with .r32. For example,

OpenSimulator Test.r32


Region Settings Example

<?xml version="1.0" encoding="utf-16"?>
<RegionSettings>
 <General>
   <AllowDamage>False</AllowDamage>
   <AllowLandResell>True</AllowLandResell>
   <AllowLandJoinDivide>False</AllowLandJoinDivide>
   <BlockFly>False</BlockFly>
   <BlockLandShowInSearch>False</BlockLandShowInSearch>
   <BlockTerraform>False</BlockTerraform>
   <DisableCollisions>False</DisableCollisions>
   <DisablePhysics>False</DisablePhysics>
   <DisableScripts>False</DisableScripts>
   <MaturityRating>1</MaturityRating>
   <RestrictPushing>False</RestrictPushing>
   <AgentLimit>40</AgentLimit>
   <ObjectBonus>1</ObjectBonus>
 </General>
 <GroundTextures>
   <Texture1>b8d3965a-ad78-bf43-699b-bff8eca6c975</Texture1>
   <Texture2>abb783e6-3e93-26c0-248a-247666855da3</Texture2>
   <Texture3>179cdabd-398a-9b6b-1391-4dc333ba321f</Texture3>
   <Texture4>beb169c7-11ea-fff2-efe5-0f24dc881df2</Texture4>
   <ElevationLowSW>10</ElevationLowSW>
   <ElevationLowNW>10</ElevationLowNW>
   <ElevationLowSE>10</ElevationLowSE>
   <ElevationLowNE>10</ElevationLowNE>
   <ElevationHighSW>60</ElevationHighSW>
   <ElevationHighNW>60</ElevationHighNW>
   <ElevationHighSE>60</ElevationHighSE>
   <ElevationHighNE>60</ElevationHighNE>
 </GroundTextures>
 <Terrain>
   <WaterHeight>20</WaterHeight>
   <TerrainRaiseLimit>0</TerrainRaiseLimit>
   <TerrainLowerLimit>0</TerrainLowerLimit>
   <UseEstateSun>True</UseEstateSun>
   <FixedSun>False</FixedSun>
 </Terrain>
</RegionSettings>


See Also

Personal tools
About This Wiki