Files
opensim-addon-modules-exp/modules/OpenSimSceneSnapshot/README.MD
T

85 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OpenSim SceneSnapshot Module
## What is it?
SceneSnapshot is a lightweight OpenSim region module that creates automatic region snapshots (OAR files), keeps them tidy with a retention policy, and lets you restore them quickly from the OpenSim console.
It integrates directly with the running simulator:
- no extra cron/supervisor scripts
- no racy console automation
- consistent snapshots via the Archiver API
## Why this module (vs. cron/supervisor)?
While cron jobs or external scripts can call “save oar”, this module offers:
- In-sim consistency: Uses the archiver API in-process, reducing timing issues while content is being modified.
- Simple retention: Keeps the latest hourly snapshots and one per day automatically.
- One command surface: Create, list, prune, restore directly from the region console.
- Atomic writes and cleanup: Writes to a temp file first and cleans up stale files on start.
## Features
- Auto snapshots at configurable intervals
- Retention policy: keep N hourly, plus one per day for D days
- Console commands: create, list, prune, restore
- Restore modes:
- Replace (default): restore entire OAR
- Merge: merge objects without typically overwriting terrain/parcels
## Installation
- Place the module in your OpenSim addon-modules (or build it as part of your solution).
- Enable it in OpenSim.ini (or your region config):
## Usage (Console)
| Command |Description|
|-----------------------------|---|
| ss create |Create a snapshot immediately.|
| ss list |List available snapshots (most recent first).|
| ss restore [file] or latest |Restore a snapshot by file name or the latest snapshot. Uses RestoreMode from config (Replace or Merge).|
| ss prune |Delete snapshots according to the retention policy.|
| ss status |Show current settings and counts.|
Snapshot filenames:
- RegionName_yyyyMMdd-HHmmss.oar, stored under SnapshotDirectory.
Example:
- ss restore latest
## Configuration
Enable the module:
add this part to OpenSim.ini [Modules] section
~~~
[Modules]
SceneSnapshot = enabled
Include-SceneSnapshot = "config-include/SceneSnapshot.ini"
~~~
Example settings (config-include/SceneSnapshot.ini):
~~~
[SceneSnapshot]
SnapshotDirectory = snapshots
IntervalMinutes = 60
KeepHourly = 24
KeepDaily = 7
AutoAtStartup = false
AutoAtShutdown = true
; Replace: OAR replaces the scene (default)
; Merge: OAR objects are merged; terrain/parcels are typically preserved
RestoreMode = Replace
~~~
## Who is it for?
- Grid/region operators wanting automated, reliable, and self-contained backups without external orchestration.
- Operators who value in-sim retention policies and easy restore flows during maintenance or testing.
- Anyone who prefers a minimal and robust solution that just works with the built-in archiver.
## Notes
- The module saves full OARs (including assets).
- Selective restore of terrain or parcels only is not supported by the underlying archiver. Use Merge to avoid overwriting terrain/parcels.
- Atomic writes ensure that incomplete files wont appear; stale .tmp files are cleaned up on startup.