Actualizado:
1. Java 1.21.9 y posteriores: regla del juego
/gamerule pvp false
Los jugadores ya no pueden hacer daño a otros jugadores en ningún lugar del mundo. Ponla en true para volver a activar el PvP. El nombre siguió siendo pvp cuando la 1.21.11 renombró otras reglas.
2. Servidores Java 1.21.8 y anteriores: server.properties
pvp=false
Edita server.properties y reinicia. La 1.21.9 quitó esta propiedad en favor de la regla del juego. Consulta server.properties.
3. Cualquier versión: un equipo con el fuego amigo desactivado
/team add peace "Paz"
/team modify peace friendlyFire false
/team join peace @a
Mantén a los jugadores nuevos en el equipo con un bloque iterativo:
/team join peace @a[team=]
Consulta el comando team.
4. PvP solo en una arena (iterativo)
/team leave @a[x=100,y=60,z=200,dx=30,dy=20,dz=30]
/execute as @a[team=] unless entity @s[x=100,y=60,z=200,dx=30,dy=20,dz=30] run team join peace @s
Los jugadores dentro de la caja dejan el equipo y pueden luchar; fuera vuelven a unirse. Vallar la arena es importante, porque un jugador sin equipo todavía puede golpear a un miembro del equipo. Consulta detección de zonas.
5. Bedrock Edition
/gamerule pvp false
Bedrock tiene esta regla desde hace mucho. Desactivar el fuego amigo en los ajustes del mundo hace lo mismo.
Solución de problemas
- gamerule pvp no se reconoce: estás en Java 1.21.8 o anterior; usa el paso 2 o el 3.
- Se ignora el cambio en server.properties: reinicia y comprueba que no estás en 1.21.9+.
- Los compañeros siguen haciéndose daño: comprueba friendlyFire false y la lista del equipo.
Comprueba tu comando
El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.