LibreMetaverse.Archiving
3.2.0
Prefix Reserved
dotnet add package LibreMetaverse.Archiving --version 3.2.0
NuGet\Install-Package LibreMetaverse.Archiving -Version 3.2.0
<PackageReference Include="LibreMetaverse.Archiving" Version="3.2.0" />
<PackageVersion Include="LibreMetaverse.Archiving" Version="3.2.0" />
<PackageReference Include="LibreMetaverse.Archiving" />
paket add LibreMetaverse.Archiving --version 3.2.0
#r "nuget: LibreMetaverse.Archiving, 3.2.0"
#:package LibreMetaverse.Archiving@3.2.0
#addin nuget:?package=LibreMetaverse.Archiving&version=3.2.0
#tool nuget:?package=LibreMetaverse.Archiving&version=3.2.0
▗▖ ▄ ▗▖ ▄▄▄ ▗▞▀▚▖▗▖ ▗▖▗▞▀▚▖ ■ ▗▞▀▜▌▄ ▄ ▗▞▀▚▖ ▄▄▄ ▄▄▄ ▗▞▀▚▖
▐▌ ▄ ▐▌ █ ▐▛▀▀▘▐▛▚▞▜▌▐▛▀▀▘▗▄▟▙▄▖▝▚▄▟▌█ █ ▐▛▀▀▘█ ▀▄▄ ▐▛▀▀▘
▐▌ █ ▐▛▀▚▖█ ▝▚▄▄▖▐▌ ▐▌▝▚▄▄▖ ▐▌ ▀▄▀ ▝▚▄▄▖█ ▄▄▄▀ ▝▚▄▄▖
▐▙▄▄▖█ ▐▙▄▞▘ ▐▌ ▐▌ ▐▌
▐▌
LibreMetaverse.Archiving
OpenSim region archives. An OAR file is a gzipped tar holding a region's objects, terrain, parcels, settings and the assets they use; this package unpacks them and packs them, and reads and writes the tar format underneath. It is how you move a whole region between OpenSim installations, or take one apart to look at it.
[Archiving] · Utilities · Voice.Vivox · Voice.WebRTC
│ built on the client
LibreMetaverse the client: login, managers, inventory
│
Transport UDP socket, reliable circuit, throttle
│
Protocol packets and capability messages
│
Assets the offline data model
├── ModelFormats · Rendering.MeshFoundry · Rendering.Simple
│
StructuredData · Imaging.Abstractions
│
Types UUID, vectors, quaternions, colors
on their own: PrimMesher · Imaging.Skia · RLV · LslTools
A name in brackets is this package. Packages use the ones beneath them; the Depends on section below is exact.
What is in it
OarFile:UnpackageArchivereads an archive and calls you back for each asset, for the terrain, for each linkset (anAssetPrim) and for the region settings.PackageArchivewrites one from a directory.SaveTerrain,SaveParcels,SaveRegionSettings,SavePrimsAsyncandSaveAssetsAsyncfill that directory from a simulator you are connected to.ArchiveInfo: the archive'sarchive.xmlcontrol file. It records the format version, when it was made, the region size (so a megaregion round-trips) and whether assets are included. Archives are written as version 0.8, the layout OpenSim has written since 2012. Older archives, which have no control file or an older one, still load, and one from a newer OpenSim than the library knows is read as 0.8 and flagged throughIsNewerThanSupported.TarArchiveReaderandTarArchiveWriter: plain tar entry by entry, for archives that are not OARs.RegionSettingsandArchiveConstants: the settings structure and the paths and file-name conventions inside an archive.
Example
using LibreMetaverse.Assets;
ArchiveInfo? info = OarFile.ReadArchiveInfo("region.oar");
Console.WriteLine(info == null ? "no archive.xml" : $"version {info.MajorVersion}.{info.MinorVersion}, {info.SizeX}x{info.SizeY}");
OarFile.UnpackageArchive("region.oar",
(asset, read, total) => Console.WriteLine($"{asset.AssetType} {asset.AssetID}"),
(terrain, read, total) => Console.WriteLine($"terrain {terrain.GetLength(0)}x{terrain.GetLength(1)}"),
(linkset, read, total) => Console.WriteLine($"{linkset.Parent?.Name}"),
(name, settings) => Console.WriteLine($"settings of {name}"));
Reading needs no connection. Saving a region from a live simulator uses the GridClient of the LibreMetaverse package.
Use it when
You are building region backup, restore or conversion tools, inspecting an archive from the web, or preparing content for an OpenSim region. The archive types are in the LibreMetaverse.Assets namespace, as they were when they were part of the main package.
Depends on
LibreMetaverse (for saving from a simulator) and LibreMetaverse.Types. It targets .NET Standard 2.1, .NET Framework 4.8.1, and .NET 8, 9 and 10.
Install
dotnet add package LibreMetaverse.Archiving
More
- Source, issues and discussion: https://github.com/cinderblocks/libremetaverse
- Moving from 3.1: the migration guide
- License: BSD-3-Clause
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| .NET Framework | net481 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.8.1
- LibreMetaverse (>= 3.2.0)
- LibreMetaverse.Types (>= 3.2.0)
-
.NETStandard 2.1
- LibreMetaverse (>= 3.2.0)
- LibreMetaverse.Types (>= 3.2.0)
-
net10.0
- LibreMetaverse (>= 3.2.0)
- LibreMetaverse.Types (>= 3.2.0)
-
net8.0
- LibreMetaverse (>= 3.2.0)
- LibreMetaverse.Types (>= 3.2.0)
-
net9.0
- LibreMetaverse (>= 3.2.0)
- LibreMetaverse.Types (>= 3.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.2.0 | 42 | 10/13/2026 |