What is NexaSpawners?#
A lag-conscious virtual spawner platform with storage, selling, boosters, corruption, ownership, trust and admin tooling.
NexaSpawners is a virtual spawner economy plugin that keeps spawners visible while moving production, storage, XP, selling, boosters and management into configurable systems.
Product purpose, target audience, main systems, dependencies and quick links.
A lag-conscious virtual spawner platform with storage, selling, boosters, corruption, ownership, trust and admin tooling.
SMP, Lifesteal and SkyBlock servers that need scalable spawner economies.
SMP, Lifesteal, SkyBlock, Prison and economy servers.
Installation gets the plugin to boot. First Setup prepares it for production use.
Recommended first configuration pass after the plugin has generated its files.
Commands, permissions, and usage examples.
/spawnerCommandMain NexaSpawners command.
Not declared in plugin.yml
/spawner
/nexaspawnersCommandAdmin NexaSpawners command.
Not declared in plugin.yml
/nexaspawners
Permission nodes are based on plugin.yml. Assign admin and bypass permissions carefully.
/lp group admin permission set nexaspawners.admin true/lp group default permission set nexaspawners.use trueConfiguration YAML files below contain short bundled default excerpts, not full files. Message YAML is documented only in Messages & Language.
Plugin-specific YAML settings used by this product.
boosters.yml. The generated file contains more options than this docs excerpt.# ...
# Short documentation excerpt from boosters.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
limits:
# 0 or lower makes active booster slots unlimited.
max-active-per-spawner: 3
per-type:
iron_golem: 4
application:
# PER_STACK consumes one booster item per internal spawner stack.
# FLAT consumes one booster item regardless of stack count.
item-cost-mode: "PER_STACK"
global:
enabled: true
# 0 or lower makes global booster slots unlimited.
max-active: 3
allow-duplicate-types: false
personal:
enabled: true
max-active-per-player: 3
allow-duplicate-types: false
persist: true
commands:
give-personal: true
boosters:
autosell:
type: "AUTOSELL"
multiplier: 1.0
duration-seconds: 1800
rarity: "EPIC"
stackable: false
item:
material: "EMERALD"
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/boosters.yml to review every setting.
# ...Top-level keyslimits, application, global, personal, boosters, autosell
Production handlingBack up this file, edit the generated copy under the plugin folder, then run the product reload command or restart for startup-level settings.
Main runtime settings, license, modules, limits, storage and feature behavior.
config.yml. The generated file contains more options than this docs excerpt.# ...
# Short documentation excerpt from config.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
License-key: "LICENSE"
color-format: "minimessage"
debug: false
server:
supported-modes:
- VIRTUAL
- CLASSIC
default-mode: "VIRTUAL"
disable-vanilla-spawner-spawns-near-virtual-spawners: true
production:
tick-interval-seconds: 5
max-offline-seconds: 43200
max-productions-per-tick: 720
max-spawners-per-cycle: 0
max-spawners-per-chunk-per-cycle: 0
round-robin: true
region-dispatch: true
save-only-when-dirty: true
offline-production: true
mob-nerfing:
slime-split:
enabled: false
only-near-registered-spawners: true
radius-blocks: 8
spawned-mobs:
enabled: false
only-near-registered-spawners: true
radius-blocks: 8
disable-ai: false
disable-pickup: false
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/config.yml to review every setting.
# ...Top-level keysLicense-key, color-format, debug, server, production, mob-nerfing
Production handlingBack up this file, edit the generated copy under the plugin folder, then run the product reload command or restart for startup-level settings.
Plugin-specific YAML settings used by this product.
corruption.yml. The generated file contains more options than this docs excerpt.# ...
# Short documentation excerpt from corruption.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
enabled: true
rate-per-production: 1
max-corruption: 100
decay-per-clean: 100
clean-cost: 500.0
clean-item:
enabled: true
consume-before-cost: true
material: "AMETHYST_SHARD"
name: "<light_purple>Corruption Cleaner"
lore:
- "<gray>Use this in the corruption GUI"
- "<gray>to clean one spawner without paying money."
punishments:
slow-at: 50
lock-at: 100
slow-multiplier: 0.50
# SLOW, STOP_PRODUCTION, LOCK_STORAGE, DISABLE_SELL, REQUIRE_CHALLENGE
max-actions:
- "STOP_PRODUCTION"
- "REQUIRE_CHALLENGE"
actions:
SLOW:
enabled: true
at: 50
multiplier: 0.50
STOP_PRODUCTION:
enabled: true
at: 100
LOCK_STORAGE:
enabled: false
at: 100
DISABLE_SELL:
enabled: false
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/corruption.yml to review every setting.
# ...Top-level keysenabled, rate-per-production, max-corruption, decay-per-clean, clean-cost, clean-item
Production handlingBack up this file, edit the generated copy under the plugin folder, then run the product reload command or restart for startup-level settings.
Optional plugin hooks, external providers and compatibility toggles.
hooks.yml. The generated file contains more options than this docs excerpt.# ...
# Short documentation excerpt from hooks.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
economy:
vault: true
# Price resolution order after explicit spawner drop sell-price values.
price-provider-order:
- shopguiplus
- excellentshop
- essentials-worth
- nascraft
- zshop
- economyshopgui
shopguiplus: true
excellentshop: true
essentials-worth: true
nascraft: true
zshop: true
economyshopgui: true
holograms:
decentholograms: true
fancyholograms: true
cmi: true
protection:
worldguard: true
griefprevention: true
protectionstones: true
lands: true
towny: true
factions: true
huskclaims: true
skyblock:
superiorskyblock2: true
bentobox: true
iridiumskyblock: true
lifecycle-cleanup:
enabled: true
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/hooks.yml to review every setting.
# ...Top-level keyseconomy, holograms, protection, skyblock, lifecycle-cleanup, custom-items
Production handlingBack up this file, edit the generated copy under the plugin folder, then run the product reload command or restart for startup-level settings.
Feature modules and ready setup presets.
modules.yml. The generated file contains more options than this docs excerpt.# ...
# Short documentation excerpt from modules.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
virtual-engine: true
gui-menus: true
classic-mode: true
storage: true
selling: true
sellwands: true
boosters: true
corruption: true
ownership-trust: false
stacking: true
admin-panel: true
protection: true
holograms: true
migrations: true
api: true
placeholderapi: true
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/modules.yml to review every setting.
# ...Top-level keysvirtual-engine, gui-menus, classic-mode, storage, selling, sellwands
Production handlingBack up this file, edit the generated copy under the plugin folder, then run the product reload command or restart for startup-level settings.
Feature modules and ready setup presets.
setup-presets.yml. The generated file contains more options than this docs excerpt.# ...
# Short documentation excerpt from setup-presets.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
presets:
donutsmp:
description: "DonutSMP-ready: high storage, fast virtual production and simple protection defaults."
config:
production.tick-interval-seconds: 5
production.max-offline-seconds: 43200
behavior.require-silk-touch-to-break: true
storage:
capacity.default-items: 75000
capacity.per-stack-bonus: 7500
overflow.mode: "pause"
sellwands:
default-uses: 250
default-multiplier: 1.15
holograms:
enabled: true
update-interval-seconds: 10
limits:
chunk-limit: 35
player-limit: 300
corruption:
enabled: true
challenge.enabled: true
challenge.require-at: 80
skyblock:
description: "Island-friendly limits, larger stacks and island placement."
config:
production.tick-interval-seconds: 5
storage:
capacity.default-items: 100000
capacity.per-stack-bonus: 10000
limits:
placement.only-island: true
chunk-limit: 50
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/setup-presets.yml to review every setting.
# ...Top-level keyspresets
Production handlingBack up this file, edit the generated copy under the plugin folder, then run the product reload command or restart for startup-level settings.
Translation and formatting guidance based on the product's bundled resources.
This product ships messages.yml. Edit the generated copy in the plugin folder, keep placeholders intact, then reload the plugin command or restart for startup-level changes.
<red>Error message</red>
&cLegacy color message
{player} {amount} {reason}messages.yml. The generated file contains more message keys than this docs excerpt.# ...
# Short documentation excerpt from messages.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
prefix: "<gradient:#00ffcc:#0099ff>NexaSpawners</gradient> <gray>|</gray> "
missing-message: "<red>Missing message: <key>"
no-permission: "<red>You do not have permission."
player-only: "<red>Only players can use this command."
reload-complete: "<green>NexaSpawners reloaded."
license-header: "<gold>NexaSpawners License"
license-status-line: "<gray>Status: <white><status>"
unknown-command: "<red>Unknown subcommand. Use <white>/spawner help<red>."
usage-give: "<red>Usage: /spawner give <player> <type> <amount> [stack]"
usage-givebooster: "<red>Usage: /spawner givebooster <player> <booster> <amount>"
usage-givepersonalbooster: "<red>Usage: /spawner givepersonalbooster <player> <booster> [durationSeconds]"
usage-globalbooster: "<red>Usage: /spawner globalbooster <booster|list|clear> [durationSeconds]"
usage-panel: "<red>Usage: /spawner panel [search|owner|type|clear] [query] or /spawner panel bulk <clear|sell|delete|lock|unlock|export> confirm"
usage-givecleaner: "<red>Usage: /spawner givecleaner <player> <amount>"
usage-givesellwand: "<red>Usage: /spawner givesellwand <player> [uses] [multiplier]"
usage-givesellaxe: "<red>Usage: /spawner givesellaxe <player> [uses] [multiplier]"
usage-teleport: "<red>Usage: /spawner teleport <id>"
usage-remove: "<red>Usage: /spawner remove <id>"
usage-clearstorage: "<red>Usage: /spawner clearstorage <id>"
usage-forcesell: "<red>Usage: /spawner forcesell <id>"
usage-setowner: "<red>Usage: /spawner setowner <id> <player>"
usage-holograms: "<red>Usage: /spawner holograms <on|off|refresh>"
usage-logs: "<red>Usage: /spawner logs <id>"
usage-export: "<red>Usage: /spawner export [csv|json]"
usage-seasonreset: "<red>Usage: /spawner seasonreset <economy|storage|xp|corruption|boosters|all> confirm"
usage-operations: "<red>Usage: /spawner operations [list|limit] or /spawner operations resolve <operationId> <completed|failed> [note]"
usage-split: "<red>Usage: /spawner split [amount]"
usage-leaderboard: "<red>Usage: /spawner leaderboard [value|stack|storage|xp|corruption] [owner|spawner]"
usage-setup: "<red>Usage: /spawner setup [preset apply|preset preview|rollback]"
usage-lifecycle: "<red>Usage: /spawner lifecycle <simulate|export|apply> <provider> <delete|lock|transfer|ignore> [all|world|owner|type|id|locked|corrupted|full] [query] [confirm]"
usage-challenge: "<red>Usage: /spawner challenge [answer]"
usage-trust: "<red>Usage: /spawner trust <player> [open,sell,collect,boost,upgrade,break,modify,all]"
usage-untrust: "<red>Usage: /spawner untrust <player> [open,sell,collect,boost,upgrade,break,modify,all]"
usage-migrate: "<red>Usage: /spawner migrate <plugin|scan|confirm|rollback>"
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/messages.yml to review every setting.
# ...GUI cards describe the actual menus available in this product build.
Staff panel for NexaSpawners administration, diagnostics and editor entry points.
NexaSpawners AdminSpawner booster menu for viewing and applying production modifiers.
Spawner BoostersSell confirmation menu used before bulk-selling stored spawner drops.
Confirm SellCorruption state menu for viewing and resolving special spawner risk mechanics.
CorruptionAnti-AFK or corruption challenge screen used by the spawner corruption system.
Anti-AFK ChallengeMain in-game editor for NexaSpawners configuration areas.
NexaSpawners EditorAdmin editor for a single booster definition, including values used by the booster menu.
Booster:Admin list editor for configured booster definitions.
Editor: BoostersAdmin editor for one spawner drop entry, including item, chance and value-related settings.
Drop:Admin list editor for configured drop definitions.
Editor Drops:Admin editor for storage capacity, collection and output behavior.
Editor: StorageAdmin editor for one spawner type, including production and display settings.
Editor:Admin list editor for available spawner type definitions.
Editor: TypesSpawner history menu for reviewing recent production, storage or admin activity.
Spawner LogsMain spawner control menu for production status, XP collection, stack actions and management entry points.
SpawnerSetup preset selector used to apply starting configurations such as Skyblock or Lifesteal layouts.
NexaSpawners SetupPreset confirmation menu shown before applying a setup template.
Apply Preset?Spawner list menu for browsing owned or managed spawner instances.
Spawner ListStorage menu for collected drops, capacity state and withdraw/sell actions.
Spawner StorageTrusted players menu for viewing and managing who can interact with owned spawners.
Trusted PlayersTrust menu for adding a player to a spawner's access list.
Add Trusted PlayerTrust editor for changing a trusted player's access level.
Edit Trusted PlayerSpawner upgrade menu for progression choices, upgrade prices and active upgrade state.
Spawner UpgradesPlaceholderAPI examples available for this product.
Identifier: nexaspawners. PlaceholderAPI and MiniPlaceholders cover totals, player metrics, world/type metrics, spawner metrics, storage, value, boosters and corruption values.
| Placeholder | Example output | Description |
|---|---|---|
%nexaspawners_total% | 64 | Returns total virtual spawners. |
%nexaspawners_player_storage% | 18,320 | Returns stored drops for the player context. |
%nexaspawners_player_value% | ,500 | Returns formatted spawner value for the player context. |
%nexaspawners_world_world_total% | 21 | Returns total spawners in a named world. |
%nexaspawners_spawner_abc123_stack% | 6 | Returns stack size for a spawner id. |
Storage docs explain YAML, SQLite, MySQL, MariaDB and backup expectations when supported.
Use file storage for small tests and SQL storage for production economies, leaderboards and seasonal data.
Each integration explains purpose, required/optional status, setup steps and troubleshooting.
Purpose: Provides economy withdrawals, deposits, prices, banks or metadata through Vault.
Troubleshooting: If balances, rewards or banks do not work, confirm Vault has an active economy provider and that no economy plugin loads after this product.
Purpose: Registers or consumes PlaceholderAPI values for scoreboards, formats and external displays.
Troubleshooting: If values stay blank, reload expansions and verify the identifier exactly matches the placeholder shown in this docs page.
Purpose: Registers or consumes PlaceholderAPI values for scoreboards, formats and external displays.
Troubleshooting: If values stay blank, reload expansions and verify the identifier exactly matches the placeholder shown in this docs page.
Purpose: Connects gameplay behavior to claims, regions or group ownership rules.
Troubleshooting: If region or claim rules do not apply, check region priority, claim ownership, world names and whether the hook is enabled.
Purpose: Connects production, sell and price logic to the server's economy/shop stack.
Troubleshooting: If transactions fail, verify the currency id, provider startup order and whether the player has enough balance or inventory space.
Purpose: Provides floating display output for spawner, shop or location-based information.
Troubleshooting: If visuals are missing, check asset ids, resource-pack generation and provider reload order.
Turn the product surface on in a predictable order before tuning individual gameplay systems.
virtual-engine: true gui-menus: true classic-mode: true storage: true selling: true sellwands: true boosters: true corruption: true ownership-trust: false stacking: true admin-panel: true protection: true holograms: true migrations: true api: true placeholderapi: trueThese keys belong to modules.yml. The default build keeps ownership-trust disabled until claim/team rules are reviewed.
plugins/NexaSpawners/ directory before editing.ownership-trust: true and configure trust.enabled in config.yml./spawner reload for ordinary YAML tuning.Create a real spawner block while production, storage and XP remain virtual and persist by spawner UUID.
/spawner give <player> <type> <amount> [stack].behavior.classic-mode-requires-sneak-to-open-gui is enabled.production.tick-interval-seconds, offline cap and per-cycle budgets.server.default-mode chooses VIRTUAL or CLASSIC.production.round-robin: true prevents early records consuming every cycle.production.region-dispatch: true routes location-sensitive mutations through the scheduler abstraction.Define available mobs, production rules, drops, XP and prices in the individual files under spawners/.
spawners/iron_golem.yml for a controlled variant.sell-price when needed.limits.type-limits.per-player and per-world override global limits.stacking.per-type.iron_golem can cap a specific internal stack.corruption.types.iron_golem.multiplier applies type-specific pressure.# Type release checklist type-id: iron_golem drop: IRON_INGOT sell-price: 15.0 test: production -> storage -> sell -> break -> replaceConfigure how drops, XP, inventory overflow and storage actions behave for every spawner.
storage.capacity.default-items is the base capacity.per-stack-bonus scales a stacked spawner.per-drop-capacity and per-drop prevent one item consuming all storage.storage.overflow.mode accepts pause, void or overfill.storage.capacity.default-items: 25000 storage.capacity.per-stack-bonus: 5000 storage.capacity.per-drop-capacity: 10000 storage.overflow.mode: "pause"storage.collect./spawner collect for collection and XP, or /spawner sell for a normal sale.Connect prices and Vault, then expose single-spawner and area selling without bypassing ownership or trust checks.
hooks.yml price-provider order and confirm the shop plugin is loaded.nexaspawners.sell.multiplier.<number> only for approved ranks./spawner sell.selling.permission-multipliers.enabled: true selling.permission-multipliers.default: 1.0 selling.permission-multipliers.max: 10.0/spawner givesellwand <player> [uses] [multiplier] gives the configured wand./spawner givesellaxe <player> [uses] [multiplier] gives the configured axe.same-owner-only and require-trust-per-spawner protect area actions./spawner sellnotify to test personal success feedback.Disable Vault or return a zero price, attempt a sale and confirm storage is not silently removed. For persistence failures use /spawner operations and resolve only after checking whether money was applied.
Configure temporary production, loot, XP, sell, storage, corruption-protection and AutoSell modifiers with persistence.
INCREASE_SPEED, INCREASE_LOOT, INCREASE_XP, INCREASE_SELL and AUTOSELL./spawner givebooster <player> <booster> <amount> /spawner givepersonalbooster <player> <booster> [durationSeconds] /spawner globalbooster <booster|list|clear> [durationSeconds]Use nexaspawners.give, nexaspawners.personalbooster, nexaspawners.globalbooster and nexaspawners.booster as separate boundaries.
application.item-cost-mode.Add progressive corruption pressure, threshold actions, cleaner items and challenge sessions to high-volume spawners.
corruption.rate-per-production: 1 corruption.max-corruption: 100 corruption.punishments.slow-at: 50 corruption.punishments.lock-at: 100 corruption.challenge.require-at: 80nexaspawners.corruption.bypass must be tested./spawner givecleaner <player> <amount>./spawner challenge [answer] or the challenge GUI.Build a persistent progression loop for speed, loot, XP and storage without hiding its economic cost.
PER_STACK cost scales an upgrade with the internal stack; use FLAT only intentionally.upgrades.enabled: true upgrades.cost-mode: "PER_STACK" speed.max-level: 10 loot.max-level: 10 xp.max-level: 10 storage.max-level: 10 storage.capacity-per-level: 10000/spawner upgrade.Define who can open, collect, sell, boost, upgrade, break and modify a spawner, then combine it with claim and island hooks.
modules.yml: ownership-trust: true and trust.enabled: true./spawner trust <player> [actions] and /spawner untrust <player> [actions].open, sell, collect, boost, upgrade, break, modify and all./spawner lock and /spawner unlock.limits.nexaspawners.limit.<number> and nexaspawners.stack.<number>./spawner hooks.Scale a spawner economy with internal stack amounts while preserving state and preventing excess merges.
stacking.enabled: true stacking.shift-right-click-adds-stack: true stacking.allow-split: true stacking.default-max-stack: 1000 stacking.chunk-max-stack: -1 stacking.per-type.iron_golem: 500/spawner split [amount] to remove part of the stack.nexaspawners.stack.split to control who may split.Make spawner visibility and physical protection match the server's griefing, stealth and staff policies.
protection.explosions.holograms./spawner holograms on|off|refresh after provider changes.nexaspawners.antiesp.bypass for staff.Use bundled GUI files as the player-facing control plane instead of hardcoding module behavior into commands.
guis/main.yml links storage, XP, boosters, trust, corruption, upgrades, sell, logs, split and info.nexaspawners.editor and run /spawner editor.Give staff a searchable operational view with guarded mutations and recoverable reports.
/spawner panel and filter by search, owner, type, dimension or status./spawner inspect <id> before changing a record./spawner panel bulk <clear|sell|delete|lock|unlock|export> confirm./spawner export [csv|json] /spawner backup /spawner operations [list|limit] /spawner operations resolve <operationId> <completed|failed> [note] /spawner seasonreset <economy|storage|xp|corruption|boosters|all> confirmReserve nexaspawners.panel, nexaspawners.export, nexaspawners.seasonreset and bypass permissions for a small staff group.
Use guided server profiles and migration hooks instead of starting from arbitrary economy values.
donutsmp, skyblock, lifesteal, survival or op_economy./spawner setup <preset> preview and review production, capacity, limits, hooks and corruption./spawner setup <preset> apply during maintenance./spawner setup rollback for the current runtime snapshot./spawner migrate <plugin> or /spawner convert.Connect optional providers through safe hooks while keeping NexaSpawners functional when a dependency is missing.
/spawner hooks after every dependency change and document detected providers.Configure Vault plus ShopGUIPlus, ExcellentShop, Essentials worth, Nascraft, zShop and EconomyShopGUI in hooks.yml. Test a known item, unknown item and provider outage.
Enable only active WorldGuard, GriefPrevention, ProtectionStones, Lands, Towny, Factions, HuskClaims, SuperiorSkyblock2, BentoBox or IridiumSkyblock adapters. Test placement, trust inheritance and cleanup.
Custom item ids can come from ItemsAdder, Oraxen or Nexo. Webhooks can filter sell, admin, migration and corruption events with timeout, retry and rate limits.
Set lifecycle-cleanup.default-action to delete, unclaim-protect-disable, owner-transfer or ignore. Use /spawner lifecycle simulate ... before apply ... confirm; export the report first.
Expose spawner state to addons, scoreboards and integrations without coupling consumers to internal services.
StorageChangeEvent observes production, collect, drop, sell, autosell and admin-clear mutations.%nexaspawners_player_value%, %nexaspawners_total_storage% and %nexaspawners_spawner_<id>_corruption%.%nexaspawners_total% %nexaspawners_player_stack% %nexaspawners_type_iron_golem_value% %nexaspawners_spawner_<id>_storage%Choose SQLite for small servers or MySQL/MariaDB for production reporting, then verify queue and backup behavior.
nexaspawners.db, WAL and a configurable busy timeout.database.storage.mysqldump or mariadb-dump executable for SQL backups./spawner backup and confirm a readable artifact.Move from a single test spawner to a live economy with staged load, permission and recovery checks.
/spawner operations.Operate spawners through ownership, storage, boosters, selling and upgrade checks.
/spawner panel or /spawner list./spawner trust <player> [actions]./spawner inspect <id> before changing ownership./spawner setowner, clearstorage or remove only with a ticket/audit reason.limits:
max-active-per-spawner: 3
application:
item-cost-mode: "PER_STACK"
global:
enabled: true
personal:
enabled: true
persist: trueTest one storage fill, one sale, one blocked item and one economy-provider failure. Confirm items are not removed when the transaction cannot be completed and that the audit/log entry explains the result.
Ready-to-follow scenarios reduce support tickets and make the product easier to configure.
Apply this setup by editing the related config files, assigning permissions and testing the full player workflow.
Use stricter cooldowns, staff visibility, abuse protection and clear player feedback for high-conflict gameplay.
Use conservative defaults, SQLite or simple file storage, readable messages and relaxed limits for community servers.
Map permissions to progression tiers, test upgrades, then document reset or season migration behavior.
Use production SQL, unique server IDs, shared sync secrets and a controlled Redis or proxy transport.
Start with console logs, config diffs, plugin version and reproduction steps.
Check chunk/activity rules, owner permissions, production interval, storage capacity and whether the spawner type has a valid drop table.
Verify virtual storage is enabled, capacity is not zero and production is not blocked by chunk, world or ownership rules.
Confirm economy provider, sell permission, item/drop value and whether the player has enough stored items to sell.
Check booster scope, expiry time, stacking rules and whether the spawner/player/server target matches the active booster.
Review trusted player lists, team/claim integration and admin bypass permissions. Test with a fresh non-op account.
Verify host, port, database name, credentials, firewall access and the storage type in the generated YAML file.
Short answers for common buyer and staff questions.
Yes. The product descriptor or docs metadata marks this product as Folia-oriented; keep third-party hook thread-safety in mind during production testing.
This page targets Paper/Folia with Java 21. Legacy 1.8 support is not part of this docs page.
Use file storage for small tests and SQL storage for production economies, leaderboards and seasonal data.
Yes. Use the Configuration section to manage the product modules and behavior exposed by YAML.
Yes. Edit messages.yml and reload or restart according to the setting changed.
Yes. The documented identifier and examples are listed in the Placeholders section.
Product release notes grouped by version. Major public changes are written for buyers and server owners, not as raw commit logs.
Send enough information to reproduce the issue.
Plugin: NexaSpawners
Plugin version:
Server version:
Java version:
Server software:
Database type:
Installed hooks:
Error log:
Steps to reproduce:
Expected behavior:
Screenshots/video: