Skip to content

Rental Snapshots

Jack edited this page Jun 6, 2026 · 2 revisions

Rental Snapshots

Snapshots save the state of a claim's blocks for later restoration. Ideal for rental properties that should reset between tenants.

Overview

When a rental ends or a renter is evicted, snapshots can automatically restore the claim to its original state.

Use cases:

  • Rental apartments that should reset
  • Hotel rooms
  • Temporary shops
  • Any claim that should revert after use

Creating Snapshots

Command

/claim snapshot create [claimId]
  • Creates snapshot of claim you're standing in
  • Or specify claimId to snapshot remotely
  • Saves all blocks, containers, and signs

When to Create

Create snapshots at key moments:

  1. Before first rental - Baseline state
  2. After major changes - Update snapshot
  3. Before eviction - Preserve current state

Managing Snapshots

List Snapshots

/claim snapshot list [claimId]
/claim snapshot list all

Shows:

  • Snapshot ID
  • Creation date
  • Claim size
  • Creator name

Remove Snapshots

/claim snapshot remove <snapshotId>
  • Permanently deletes a snapshot
  • Cannot be undone
  • Frees storage space

Automatic Restoration

Configure automatic restoration when rentals end:

signs:
  rent:
    snapshots:
      auto-restore:
        on-rental-expire: false
        on-eviction-complete: false

Restoration Process

  1. Rental ends or eviction occurs
  2. Renter is untrusted
  3. Snapshot restoration begins
  4. Blocks are replaced
  5. Containers are cleared/filled
  6. Owner is notified

Snapshot Contents

Snapshots preserve:

  • ✅ All block types and states
  • ✅ Container contents
  • ✅ Sign text
  • ✅ Redstone states
  • ✅ Entity positions (configurable)

Snapshots don't preserve:

  • ❌ Trust lists
  • ❌ Rental data
  • ❌ GPExpansion metadata
  • ❌ Entity data (configurable)

Storage Format

Snapshots are stored in .snap format (YAML):

  • Human-readable
  • Version controlled
  • Cross-server compatible
  • Compressed for efficiency

Location:

plugins/GPExpansion/snapshots/<claimId>/<snapshotId>.snap

Permissions

Permission Description
griefprevention.restoresnapshot Create and manage snapshots
griefprevention.admin Manage all snapshots

Configuration

snapshots:
  enabled: true
  max-per-claim: 5
  auto-create:
    on-rent-sign-create: false
    on-rental-start: false
    before-eviction-complete: false
  auto-restore:
    on-rental-expire: false
    on-eviction-complete: false
    on-sale: false
  cleanup:
    enabled: true
    retain-days: 30
    remove-when-claim-deleted: true
  compression: true
  async-restore: true
  max-blocks-per-tick: 5000

Best Practices

  1. Snapshot before renting - Create baseline immediately
  2. Update periodically - If claim improvements are made
  3. Limit snapshots - Don't keep too many (uses storage)
  4. Test restoration - Verify snapshots work correctly
  5. Document snapshots - Note what's in each one

Troubleshooting

Snapshot creation failed?

  • Check available disk space
  • Verify griefprevention.restoresnapshot permission
  • Large claims may take time

Restoration incomplete?

  • Some blocks may not be restorable
  • Check for incompatible block types
  • Verify snapshot wasn't corrupted

Old snapshots not working?

  • Format may have changed between versions
  • May need to recreate snapshots
  • Check snapshot file integrity

Comparison with Schematics

Feature Snapshots Schematics
Integration Built-in External
Automation Automatic Manual
Ease of use Simple Complex
Cross-server Yes Yes
Size limit None Varies

Command Reference

Command Description
/claim snapshot create [id] Create new snapshot
/claim snapshot list [id] List claim snapshots
/claim snapshot list all List all server snapshots
/claim snapshot remove <id> Delete snapshot

Tips

  • Use snapshots for all rental properties
  • Name snapshots descriptively (if supported)
  • Clean up old snapshots regularly
  • Test restore process occasionally
  • Keep backup of important snapshots

Clone this wiki locally