Изменение игровых правил в level.dat

Поддерживает Minecraft Bedrock Edition и Java Edition и все серверные ядра для обеих редакций, популярные и малоизвестные: Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina и остальные. Полный список.

Игровые правила хранятся в level.dat, поэтому их можно изменить без загрузки мира и включения читов. Это полезно, если мир не запускается или готовится его копия. Java хранит правила строками внутри compound-тега GameRules, а Bedrock — отдельными byte-тегами в нижнем регистре в корне.

keepInventorydoDaylightCyclemobGriefingcommandBlockOutputrandomTickSpeed

Перетащите level.dat сюда

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · дампы чанков

Java: строки внутри GameRules

В Java Edition путь Data → GameRules содержит по одному TAG_String на правило с точным именем из /gamerule. Значение записывается текстом: "true", "false" или числом. Отсутствующие правила используют значения по умолчанию; добавление строки с правильным именем действует как команда.

ПравилоЗначениеЭффект
keepInventory"true"Сохранять предметы после смерти
doDaylightCycle"false"Остановить смену времени суток
doWeatherCycle"false"Остановить смену погоды
mobGriefing"false"Запретить криперам и эндерменам менять блоки
doMobSpawning"false"Остановить естественный спавн мобов
doFireTick"false"Остановить распространение огня
commandBlockOutput"false"Скрыть сообщения командных блоков в чате
randomTickSpeed"3"Скорость роста растений и распространения огня
playersSleepingPercentage"50"Доля игроков для пропуска ночи
spawnRadius"10"Радиус области спавна

Регистр важен. Тег keepinventory в Java не совпадает с keepInventory и будет проигнорирован.

Bedrock: отдельные byte-теги в нижнем регистре

Bedrock не объединяет правила. Каждое логическое правило — TAG_Byte со значением 1 или 0 в корне level.dat: keepinventory, domobspawning, domobloot, dodaylightcycle, doweathercycle, mobgriefing, firedamage, falldamage, drowningdamage, pvp, showcoordinates, commandblockoutput, sendcommandfeedback, naturalregeneration, tntexplodes, respawnblocksexplode, showdeathmessages, doimmediaterespawn. Числовые правила randomtickspeed и functioncommandlimit имеют тип TAG_Int.

Если правила нет, добавьте тег правильного типа: Byte для переключателя или Int для числа. Тег неверного типа игнорируется либо мешает загрузке.

Когда файл удобнее команды

  • Читы выключены, и вы не хотите включать их ради одной команды.
  • Мир не загружается: правило вроде doImmediateRespawn можно задать до первого входа.
  • Готовится шаблон мира для нескольких серверов, и правила должны попасть во все копии.
  • Плагин изменил правило, и нужно проверить фактически сохранённое значение.
  • Массовая правка: несколько правил в нескольких мирах быстрее менять в файлах.

Перед изменением level.dat остановите сервер: работающий мир перезапишет файл и отменит изменения.

Часто задаваемые вопросы

Почему в Java игровое правило хранится строкой?

Java хранит все игровые правила как строки, включая логические и числовые. Запишите "true", а не byte со значением 1.

Почему в Bedrock это byte?

Bedrock хранит переключатели как byte-теги в корне, а числовые правила — как int. Compound-тега GameRules нет.

Правило полностью отсутствует в файле.

Значит, используется значение по умолчанию. Добавьте тег с точным именем и правильным типом.

Игровые правила копируются вместе с папкой мира?

Да. Они находятся в level.dat, поэтому копия мира наследует правила вместе со старым названием мира.

Связанные инструменты