Actualizado:

1. Reglas (una vez)

/gamerule natural_health_regeneration false
/difficulty hard
/gamerule keep_inventory false

En la 1.21.10 y anteriores la primera regla es naturalRegeneration. Consulta la lista de reglas del juego.

2. Mostrar la salud

/scoreboard objectives add hp health "♥"
/scoreboard objectives setdisplay list hp
/scoreboard objectives setdisplay below_name hp

3. Borde del mundo (una vez)

/worldborder center 0 0
/worldborder set 1000

4. Inicio: repartir a los jugadores

/scoreboard objectives add died deathCount
/scoreboard players set @a died 0
/gamemode survival @a
/effect give @a instant_health 1 10 true
/spreadplayers 0 0 150 450 false @a
/worldborder set 50 3600s

Los jugadores se colocan a menos de 450 bloques del centro y a al menos 150 bloques entre sí. Usa true para mantener juntos a los equipos. Después el borde se encoge hasta 50 bloques durante una hora. Desde Java 1.21.11 el tiempo va en ticks salvo que añadas s; en la 1.21.10 y anteriores escribe 3600 (segundos).

5. Los caídos pasan a espectador (Iterativo)

/gamemode spectator @a[scores={died=1..},gamemode=survival]

6. Ganador (Iterativo)

/scoreboard objectives add uhc dummy
/execute store result score #alive uhc if entity @a[gamemode=survival]
/execute if score #alive uhc matches 1 unless entity @e[type=marker,tag=uhc_end] run title @a title [{"selector":"@a[gamemode=survival]"},{"text":" ¡gana!"}]
/execute if score #alive uhc matches 1 unless entity @e[type=marker,tag=uhc_end] run summon marker ~ ~ ~ {Tags:["uhc_end"]}

Ejecuta la primera línea una vez. El marcador hace que el título aparezca una sola vez; elimínalo antes de la siguiente partida.

Solución de problemas

Comprueba tu comando

El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.