Skip to content

CometWorks/grid-backups

Repository files navigation

GridBackups

Magnetar server plugin for Space Engineers dedicated servers.

GridBackups exports ship/station grid blueprints on configurable backup triggers and keeps them in a shared Quasar data folder by default, so backups are not tied to one managed Magnetar instance.

Configuration

The server plugin uses Magnetar PluginSdk configuration. Quasar can render the config UI from the schema generated by GridBackupsConfig.

Important options:

  • Storage root defaults to the Quasar data folder (QUASAR_DATA_DIR, derived from QUASAR_DS_CONFIG_PATH, or the platform default Quasar config directory).
  • Minimum and maximum minutes since last backup.
  • Backup before concealment via public plugin entrypoint.
  • Backup when steady after a configured unchanged block-count duration.
  • Backup after a configured maximum block-count change.
  • Connected-grid grouping, owner folder naming, NPC/nobody grid inclusion, and retention limits.

Commands

  • !gridbackup list <PlayerName|SteamID|IdentityID> lists backed up grids for a player.
  • !gridbackup list <PlayerName|SteamID|IdentityID> <GridName|GridID|ListNumber> lists backup files for one grid.
  • !gridbackup list faction <FactionTag> lists backed up grids for a faction.
  • !gridbackup find <GridName|GridID> searches matching backed up grids across known owners.
  • !gridbackup restore <PlayerName|SteamID|IdentityID> <GridName|GridID|ListNumber> [backupNumber] [keepOriginalPosition] [force] restores a backup.
  • !gridbackup restore faction <FactionTag> <GridName|GridID|ListNumber> [backupNumber] [keepOriginalPosition] [force] restores from a faction member backup.
  • !gridbackup run starts a full backup scan.
  • !gridbackup status shows current backup service state.

Restore defaults to the latest backup, spawning near the caller. Console restores must use keepOriginalPosition=true. Use force=true to skip the occupation check.

External API

Other plugins can call:

bool BackupBeforeConcealment(List<MyObjectBuilder_CubeGrid> grids, long ownerIdentity);
bool BackupGridsManuallyWithBuilders(List<MyObjectBuilder_CubeGrid> grids, long ownerIdentity);

Build

Requirements:

  • Space Engineers Dedicated Server
  • Magnetar
  • .NET 10 SDK
  • .NET Framework 4.8.1 Developer Pack on Windows

Build:

dotnet build GridBackups.sln --configuration Debug

Functionality is inspired by and reimplements the original Torch plugin GridBackup by LordTylus (license: Apache-2.0): https://github.com/LordTylus/SE-Torch-Plugin-ALE-GridBackup

About

A grid backup system for Magnetar

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors