
Safe Zone Claims
Server-only land-claim mod for Minecraft with vanilla-client-compatible claims, trust menus, and admin tools.
Safe Zone
Safe Zone is a server-only Fabric and Paper land-claim mod for Minecraft 1.21.11. Players protect builds with a configurable vanilla claim wand (Golden Hoe by default), admins manage claims with /sz, and unmodded clients can still join and use the core workflow.
Highlights
- Server-side land claims for Fabric servers
- No client mod required for normal play
- First-join starter wand using a vanilla item
- In-world claim creation, resizing, trust management, and removal
- Player self-service tools through
/claim - Admin moderation and management tools through
/sz - JSON-based world data stored under
<world>\safe-zone\
Requirements
- Minecraft 1.21.11
- Fabric Loader
- Fabric API
- Java 21+
Install
- Install Fabric or Paper Loader on the server.
- Put Safe Zone (and Fabric API for Fabric Servers) in the server
modsfolder. - Start the server once to generate the Safe Zone data/config files.
- Join normally. Players do not need this mod installed on the client for the current feature set.
Player quick start
- Join the server and receive the configured claim wand once (default: Golden Hoe).
- Right-click one block with the wand to save corner 1.
- Right-click a second block with the wand to create the claim.
- Stand inside your claim and:
- Shift + left-click with the wand to open the build-access menu
- Shift + right-click with the wand to remove the claim after confirming
- Right-click one of your claim corners to start resizing
- Use
/claimfor claim lists, trust helpers, and claim info.
Current feature set
- First-join starter kit that gives each player one claim wand
- Two-corner claim creation in the Overworld
- Claim resizing by right-clicking an owned corner with the wand
- Claim removal by Shift + right-click inside an owned claim, with a default 5-second confirmation window
- Trust management by Shift + left-click inside an owned claim with the wand, opening a vanilla chest-style menu
- Player self-service claim browsing and trust/remove helpers through
/claim - Admin claim inspection, transfer, trust overrides, teleport, reload, give-wand, and limit controls through
/sz - Server-side outline/preview visualization without a client mod
Commands
Player commands
/claim and /claims are aliases.
/claim/claim help/claim list [page]/claim trusted [page]/claim here/claim info [claimId]/claim trust <claimId>/claim remove <claimId>
/claim remove requires the same command twice within the configured confirmation window (10 seconds by default).
Admin commands
/sz and /safezone are aliases and require operator/game-master level access.
/sz/sz help/sz list [page]/sz list owner <player> [page]/sz list trusted <player> [page]/sz info [claimId]/sz remove <claimId>/sz removeall <player>/sz notifications/sz notifications purge/sz notifications purge confirm/sz transfer <claimId> <player>/sz trust <claimId> <player>/sz untrust <claimId> <player>/sz tp <claimId>/sz inspect/sz reload/sz givewand [player]/sz limits <player> <maxClaims>
/sz inspect toggles inspect mode. While it is enabled, admins can Shift + right-click with an empty hand to read claim info in-world.
Configuration and data
Safe Zone stores gameplay and ops settings together in <world>\safe-zone\config.json. The file is pretty-printed and grouped into gameplay and ops sections on first load.
Defaults
claimWandItemId—minecraft:golden_hoestarterKitEnabled—truedropStarterKitWhenInventoryFull—truedefaultMaxClaims—3maxClaimWidth/maxClaimDepth—64/64claimGapEnforced—falseclaimGapMinDistance—10blocks when enabledclaimExpiryDays—30days stored in config; automatic inactivity expiry is still future worknotificationsEnabled—true; whenfalse, offline admin notices are disablednotificationRetentionDays—30days; pending offline admin notices older than this are pruned fromnotifications.jsonwandRemoveConfirmSeconds—5commandRemoveConfirmSeconds—10
Rules and files
- Claims are Overworld-only
- Claims are full-height columns
- Per-player claim limits are stored in
player_limits.json - Ops settings live in the
opssection of<world>\safe-zone\config.jsonauditLogEnableddefaults tofalsemirrorAuditToServerLogdefaults tofalsecreateDataBackupsdefaults tofalserecoverFromBackupOnLoadFailuredefaults tofalse
- Stored files include:
claims.jsonconfig.jsonplayer_limits.jsonstarter_kit_recipients.jsonnotifications.jsonsafe-zone_audit.log
notifications.json stores pending offline admin notices, such as claim removals done while a player is away. Entries are written when a notice is queued, removed after delivery on join, and stale undelivered notices are pruned after the configured retention window. When notificationsEnabled is false, Safe Zone clears pending offline admin notices and stops queuing new ones. Config JSON files stay pretty-printed for editing, while runtime state JSON is saved compactly. All JSON state files save atomically, and backup creation is controlled by ops.createDataBackups in config.json. /sz reload also reloads config.json.
Protection coverage
Safe Zone currently protects:
- Block breaking
- Block placement attempts
- Bucket placement/use targets
- Fluid spread into protected claims from outside or a different claim
- General block use inside claims
- Minecart interaction in claims
- Fire spread into claims
- Explosion block damage in claims
- Explosion-created fire in claims
- Paintings, item frames, minecarts, boats, and armor stands from explosion damage or movement
- Trusted/owner/admin-bypass players from explosion damage and knockback inside claims
- Claim-wand interactions without hoe tilling or durability use
Not implemented yet:
- Piston movement protection
- Enderman grief prevention
- General non-explosion entity-damage protection
- Automatic inactivity expiry processing