¶ Browse, buy & rent
Publish existing regions for purchase, rental, or both. Players browse listings, inspect prices and details, and find their properties in My Regions.
Turn WorldGuard regions into managed properties players can browse, buy, rent, and maintain.
Bring region publishing, property transactions, player access, and administration together inside Minecraft. Build a structured property market for shops, residential plots, rental districts, market stalls, and hotel-style spaces.
WorldGuard provides protection, WorldEdit supports selections and restoration, and zMenu provides the inventory interface. NRM connects them to a managed property workflow.
Publish existing regions for purchase, rental, or both. Players browse listings, inspect prices and details, and find their properties in My Regions.
Manage property roles and permitted settings. Eligible owners can create subleases for rooms or stalls inside a larger property.
Configure rental reminders, grace periods, and automatic renewal. Support owner sale auctions and inactivity takeover auctions.
Use baseline WorldGuard flags, player-editable settings, entity profiles, and hotel rules that track who placed each block.
Capture baselines and snapshots, restore saved region contents, and configure resets when properties return to the market.
Offer safe-location teleporting, particle guidance along configured routes, and marker signs with in-world listing information.
A property manager for more than shops. Commands use /shop, but the managed asset is the region itself. Item trading inside a property is a separate server feature. Financial capabilities described here operate on Paper.
Define a WorldGuard region and select its protection settings.
Assign a shop ID, listing mode, prices, currency, and template.
An eligible purchase or rental assigns the property and updates access.
Manage members, renewals, auctions, and restoration according to server policy.
A WorldGuard region identifies the protected space. An NRM listing holds its property data. Players use the shop ID, such as shop01, in commands.
BUY Purchase onlyRENT Configured rental price and periodBOTH Either option while available
LISTED Available, subject to checksACTIVE Assigned through an active arrangementDISABLED Removed from normal availability
Auctions have their own records and state; they are not a fourth listing state.
Targets Paper 1.21.11. Requires MySQL, WorldGuard, WorldEdit, and zMenu. Financial features also need a supported economy integration.
Default: ExcellentEconomy + NightCore. A compatible provider through Vault or VaultUnlocked is an alternative.
Compiled to Java 21 bytecode. The server JVM must also meet the server's and dependencies' requirements.
Uses a separate build. With MySQL, supports setup, publishing, administration, browsing, signs, free teleports, particle previews, and block snapshots/restores.
Purchases, rentals, renewals, auctions, financial sublease operations, and automatic financial expiry/inactivity processing are paused in this version.
Folia includes no zero-price purchase exception. Keep economy.provider: NONE and shopTeleport.cost: 0. Installing an economy bridge does not enable financial features.
| Component | Tested version |
|---|---|
| Folia | 1.21.11, build 14 |
| Java | 25.0.3 |
| WorldGuard / WorldEdit | 7.0.17 / 7.4.5 |
| zMenu / MySQL | 1.1.1.6 / 8.0.43 |
The supplied project description records functional smoke testing, including snapshot restoration with chest contents and two-player menu use. This is not a production load benchmark. Use the documented stack when reproducing that setup.
plugins/NexusRegionManager/config.yml and set mysql.enabled: true./nrm setup./shop and review an available property's price, mode, and rental period./shop myregions to see your properties./shop manage inside a property you can manage. Renew rentals within the server's rules.MySQL is a required setup step. It is disabled in the bundled configuration. Without a working database, NRM starts in limited JSON fallback mode with command notices, not the full property workflow. Correct the connection and restart.
Permissions, property state, configuration, and platform restrictions apply to all actions.
| Command | Purpose |
|---|---|
/shop · /shop browse | Browse available properties. |
/shop info <shopId> | Inspect listing details. |
/shop myregions | View your properties; /shop myshops is an alias. |
/shop buy <shopId>/shop rent <shopId> | Purchase or rent an eligible listing on Paper. |
/shop renew [shopId] | Renew a rental; the current property can be inferred when possible. |
/shop manage | Manage a property while standing inside it. |
/shop tp <shopId>/shop find <shopId> | Request a teleport or configured particle guidance. |
/shop auctions/shop bid <shopId> <amount> | Browse auctions or place an eligible bid on Paper. |
/rental manage | Open renter management. |
Use /shop help for player help. Required arguments use angle brackets; optional arguments use square brackets. A separate /rent root alias is not declared.
/nrm setup opens the guided hub. Reuse property templates, region selections, price plans, settings groups, and publishing arrangements to keep districts consistent.
/shop adminmanage | Administrative property management |
/nrm publish ... · /nrm publishbatch ... | Individual or batch publishing |
/nrm doctor · /nrm guicheck | Integration and GUI diagnostics |
/nrm stats · /nrm audit <shopId> [limit] | Listing counts and audit history |
/nrm snapshot create|restore|status <shopId> | Snapshot operations; choose one action |
/nrm shopedit waypoint [shopId]/nrm shopedit baseline [shopId] | Set a waypoint or override a baseline |
Use /nrm help for full argument forms. A restore replaces saved region contents; capture and publishing are distinct operations. Capture-on-publish backfill is disabled by default.
Roles are OWNER, MANAGER, MEMBER, and RENTER. Owners and authorized managers can make permitted member and flag edits; central role-change checks reserve role changes for the owner.
nrm.hotel.bypass bypasses that check. Hotel mode is off in the bundled template.nrm.shop.use, rental.use, and nrm.player.path are declared for everyone. nrm.admin.use is declared for operators.nrm.admin. Declared permissions never replace property-role or transaction checks.| Setting | Bundled default |
|---|---|
| Acquisition limits | 1 owned property · 1 rented property |
| Sublease tenant limits | 2 per shop · 6 total |
| Entity profile | shop_light: 16 total; no explicit per-type limits |
| Rental reminders / grace | 72, 24, and 1 hour / 12 hours |
| Automatic renewal | Disabled; catch-up limit 3; failure policy TERMINATE |
| Inactivity auction | 7-day threshold · 24-hour auction · 4-hour owner confirmation |
| Owner sale auction | 7-hour default and minimum |
| Teleporting | Enabled · zero fee · zero cooldown |
| Property resets | Owner enabled · tenant disabled |
These are configurable defaults for project version 1.1.13, not guarantees for every server or listing. Rental duration is configured separately.
Customize config.yml, MiniMessage language files under plugins/NexusRegionManager/languages/, and zMenu templates under plugins/zMenu/inventories/nexusregionmanager/. zMenu is required; no legacy inventory fallback is available.
Paper economy choices are EXCELLENTECONOMY, VAULT, VAULTUNLOCKED, AUTO, and NONE. The default currency ID, money, must exist in your provider. Restart after changing database or economy integrations.
Yes. The property model works with WorldGuard regions, so it can serve different kinds of spaces. The player command namespace remains /shop.
No. Baseline capture is separate from publishing, and optional capture-on-publish backfill is disabled by default. Confirm a valid baseline exists. Restoring can replace changes made since capture.
Only for an integration that uses that bridge. Direct ExcellentEconomy integration requires ExcellentEconomy and NightCore instead. Folia does not need an economy bridge in this build.
Financial operations are explicitly paused in this build, including purchases priced at zero. Changing the price or installing a bridge does not enable them.