Editar reglas de juego en level.dat

Compatible con Minecraft Bedrock Edition y Java Edition, y con todos sus núcleos de servidor, conocidos o no: Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina y el resto. Lista completa.

Las reglas de juego se guardan en level.dat, así que puedes cambiarlas sin cargar el mundo ni activar trucos. Resulta útil si el mundo no inicia, los trucos están desactivados o preparas una copia antes de que entren jugadores. Java las almacena como cadenas dentro de GameRules; Bedrock guarda cada una como una etiqueta byte en minúsculas en la raíz.

keepInventorydoDaylightCyclemobGriefingcommandBlockOutputrandomTickSpeed

Arrastra level.dat aquí

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · volcados de chunks

Java: un compuesto GameRules de cadenas

En Java Edition, Data → GameRules contiene una TAG_String por regla, con el nombre exacto que usa /gamerule y el valor como texto: "true", "false" o un número. Las reglas nunca configuradas no aparecen y usan su valor predeterminado; agregar una etiqueta con nombre y cadena correctos equivale a ejecutar el comando.

ReglaValorEfecto
keepInventory"true"Conservar objetos al morir
doDaylightCycle"false"Detener el ciclo de día y noche
doWeatherCycle"false"Detener el ciclo del clima
mobGriefing"false"Impedir que creepers y endermen cambien bloques
doMobSpawning"false"Detener la aparición natural de criaturas
doFireTick"false"Impedir que el fuego se propague
commandBlockOutput"false"Ocultar mensajes de bloques de comandos
randomTickSpeed"3"Velocidad de crecimiento y propagación del fuego
playersSleepingPercentage"50"Porcentaje de jugadores necesario para omitir la noche
spawnRadius"10"Extensión del área de aparición

Las mayúsculas importan. keepinventory en Java no es la misma etiqueta que keepInventory y se ignorará.

Bedrock: etiquetas byte individuales en minúsculas

Bedrock no agrupa las reglas. Cada una es una TAG_Byte en la raíz de level.dat, nombrada en minúsculas y con valor 1 o 0: keepinventory, domobspawning, domobloot, dodaylightcycle, doweathercycle, mobgriefing, firedamage, falldamage, drowningdamage, pvp, showcoordinates, commandblockoutput, sendcommandfeedback, naturalregeneration, tntexplodes, respawnblocksexplode, showdeathmessages, doimmediaterespawn. Las reglas numéricas, como randomtickspeed y functioncommandlimit, usan TAG_Int.

Para definir una regla ausente, agrega la etiqueta con el tipo correcto: Byte para un interruptor e Int para un número. Una regla con tipo incorrecto se ignora o impide la carga.

Cuándo conviene editar el archivo

  • Los trucos están desactivados y no quieres activarlos solo para ejecutar un comando.
  • El mundo no carga y necesitas definir una regla como doImmediateRespawn antes de entrar.
  • Preparas un mundo de plantilla para copiarlo a varios servidores y quieres incluir las reglas.
  • Un plugin cambió una regla y quieres comprobar el valor realmente almacenado.
  • Ediciones en lote. Cambiar varias reglas en varios mundos es más rápido desde el archivo que mediante el chat.

Detén primero el servidor, como con cualquier edición de level.dat: un mundo activo vuelve a escribir el archivo al guardar y descarta el cambio.

Preguntas frecuentes

¿Por qué una regla se guarda como string en Java?

Java almacena todas las reglas como cadenas, incluidos booleanos y números. Escribe "true", no un byte con valor 1.

¿Por qué es un byte en Bedrock?

Bedrock guarda los interruptores como etiquetas byte en la raíz y las reglas numéricas como ints. No existe un compuesto GameRules.

Una regla no aparece en el archivo.

Significa que usa el valor predeterminado. Agrega la etiqueta con el nombre exacto y el tipo correcto para que el mundo use el valor indicado.

¿Las reglas se copian con la carpeta del mundo?

Sí. Están en level.dat, por lo que un mundo copiado las hereda junto con su nombre de mundo anterior.

Herramientas relacionadas