Skip to content

Sign Protection

Jack edited this page May 15, 2026 · 1 revision

Sign Protection

GPExpansion provides comprehensive protection for rental, mailbox, and sell signs.

Protection Features

Automatic Protection

All GPExpansion signs are automatically protected:

  • Rental signs - Active rentals prevent sign breaking
  • Mailbox signs - Protected while mailbox exists
  • Sell signs - Protected while for sale
  • Global signs - Protected while claim is global

Break Prevention

Scenario Protection
Owner breaks own sign ✅ Allowed (cancels all transactions)
Non-owner breaks sign ❌ Denied
Admin breaks sign ✅ Allowed with permission
Explosion damage ❌ Protected
Fire damage ❌ Protected
Water/lava flow ❌ Protected

Active Rental Protection

Rental signs with active renters have enhanced protection:

  • Cannot be broken by claim owner
  • Cannot be broken by renters
  • Only admins can break with griefprevention.sign.admin.break
  • Breaking an active rental sign:
    • Ends all active rentals immediately
    • Refunds partial payments (configurable)
    • Notifies all affected renters
    • Logs the action

Admin Override

Breaking Protected Signs

Admins with griefprevention.sign.admin.break or griefprevention.admin can:

  • Break any GPExpansion sign
  • Override active rental protection
  • Remove signs in any claim

Commands for Protection

/gpx sign remove <x> <y> <z> <world>

Remove a sign by coordinates without being in-game.

Cleanup on Removal

When a GPExpansion sign is broken:

Rental Signs

  • Ends all active rentals
  • Removes trust from renters
  • Optionally restores from snapshot
  • Refunds partial payments (configurable)

Mailbox Signs

  • Removes mailbox from system
  • Clears container trust (real protocol)
  • Preserves container contents
  • Notifies owner of removal

Sell Signs

  • Cancels pending sales
  • Returns any escrowed funds
  • Clears sale data

Global Signs

  • Removes global status from claim
  • Preserves claim data
  • Removes from global list

Configuration

sign-protection:
  enabled: true
  
  rental:
    require-admin-for-active: true
    refund-on-break: true
    notify-renters: true
    
  mailbox:
    preserve-contents: true
    notify-owner: true
    
  sell:
    return-escrow: true
    
  explosion-protection: true
  fire-protection: true
  fluid-protection: true
  piston-protection: true

Bypass Methods

Emergency Removal

If a sign is glitched or needs removal:

  1. In-game: Admin with break permission
  2. Command: /gpx sign remove <coords>
  3. Config: Temporarily disable protection

WorldEdit / Region Operations

Signs are protected from:

  • WorldEdit operations
  • Region modifications
  • Schematic pastes (over existing signs)

Use /gpx sign remove before world operations.

Monitoring

Sign Audit Log

Track sign operations:

logging:
  sign-breaks: true
  sign-creates: true
  admin-overrides: true

Log entries include:

  • Player who broke/created
  • Sign type and location
  • Timestamp
  • Reason (if provided)

Alert Messages

Server admins receive alerts for:

  • Active rental sign breaks
  • Bulk sign removals
  • Failed protection bypasses

Troubleshooting

Can't break my own sign?

  • Check for active rentals
  • Verify you're the claim owner
  • Try /gpx sign remove command

Sign keeps reappearing?

  • Check for region protection plugins
  • Verify no restore operations running
  • Check for schematic plugins

Protection not working?

  • Ensure sign-protection is enabled
  • Check for conflicting plugins
  • Verify sign was created by GPExpansion

Permissions Reference

Permission Protection Effect
griefprevention.sign.create.* Create protected signs
griefprevention.sign.break.own Break own signs
griefprevention.sign.admin.break Break any sign
griefprevention.admin Full sign control

Best Practices

  1. Don't break active rentals - Use eviction instead
  2. Notify players - When removing signs for maintenance
  3. Use admin commands - For bulk operations
  4. Log removals - Enable audit logging
  5. Backup first - Before major sign operations

Clone this wiki locally