
You want a server where friends build together without someone knocking them off a cliff. A guide tells you to add pvp=false to server.properties, you restart, and players still hit each other. On current Java versions that line does nothing. This guide shows how to turn off PvP on Java 26.3 (the current release), on older Java servers, per world and per area on Paper, and on Bedrock.
Quick answer: On Java 1.21.9 and newer, including 26.3, PvP is a game rule. Type gamerule pvp false in the server console, or /gamerule pvp false in game as an operator. It works at once, needs no restart and stays saved in the world. The pvp=false line in server.properties only works on 1.21.8 and older. On Bedrock, turn off Friendly fire in the world settings or run /gamerule pvp false. To disable PvP in one area or one world only, use a WorldGuard pvp deny flag or the Multiverse pvp setting on a Paper server.
Which method fits your server
| Server | How to turn off PvP |
|---|---|
| Java 1.21.9 to 26.3, vanilla | gamerule pvp false, covers the Overworld, Nether and End |
| Java 1.21.8 and older | pvp=false in server.properties, then restart |
| Paper, Spigot, Purpur | The same game rule, once per world, so the Nether and the End need their own |
| Paper with Multiverse-Core | mv modify <world> set pvp false for each world |
| One area, such as spawn | WorldGuard: /rg flag <region> pvp deny |
| Bedrock world or Realm | Friendly fire off, or /gamerule pvp false |
| Bedrock Dedicated Server | gamerule pvp false in the console |
How to turn off PvP on Java 1.21.9 to 26.3
Since Java 1.21.9, released on 30 September 2025, PvP is a game rule called pvp, and its default is true. The Minecraft Wiki describes it in one line: "Whether players can damage other players." Mojang moved it out of server.properties so that it can be changed while the server runs.
In the server console, type it without a slash:
gamerule pvp false
In game you need operator rights (permission level 2) and a slash: /gamerule pvp false. To see the current value, leave the value off: gamerule pvp prints true or false. To allow PvP again, set it back to true.
Since 26.1 you can also click it. The pause menu has a World Options screen with the game rules list, and on a server every operator can open it. PvP sits in the Player category, and the search bar at the top finds it when you type "pvp".
The value is saved in the world, so it survives restarts and travels with the world folder when you copy it. A new world or a world reset starts at true again. Our keep inventory guide explains where game rules are stored, and the server.properties guide lists the three other settings that became game rules in the same update.
On Space-Node's Minecraft hosting every plan runs on a Pterodactyl panel, so you can open the Console tab, type gamerule pvp false and press Enter without joining the game.
Why pvp=false in server.properties stopped working
Mojang's changelog for snapshot 25w35a says it plainly: "Removed server property pvp in favour of new game rule", together with allow-nether, spawn-monsters and enable-command-block. That change shipped in 1.21.9. Since then the server no longer reads a pvp= line, so a line left over from an older version changes nothing.
After you update an older server, check the real value with gamerule pvp. If it says true and you want PvP off, set it once with the command.
Version 1.21.11 gave the game rules snake case names, so keepInventory became keep_inventory. pvp was not on the list of renamed rules and kept its name, so the same command works on every version from 1.21.9 to 26.3.
Older servers: 1.21.8 and below
Before 1.21.9, PvP is a line in server.properties with true as the default:
- Stop the server.
- Open
server.propertiesand changepvp=truetopvp=false. - Save the file and start the server.
These versions have no pvp game rule, so /gamerule pvp false is not accepted there.
Paper and Spigot: the Nether and the End need their own setting
Bukkit based servers (Spigot, Paper, Purpur) keep game rules per world, and there the Nether and the End are separate worlds. A Spigot bug report about a game rule that only worked in the Overworld was closed as invalid, with the answer that you must set the game rule in each world. Paper kept per-world game rules when it changed its folder layout in 26.1. On Paper the gamerule command changes the world you run it in, and from the console that is the main world.
So on Paper, run all three lines in the console:
gamerule pvp false
execute in minecraft:the_nether run gamerule pvp false
execute in minecraft:the_end run gamerule pvp false
Check a dimension with execute in minecraft:the_nether run gamerule pvp. On a vanilla server you only need the first line, because one world folder holds all three dimensions.
With Multiverse-Core, set PvP through Multiverse
This one is easy to miss. Multiverse-Core keeps its own pvp setting for every world it manages, true by default. With its default auto-import-default-worlds option it also manages your main world, Nether and End. Each time it loads a world, it applies that setting through Bukkit's setPVP method, and on current Paper builds that method writes the pvp game rule. In practice: with Multiverse installed, a gamerule pvp false you typed can be back on true after the next restart.
Set it the Multiverse way instead, once per world. mv list shows the world names:
mv modify <world> set pvp false
In game, /mv modify set pvp false changes the world you stand in. From the console the world name is required. A new world can start without PvP: mv create <name> normal --properties pvp=false.
That also gives you the classic split: a survival world with PvP off and an arena world where it stays on. Our world management guide covers creating and linking those worlds.
Disable PvP in one area with WorldGuard
WorldGuard is the region plugin from EngineHub. It needs a server with the Bukkit API (Spigot or Paper) plus the Bukkit version of WorldEdit. A vanilla server cannot run plugins, and Forge is not supported. WorldGuard 7.0.21 came out on 3 November 2026 for 26.3.
To make spawn a no-PvP zone:
- Run
//wandto get the WorldEdit wand, a wooden axe by default. Left click one corner of the area and right click the opposite corner. - Run
//expand vertto stretch the selection from bedrock to the sky, so nobody can fight right above or below the box. - Run
/rg define spawn. - Run
/rg flag spawn pvp deny.
/rg flags spawn lists the region's flags, and /rg flag spawn pvp without a value removes the flag again.
One catch: according to WorldGuard's quick start, a newly created region "automatically prevents building within it". That suits spawn. For a town where everyone should keep building, also run /rg flag town passthrough allow. The flag documentation names exactly this case: using flags such as PvP when you don't want to prevent building.
To turn off PvP in a whole world with WorldGuard, put the flag on that world's global region with /rg flag __global__ pvp deny. Every world has its own global region. From the console, add the world with -w, as in rg flag __global__ pvp -w <world> deny.
A PvP arena inside a world without PvP
Keep the game rule on true, deny PvP on __global__, then select the arena and run /rg define arena and /rg flag arena pvp allow. The global region has the lowest priority, so the arena region wins. Where two regions with the same priority overlap, deny beats allow.
Don't combine this with gamerule pvp false. With the game rule off, the server refuses player damage in its own code, and a WorldGuard allow flag cannot override that.
GriefPrevention settings that change with PvP
If you run GriefPrevention, look at plugins/GriefPreventionData/config.yml. It writes GriefPrevention.PvP.RulesEnabledInWorld.<world> once, from the world's PvP state at that moment. If you turned PvP off later, set that line to false and run /gpreload. In worlds where its PvP rules are off, its defaults stop players from emptying a lava bucket within 10 blocks of another survival player (3 blocks inside a claim) and from using flint and steel near other players.
Servers that keep PvP on still get safe bases: by default GriefPrevention blocks fights inside land claims, through the ProtectPlayersInLandClaims settings. Our GriefPrevention guide covers the claim setup.
Bedrock: Friendly fire and the pvp game rule
Bedrock has had a pvp game rule since Pocket Edition 1.0.5. In the world settings it is the Friendly fire toggle in the Multiplayer section, "Players can damage each other". The wiki describes it as controlling "whether players can directly damage each other, using melee attacks or projectiles". It is one of the game rules you can change without cheats, so achievements stay on.
- Your own world: open Edit world, go to Multiplayer and switch Friendly fire off. These settings stay grayed out until "Multiplayer game" is on.
- Realm: the owner, or a member with the administrator role, opens Edit world from the Realms Hub and uses the same toggle. An operator can also run
/gamerule pvp falsein game. - Bedrock Dedicated Server: its
server.propertieshas no PvP line. Typegamerule pvp falsein the console.
On Bedrock, command arguments are not case sensitive when you type them. On a Java Realm the owner keeps operator rights outside minigames, so /gamerule pvp false works there as on any Java server. If Bedrock players join your Java server through Geyser, the Java game rule decides.
Turn off PvP between teammates only (Java)
Sometimes you want PvP on, just not inside a group. The Java /team command handles that without plugins:
team add base
team modify base friendlyFire false
team join base Alex Steve
Alex and Steve can no longer hurt each other, while everyone else can still fight them. The wiki notes that teammates can still give each other status effects, and that the team setting has no effect when the pvp game rule is false.
Players can still hurt each other: checklist
- Wrong world. On Paper you set it in the Overworld only. Run the check in each dimension.
- Multiverse turned it back on. Set PvP with
mv modifyas shown above. - The old line.
pvp=falseinserver.propertiesdoes nothing on 1.21.9 and newer. - Indirect damage. The wiki's entry for the old
pvpproperty warned that lava, fire and TNT set by players still damage others. Plan for the same with the game rule, and use the GriefPrevention lava and fire settings or WorldGuard regions where it matters. - Something sets it back. Minigame maps and data packs can run
gamerulefrom command blocks or functions. If the value keeps flipping, search your command blocks and thedatapacksfolder forgamerule pvp.
Also note that spawn-protection in server.properties only stops building near spawn. It does not stop fights there; a WorldGuard region does.
FAQ
Does pvp=false still work in server.properties?
Only on Java 1.21.8 and older. Since 1.21.9 the property is gone and PvP is the pvp game rule, so use gamerule pvp false.
Do I need to restart the server after /gamerule pvp false?
No. The game rule takes effect immediately and is saved in the world. Only on Paper with Multiverse-Core should you set it through mv modify, or a restart can switch it back on.
Can I disable PvP at spawn only?
Yes, with WorldGuard: select the spawn area, run /rg define spawn and /rg flag spawn pvp deny. The vanilla spawn-protection setting only protects blocks.
How do I turn off PvP on a Bedrock server or Realm?
Switch off Friendly fire under Multiplayer in the world settings, or run /gamerule pvp false. On a Bedrock Dedicated Server, type gamerule pvp false in the console.
Can I turn off PvP for some players only?
On Java, put them in one team and run team modify <team> friendlyFire false. That stops damage between team members while PvP stays on for everyone else.
Sources
All opened on 3 November 2026:
- Mojang: Minecraft snapshot 25w35a, version manifest (26.3 is the current release)
- Minecraft Wiki: Game rule, Java Edition 1.21.9, Java Edition 26.1, World Options, Commands/gamerule, Commands/team, Server.properties and its July 2025 version with the old
pvpentry, Spawn protection, Edit world, Realms - Spigot: SPIGOT-4971
- PaperMC: 26.1 release notes, GameRuleCommand patch, ServerPlayer patch, CraftWorld.java, pull request 13503
- Multiverse-Core: commands, world properties, WorldConfigNodes.java, CoreConfigNodes.java
- WorldGuard: installation, quick start, region flags, global region, region commands, versions on Modrinth
- WorldEdit: selections
- GriefPrevention: GriefPrevention.java, PlayerEventHandler.java, EntityDamageHandler.java