Taking Charge of Player versus Player with CombatControl
Running a Minecraft server means juggling countless player preferences, and few things spark more debate than PvP. Some players love the thrill of spontaneous combat, while others just want to build in peace. CombatControl is a powerful Spigot plugin that hands the reins back to you and your community, letting each player toggle their own PvP status while giving admins a robust toolkit to enforce rules, lock states, and manage combat across multiple worlds. It is a lightweight yet feature-packed solution that eliminates the need for clunky workarounds or constant manual intervention.
Core Player Commands and How They Work
At the heart of CombatControl lies the simple /pvp command. Any player with the cc.pvp permission can type it to flip their personal PvP state on or off. When PvP is enabled, they can fight and be fought; when disabled, they are essentially pacified. This empowers players to opt in or out without begging an admin. The plugin also supports aliases like /pvptoggle or /cc, making it easy to remember. For admins, /pvpadmin (aliased as /pvpa or /cca) opens a world of control.
Admin Commands: Fine-Tuning Every Aspect
Admins with cc.pvpadmin can run a suite of commands to manage the server’s combat landscape. The /pvpa list command shows every player who currently has personal PvP enabled, while /pvpa check [player] lets you peek at an individual’s status. The real muscle comes from /pvpa set [player / *] [true / false], which forces a player’s PvP state — use an asterisk to target everyone. The /pvpa lock [player / *] <s> command prevents a player from toggling their own PvP, optionally silencing the notification with the s flag. Need to refresh the configuration after tweaking files? /pvpa reload does exactly that.
Multiworld Support: Tailoring Combat per Dimension
One of CombatControl’s standout features is its multiworld awareness. Once the plugin loads, a worlds.yml file appears in its directory. Inside, you will find three lists: noToggleWorlds, enabledWorlds, and disabledWorlds. Worlds in noToggleWorlds block players from using /pvp unless they have the cc.noToggleExempt permission. enabledWorlds force PvP on for anyone lacking cc.forceExempt, while disabledWorlds do the opposite. A world must never appear in both enabledWorlds and disabledWorlds; if it does, the console logs a warning and alerts players with cc.pvpadmin.worlds. You can edit worlds.yml manually or use in-game commands like /pvpa worlds add [worldname] [0/1/2] and /pvpa worlds remove [worldname] [0/1]. The /pvpa worlds list and /pvpa worlds check commands give you quick overviews and status of your current world.
Permissions That Unlock Advanced Control
Beyond the basics, CombatControl offers granular permission nodes that let you delegate power carefully. The cc.pvpadmin.set.* permission allows setting any player’s PvP state, while cc.pvpadmin.lock.* permits locking or unlocking every player on the server. The cc.forceExempt node prevents a player’s PvP state from being overridden when they enter a world with forced PvP settings — ideal for staff or special roles. Similarly, cc.noToggleExempt lets a player use /pvp even in noToggleWorlds. A handy cc.updateAlert permission notifies the player on reload if a new version of CombatControl is available, keeping your server up to date without constant manual checks.
Configuration and Customization
CombatControl’s configuration has grown so rich that it practically deserves its own documentation page. The main config lets you set default PvP modes, toggle whether players drop items on death, and even change player tag colors when PvP is active. The messages.yml file is fully translatable, so you can tailor every notification to your community’s language or tone. If you ever encounter a NullPointerException related to Utils.processMessage, simply delete messages.yml and run /pvpadmin reload to regenerate a clean copy. The plugin also integrates with MCStats for anonymous usage statistics, but you can opt out by editing the file in plugins/PluginMetrics/.
Installing CombatControl is straightforward. You can grab the latest JAR from the Spigot resource page and drop it into your server’s plugins folder. If you manage multiple mods and prefer a unified dashboard, this plugin can be easily installed via the foxygame.net launcher — a convenient, flexible, and modern Minecraft launcher where you can download mods right from the menu. After restarting your server, the plugin will generate all necessary files, and you can begin tweaking settings immediately.
Common Pitfalls and Quick Fixes
Even a well-designed plugin can trip up new server owners. Always double-check that PvP is enabled in your server.properties file; if it is set to false, CombatControl cannot override the server-wide rule. For those using Multiverse, ensure each world has PvP enabled via /mv modify set pvp true. Remember that CombatControl takes priority — a player must have /pvp enabled to fight, even if another plugin tries to force combat. If you see unexpected behavior, a quick config reload often resolves it.
What Is Coming Next
As a beta release, CombatControl already delivers impressive functionality, but the roadmap promises even more. Planned features include visual indicators like changing player name tag colors when PvP is toggled, configurable item drop prevention on death, a default PvP mode setting, kill-on-PvP-log options, and even PvP pressure plates that force combat in arena entrances. The developer actively welcomes suggestions, so if you have an idea, drop it in the plugin’s comment section.
Wrapping Up: Why CombatControl Belongs on Your Server
CombatControl transforms PvP management from a tedious chore into a seamless, player-friendly experience. It respects individual choice while giving administrators the tools to enforce server-wide rules across multiple worlds. The command set is intuitive, the permissions are finely grained, and the multiworld logic prevents messy conflicts. Whether you run a survival server, a minigame network, or a roleplay community, this plugin adapts to your needs. Give your players the freedom to decide when they fight, and keep your server’s combat ecosystem exactly how you want it.