OAR Format 0.8

From OpenSimulator

Jump to: navigation, search


Contents

What is the OAR 0.8 format?

Changes

This format is currently in the development version of OpenSimulator only. Please do not rely on it as the details are subject to change without notice.

OAR format 0.8 is identical to 0.7 except for two changes. First, the region's Telehub (if it exists) is now saved. Second, some OARs with format 0.8 include a <region_info> element in archive.xml.

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/

The file archive.xml must come first. The other directories can come in any order.

archive.xml

This is the archive control file. It contains a major and minor version number, to allow compatibility with future format changes. It also contains an <assets_included> element which can have the contents True or False. If the string is True, then the OAR was saved with assets included. If the switch is False, then the OAR was saved with the --noassets option.

Here's an example of an existing archive.xml file

<?xml version="1.0" encoding="utf-16"?>
<archive major_version="0" minor_version="8">
  <creation_info>
    <datetime>1345003250</datetime>
    <id>47b709da-d64c-4b25-90f2-cb64a5245420</id>
  </creation_info>
  <assets_included>True</assets_included>
  <region_info>
    <is_megaregion>False</is_megaregion>
    <size_in_meters>256,256</size_in_meters>
  </region_info>
</archive>

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.

In the future, the format of these files will be described in Asset Formats.

landdata/

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

The actual format is described (currently very sketchily) in Asset Formats.

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 an example of an XML region settings file below.

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>True</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>100</TerrainRaiseLimit>
    <TerrainLowerLimit>-100</TerrainLowerLimit>
    <UseEstateSun>False</UseEstateSun>
    <FixedSun>True</FixedSun>
    <SunPosition>8.23999977111816</SunPosition>
  </Terrain>
  <Telehub>
    <TelehubObject>614af2ce-cbf7-45f5-906b-715b83bcba82</TelehubObject>
    <SpawnPoint>0,0,0</SpawnPoint>
    <SpawnPoint>-1.05136,-0.164772,4.29409</SpawnPoint>
  </Telehub>
</RegionSettings>

See Also

Personal tools
General
About This Wiki