What is NexaCombat?#
A combat layer for tags, combatlog punishments, safezones, old PvP tuning, bounties, rewards, evidence, recaps and anti-abuse checks.
NexaCombat is a premium combat control platform for PvP, SMP, Lifesteal and Survival servers.
Product purpose, target audience, main systems, dependencies and quick links.
A combat layer for tags, combatlog punishments, safezones, old PvP tuning, bounties, rewards, evidence, recaps and anti-abuse checks.
PvP and survival server owners who need more than a simple combat tag timer.
PvP, SMP, Lifesteal, Survival, BoxPvP, Factions-style and practice-adjacent 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.
/nexacombatCommandNexaCombat admin command.
nexacombat.admin
/nexacombat
/forcetagCommandForcefully tag a player into combat.
nexacombat.admin
/forcetag
/forceuntagCommandForcefully untag a player from combat.
nexacombat.admin
/forceuntag
/combatuiCommandToggle your combat UI visibility.
Not declared in plugin.yml
/combatui
/togglepvpCommandToggle PvP status.
Not declared in plugin.yml
/togglepvp
/bountyCommandCreate and inspect combat bounties.
Not declared in plugin.yml
/bounty
/deathbackCommandReturn to your last saved death location.
Not declared in plugin.yml
/deathback
/sellheadCommandSell a NexaCombat trophy head from your hand.
Not declared in plugin.yml
/sellhead
/graceCommandManage newbie protection.
Not declared in plugin.yml
/grace
Permission nodes are based on plugin.yml. Assign admin and bypass permissions carefully.
/lp group admin permission set nexacombat.admin true/lp group default permission set nexacombat.admin 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.
addons.yml. The generated file contains more options than this docs excerpt.# ...
# Short documentation excerpt from addons.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
settings:
apply-pending-on-reload: true
allow-delete: true
marketplace:
enabled: false
catalog-url: ""
timeout-ms: 10000
download-artifacts: false
download-directory: "addons"
messages:
queued-install: "&aQueued addon install: &e%addon%&a."
queued-update: "&aQueued addon update: &e%addon%&a."
queued-delete: "&cQueued addon delete: &e%addon%&c."
enabled: "&aEnabled addon: &e%addon%&a."
disabled: "&cDisabled addon: &e%addon%&c."
cancelled: "&eCancelled pending action for &6%addon%&e."
artifact-downloaded: "&aDownloaded addon artifact for &e%addon%&a."
artifact-failed: "&cCould not download addon artifact for &e%addon%&c: %error%"
marketplace-disabled: "&cAddon marketplace sync is disabled."
marketplace-missing-url: "&cAddon marketplace catalog-url is empty."
marketplace-synced: "&aSynced &e%count% &aaddon catalog entrie(s)."
marketplace-failed: "&cAddon marketplace sync failed: %error%"
addons:
actionbar-ui:
display-name: "ActionBar UI"
category: "ui"
description:
- "Combat timer actionbar expansion."
version: "1.0.0"
latest-version: "1.0.0"
installed: true
installed-version: "1.0.0"
enabled: true
restart-required: false
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/addons.yml to review every setting.
# ...Top-level keyssettings, addons
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
settings:
debug: false
event-priorities:
enabled: false
note: "When enabled, core combat listener methods are registered programmatically with these priorities."
listeners:
combat-damage: MONITOR
combat-block-damage: MONITOR
combat-death: MONITOR
combat-quit: NORMAL
combat-join: NORMAL
mob-death: MONITOR
command-aliases:
enabled: false
aliases:
combatmenu: "combat menu"
nc: "nexacombat"
language:
active: messages.yml
hooks:
vault: true
suite-plugins:
enabled: true
cache-expire: 2s
additional-plugin-names: []
command-blocks:
enabled: true
bypass-permission: nexacombat.bypass.suite-hooks
message: "&cYou cannot use that Nexa plugin command while in combat."
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/config.yml to review every setting.
# ...Top-level keyslicense-key, settings, command-aliases, language, hooks, storage
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.
network-sync.yml. The generated file contains more options than this docs excerpt.# ...
# Short documentation excerpt from network-sync.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
servers: {}
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/network-sync.yml to review every setting.
# ...Top-level keysservers
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: "&8[&6NexaCombat&8] &7"
missing-message: "&cMissing message: %key%"
no-permission: "&cNo permission."
player-not-found: "&cPlayer not found."
only-players: "&cOnly players can use this command."
config-reloaded: "&aNexaCombat configs reloaded."
invalid-number: "&cInvalid number."
admin-input:
title: "&8&m------------------------------"
prompt: "&7Type a new value for &e%label%&7."
integer-prompt: "&7Type a whole number for &e%label%&7."
current: "&7Current: &e%current%"
range: "&7Range: &e%min% &7- &e%max%"
clear: "&7Type &e- &7to clear this value."
cancel: "&7Type &ccancel &7to cancel."
cancelled: "&cInput cancelled."
empty-denied: "&cThis value cannot be empty."
too-long: "&cThis value is too long. Max length is 128 characters."
invalid-integer: "&cInvalid number."
out-of-range: "&cValue must be between &e%min% &cand &e%max%&c."
saved: "&aSaved &e%label%&a."
language:
display-name: "&eEnglish"
material: BOOK
changed: "&aLanguage changed to &e%language%&a."
reloaded: "&aMessages reloaded."
not-found: "&cLanguage file not found."
combat-ui:
shown: "&aCombat UI is now visible."
hidden: "&cCombat UI has been hidden."
# ...
# 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.
NexaCombat staff dashboard for status, reloads, debug tools, player commands, sync, bounty/editor entry points and module controls.
NexaCombat AdminLanguage management menu for reloading and navigating combat message files without digging through every YAML path.
NexaCombat LanguagesPlaceholderAPI examples available for this product.
Identifier: nexacombat. The expansion covers combat state, remaining time, opponent, kills, deaths, combatlogs, bounties, assists, reputation and ranked values.
| Placeholder | Example output | Description |
|---|---|---|
%nexacombat_tagged% | true | Returns whether the player is combat-tagged. |
%nexacombat_time% | 21 | Returns remaining combat time. |
%nexacombat_opponent% | RitoMasss | Returns the current combat opponent name. |
%nexacombat_kills% | 14 | Returns tracked PvP kills. |
%nexacombat_bounty_total% | ,500 | Returns the player's active bounty total. |
%nexacombat_reputation_tier% | Clean | Returns the player's reputation tier. |
Storage docs explain YAML, SQLite, MySQL, MariaDB and backup expectations when supported.
Use YAML for small tests, SQLite for simple single-server storage, and MySQL/MariaDB for production networks or busy PvP servers.
Each integration explains purpose, required/optional status, setup steps and troubleshooting.
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: 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: Provides permission, group and metadata checks for admin access, limits, bypass nodes and formatted player data.
Troubleshooting: If permissions or metadata look wrong, run a verbose LuckPerms check and verify inherited groups, contexts and bypass nodes.
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: Provides NPC entities used by bot or combat punishment workflows.
Troubleshooting: If NPCs or bots fail, check Citizens startup errors, skin fetch warnings, disabled worlds and pathfinder restrictions.
Purpose: Adds combat AI behavior on top of Citizens NPC entities when NPC combat behavior is enabled.
Troubleshooting: If NPCs or bots fail, check Citizens startup errors, skin fetch warnings, disabled worlds and pathfinder restrictions.
Purpose: Provides packet-level compatibility for visual, combat or display features that need lower-level server events.
Troubleshooting: If packet features fail, update ProtocolLib for your exact server build and check for packet listener errors on startup.
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 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 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 this product to the practice and bot training ecosystem.
Troubleshooting: If queues or duels do not bridge, confirm the arena/kit exists and both plugins agree on the same mode/profile names.
Purpose: Connects this product to the practice and bot training ecosystem.
Troubleshooting: If bots do not fight correctly, test the profile directly in TrainingBot before testing the external bridge.
Purpose: Connects this product to another Nexa plugin so team, chat, combat, shop or vault state can be reused.
Troubleshooting: If the Nexa bridge does not react, confirm both plugin versions are compatible and that the shared module/hook is enabled on the same server.
The runtime session is the foundation for every other module: PvP/PvE tagging, durations, opponent/cause tracking, multi-attacker state and cleanup.
Configuration: combat.tagging · combat.durations · combat.disabled-worlds · combat.permission-durations
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/forcetag <player> [opponent] [duration] [cause] · /forceuntag <player> · /combat statusGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Attribution connects melee, projectiles, pets, TNT, crystals, anchors, beds, fire and lava to the player who should receive combat, recap, bounty and reward credit.
Configuration: damage-attribution.cache-expire · max-tracked-entries · explosion-location-radius · ignored-projectiles
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat recap <player|id> timeline · /combat evidence <player|id> exportGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Actionbar, bossbar, scoreboard, titles, sounds, progress bars, themes, opponent/cause display, health and damage indicators explain combat state to players.
Configuration: ui.actionbar · ui.bossbar · ui.scoreboard · ui.themes · ui.damage-indicator · ui.protection
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combatui · /combatui on · /combatui offGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Quit detection, rejoin persistence, warning/escalation profiles, admin logs and inventory actions form the anti-combatlog system.
Configuration: punishments.inventory-action · quit-commands · rejoin-commands · smart-combatlog · admin-log
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat debug · /combat evidence list · /combat recapGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Death drops, combatlog drops, killer/victim/assistant access, smart loot, void restoration and saved-drop matching protect valuable items.
Configuration: loot-protection · saved-drops · punishments.corpse-gui · punishments.block-chest
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat debug · /combat evidence <player|id> guiGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Command, chat, movement, item, inventory, block, entity, portal, sleep, book, teleport and protected-player restrictions share a config-backed rule model.
Configuration: restrictions · item-rules · rule-profiles · menus/restrictions.yml
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat profile · /combat reload · /combat debugGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
WorldGuard hooks, PvP-deny/invincibility zones, tagged-player entry denial, pushback borders and region-specific combat rules control combat geography.
Configuration: safezone · region-rules · hooks.worldguard · border material/height/radius
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat region [player] · /combat worldsGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Old attack timing, shields/offhand, regeneration, hunger, armor, weapon damage, projectile behavior, hit delay and custom knockback reproduce older combat styles.
Configuration: old-pvp · combat-items · custom knockback editor
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat oldpvp · /combat knockbackGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Player PvP state, first-join/respawn grace, protected-player damage rules, lava/fire abuse prevention and PvP-zone entry denial protect new players.
Configuration: toggle-pvp · newbie-protection · grace/respawn settings
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/togglepvp · /pvp · /grace status · /grace give <player> <duration> · /grace remove <player> · /grace disableGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Bounty creation, tax, expiry, anonymous display, target glow/prefix, forced combat, compass tracking and weighted claim/assist payouts form the bounty loop.
Configuration: bounty.enabled · min/max-amount · tax-percent · expiration · forced-combat · compass
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/bounty create <player> [amount] [anonymous] · /bounty list · /bounty info <player> · /bounty compass <player> · /bounty remove <id>Give command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Kill/death/combatlog rewards, PvP points, Vault/ShopGUI/ZShop providers, streaks, permission groups, assist rewards and persistent stats share one event pipeline.
Configuration: rewards · assist-rewards · point-economy · stattrak · data-groups
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat stats · /combat points · /combat assist · /combat resetstats <player>Give command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Top queries, ranking displays, ELO/MMR seasons, tiers, reputation scores and LuckPerms contexts define competitive identity.
Configuration: ranking · ranked-pvp · reputation · data-groups
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat ranking · /combat season start <id> <duration> · /combat season end · /combat season top · /combat reputation <player>Give command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Combat head drops, PDC/value validation, sellhead economy payout and persisted death return are independent reward/recovery features.
Configuration: head-trophies · head-trophies.sellhead · deathback
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/sellhead · /deathback · /combat trophiesGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Recaps capture inventories, armor, potion/apple/totem use, damage sources, assistants, duration, location and analytics; evidence converts risky fights into staff reports.
Configuration: kill-recap · combat-evidence · evidence retention/export-dir
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat recap <player|id> [gui] · /combat recap list [player] [gui] · /combat recap <id> export · /combat evidence <player|id> gui · /combat evidence list [filter] guiGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Repeated kills, same-IP/team/claim/faction relations, proximity abuse, one-sided damage and cleanup detection protect rewards, stats and bounties.
Configuration: anti-kill-farm · fair-fight · relation hooks
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat antifarm <player> · /combat cleanup <player>Give command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Visual replay records movement, equipment, inventory, projectiles, blocks, explosions, CPS, review markers and terrain snapshots; heatmap aggregates combat activity over time.
Configuration: visual-replay · combat-heatmap · binary/GZIP recording storage
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat recap <player|id> replay · /combat recap replay <id> · /combat recap recordings · /combat heatmapGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
The admin GUI edits settings, languages, restrictions, rewards, bounty, ranking, knockback, old PvP, UI, evidence, saved drops and network sync.
Configuration: menus/admin.yml · menus/settings.yml · menus/restrictions.yml · menus/rewards.yml · menus/evidence.yml · menus/saved-drops.yml
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat reload · /combat oldpvp · /combat knockback · /combat debugGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
SQLite/YAML migration, MySQL/MariaDB persistence, auto-save and network combat locks keep state consistent across restarts and backend servers.
Configuration: storage · network-sync · network-sync.combat-locks
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat reload · /combat debug · /combat statusGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Soft hooks connect economy, WorldGuard, Citizens, ViaVersion, LuckPerms, relation plugins, shop providers, NexaTeams, EventPractice and other Nexa modules.
Configuration: addons.yml · hooks · network-sync.yml
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat debug · /combat region [player] · /combat statusGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
A staged rollout prevents false attribution, duplicate rewards, unrecoverable punishment and replay/storage problems from reaching live players.
Configuration: config.yml · addons.yml · network-sync.yml · storage/evidence/replay directories
Apply changes in staging first, then reload/restart according to the setting lifecycle.
/combat status · /combat debug · /combat reloadGive command access through the smallest matching permission and verify the output as a normal player, staff account and bypass account where applicable.
Deliver combatlog, bounty, anti-farm, cleanup and killstreak events through a retrying, rate-limited webhook queue while keeping heatmap and recap analytics available to staff.
webhooks and set URL, timeout, rate limit and maximum queue.combat-heatmap bucket size, retention, sample rate and save interval.webhooks:
enabled: false
timeout-seconds: 8
rate-limit: 2s
max-queue: 100
retry:
enabled: true
combat-heatmap:
enabled: true
retention: 30dConfigure NexaCombat in layers: tag state, restrictions, punishment, rewards and evidence.
/combat status, /combat recap and /combat evidence after the match./forcetag <player> or /forceuntag <player> only for recovery./combat ui, worlds, region and knockback to review active rules./combat antifarm and assist to inspect suspicious reward patterns.Bounties, ranking/ELO, reputation, trophies, killstreaks and fight history should share one verified damage attribution policy. Test assists, team relations, duel/practice hooks and kill-farm prevention together so one event is not rewarded twice.
/bounty /combat profile /combat reputation /combat heatmap /combat cleanupFor a report, capture the combat recap id, evidence export, world/region, player relation, active profile and first console error. Do not change punishment settings while a disputed combat session is still active.
Ready-to-follow scenarios reduce support tickets and make the product easier to configure.
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.
Use stricter cooldowns, staff visibility, abuse protection and clear player feedback for high-conflict gameplay.
Use stricter cooldowns, staff visibility, abuse protection and clear player feedback for high-conflict gameplay.
Use stricter cooldowns, staff visibility, abuse protection and clear player feedback for high-conflict gameplay.
Start with console logs, config diffs, plugin version and reproduction steps.
Confirm the damage event is not cancelled by spawn protection, WorldGuard, claims or another PvP plugin. Test outside safezones with two non-op players and check combat module toggles.
Check the punishment mode, quit listener, bypass permissions and whether the player is still tagged at disconnect time. Test with a real disconnect, not only /kick.
Verify the exact WorldGuard region name, region priority and hook toggle. Also confirm your safezone action is enabled for entry, exit or damage as expected.
Confirm Vault/economy provider is loaded, reward rules match the kill context and anti-farm did not block the kill. Check console for transaction failures.
Review same-player, same-IP, cooldown and alt-detection limits. Increase thresholds if normal repeated fights are being blocked.
Confirm Citizens is installed when NPC/corpse features are enabled, then check disabled worlds, cleanup timers and skin/pathfinder console warnings.
Check server version compatibility, module toggles and whether another combat plugin modifies attack cooldown, knockback or shield behavior later in the event chain.
Short answers for common buyer and staff questions.
No Folia claim is made for this product page. Run it on the server target listed in Overview.
This page targets Paper 1.21 with Java 21. Legacy 1.8 support is not part of this docs page.
Use YAML for small tests, SQLite for simple single-server storage, and MySQL/MariaDB for production networks or busy PvP servers.
This product has a small runtime surface; use the listed YAML files and commands rather than a module system.
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.
Latest documented update: 2026-05-05.
Send enough information to reproduce the issue.
Plugin: NexaCombat
Plugin version:
Server version:
Java version:
Server software:
Database type:
Installed hooks:
Error log:
Steps to reproduce:
Expected behavior:
Screenshots/video: