Датапаки (пакеты данных) добавляют в Minecraft функции, рецепты, достижения или новую генерацию мира, а ресурспаки приносят текстуры и звуки. Оба типа привязаны к формату данных, который меняется почти с каждой версией Minecraft. Если пак не подходит к версии твоего сервера или файл в нём повреждён, сервер записывает сообщение в лог. Обычно он просто пропускает проблемную запись, но в одном случае запуск прерывается.
Каждый раздел ниже посвящён одному из таких сообщений. Полный текст сообщения вместе со строками под ним ты найдёшь в Консоль или в разделе Файлы в logs/latest.log. Часть перед двоеточием в названиях вроде <pack>:<eintrag> называется пространством имён и почти всегда показывает, из какого пака или мода пришла ошибка. Перед любым вмешательством в папку мира или файлы пака создай резервную копию в разделе Резервные копии.
Сервер не запускается: не удаётся загрузить датапак
Так выглядит сообщение:
Failed to load datapacks, can't proceed with server load. You can either fix your datapacks or reset to vanilla with --safeMode
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: <Причина>
В чём причина: Minecraft прерывает запуск, потому что не удалось загрузить как минимум один датапак. Сервер остаётся выключенным, пока проблема не будет устранена. Чаще всего пак собран для более старой или более новой версии Minecraft, либо один из его файлов повреждён. Строка ниже называет причину; например, Overworld settings missing указывает на пак, который изменяет генерацию мира.
Как это исправить:
- Создай резервную копию в разделе Резервные копии.
- Открой в разделе Файлы папку мира (по умолчанию
world), а в ней папкуdatapacks. - Удали последний добавленный пак. Если хочешь его сохранить, сначала скачай его.
- Перезапусти сервер. Если он снова работает, загрузи пак ещё раз в версии для твоей версии Minecraft.
- Если не знаешь, какой пак виноват, убирай паки по одному и каждый раз перезапускай сервер.
Полезно знать: Параметр запуска --safeMode из сообщения для этого не нужен. Если ты удалишь пак, изменяющий генерацию мира, новые чанки после этого снова будут создаваться по обычным правилам; на границе со старыми чанками часто виден заметный край. После смены версии поможет статья Безопасная смена версии Minecraft и загрузчика модов.
Функция датапака содержит неизвестную команду
Так выглядит сообщение:
Failed to load function <pack>:<pfad>
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 4: Unknown or incomplete command, see below for error at position 0: <--[HERE]
В чём причина: Датапаки управляют своими процессами через функции: текстовые файлы с расширением .mcfunction, в которых записаны команды. В одном из таких файлов есть команда, которую твоя версия Minecraft не знает или ожидает в другом виде; чаще всего пак собран для другой версии. Не работает только эта функция, сервер продолжает работать; части пака, которым она нужна, функционировать не будут.
Как это исправить:
- Прочитай первую строку: перед двоеточием стоит пространство имён пака, после него путь к функции.
line 4указывает строку,position 0место в ней; при 0 неизвестно уже само имя команды. - Замени пак в папке
datapacksтвоего мира версией для твоей версии Minecraft. - Для собственных паков открой
data/<pack>/function/<pfad>.mcfunction(в старых паках папка называетсяfunctions) и исправь указанную строку. - Перезапусти сервер или введи в Консоль команду
reload. На Paper и Spigotreloadперезагружает все плагины; там используйminecraft:reload.
Полезно знать: Некоторые паки содержат функции для необязательных модов, команды которых без мода неизвестны. Если сообщение касается только таких дополнительных частей, его можно игнорировать.
Пак собран для другой версии Minecraft
Так выглядит сообщение:
Couldn't load file/<Pack>.zip pack metadata: Pack declares support for version newer than <Number>, but is missing mandatory fields min_format and max_format
Couldn't load file/<Pack>.zip pack metadata: Pack declares support for format <Number>, but game versions supporting formats …
В чём причина: В корневой папке каждого датапака и ресурспака лежит файл pack.mcmeta. В нём числом указан формат пака, для которого он собран, а каждая версия Minecraft поддерживает только определённые форматы. Если пак заявляет, что собран для более новых форматов, сервер дополнительно требует поля min_format и max_format. Если их нет или число не подходит, сервер не загружает пак. Он продолжает работать, но уже без этого пака.
Как это исправить:
- Имя файла после
file/показывает, какой пак затронут. - Проверь в разделе Версия, какая версия Minecraft установлена на твоём сервере.
- Скачай на странице пака версию именно для этой версии Minecraft, замени ею старый файл в папке
datapacksтвоего мира и перезапусти сервер. - Для собственных паков укажи в
pack.mcmetaзначениеpack_format, подходящее твоей версии, а для новых версий дополнительноmin_formatиmax_format. Числа для каждой версии приведены в вики Minecraft.
Полезно знать: Указание версии в имени файла говорит лишь о том, для чего автор задумал пак. Решающее значение имеет то, что записано в pack.mcmeta.
Тег датапака ссылается на отсутствующие записи
Так выглядит сообщение:
Couldn't load tag minecraft:load as it is missing following references: <pack>:tick (from file/<Pack>.zip)
Couldn't load tag <namespace>:<tag> as it is missing following references: <mod>:<eintrag> (from <mod>.jar)
В чём причина: Тег — это именованный список. minecraft:load и minecraft:tick перечисляют функции, которые выполняются при загрузке или постоянно; другие теги объединяют блоки, предметы или существ. Здесь тег называет записи, которые не удалось загрузить. Чаще всего в соответствующей функции есть ошибка, либо отсутствует другой пак или мод. В скобках указано, откуда взят тег. Minecraft тогда отбрасывает весь тег, в том числе для других паков, которые его используют; при minecraft:load или minecraft:tick их процессы не запускаются.
Как это исправить:
- Сначала устрани сообщения «Failed to load function» от того же пака. Часто это сообщение после этого тоже исчезает.
- Если отсутствующая запись принадлежит другому паку или моду, установи его в версии для твоей версии Minecraft.
- Если отсутствуют даже записи с префиксом
minecraft:, пак почти всегда собран для другой версии. Замени его подходящей версией. - Перезапусти сервер или перезагрузи датапаки (
reload, на Paper и Spigotminecraft:reload).
Полезно знать: Если в скобках указан файл .jar, тег происходит из мода: Ошибки модов на серверах Forge, NeoForge и Fabric.
Рецепт или другой файл датапака не соответствует формату данных
Так выглядит сообщение:
Couldn't parse data file '<pack>:<name>' from '<pack>:recipe/<name>.json': DataResult.Error['List is too short: 0, expected range [1-9]']
В чём причина: Датапаки описывают рецепты, достижения (advancements), предикаты и таблицы добычи (loot tables) в JSON-файлах. JSON — это текстовый формат из фигурных скобок, названий полей и значений. Указанный файл является корректным JSON, но использует поля или ссылки, которых твоя версия Minecraft не знает. Minecraft пропускает именно эту запись. Затронутый рецепт после этого нельзя создать, сервер продолжает работать в обычном режиме.
Как это исправить:
- Часть после
fromпоказывает пак и файл, а текст вDataResult.Error[…]говорит, что не подходит. Например,List is too short: 0означает: список пуст, хотя ожидаются записи. - Скачай версию датапака для твоей версии Minecraft и замени старую в папке
datapacksтвоего мира. - Для собственных паков приведи файл в соответствие с актуальным форматом. Как устроен каждый тип файлов, описано в вики Minecraft.
- Перезапусти сервер.
Полезно знать: Not a string: {"item":"minecraft:tnt"} означает, что файл использует более старый формат рецепта. Эта версия ожидает в этом месте только название в виде текста, то есть "minecraft:tnt".
Запись из датапака или мода не читается
Так выглядит сообщение:
Couldn't read tag list <namespace>:<tag> from <namespace>:tags/block/<tag>.json in data pack mod/<mod>
java.lang.IllegalStateException: Failed to parse either. First: Not a string: null; Second: Not a JSON object: null
В чём причина: Для некоторых записей Minecraft принимает два варианта записи. «Failed to parse either» означает: содержимое не подходит ни под один из них; после First и Second указано, на чём каждый вариант не сработал. Чаще всего запись происходит из мода, собранного для другой версии Minecraft, или из повреждённого датапака. Затронутая группа, например список блоков или предметов, остаётся пустой. Это может нарушить рецепты или генерацию мира.
Как это исправить:
- Определи источник:
in data pack mod/<mod>указывает на мод,file/<Pack>.zipна датапак. Дополнительно помогает пространство имён перед двоеточием. - Проверь в разделе Моды или в папке
datapacksтвоего мира, подходят ли все моды и датапаки к твоей версии Minecraft. - Обнови последний добавленный мод или пак.
- Если сообщение появилось сразу после загрузки датапака, для проверки убери его и перезапусти сервер.
Полезно знать: Если сообщение касается мода, помогут разделы в статье Ошибки модов на серверах Forge, NeoForge и Fabric.
Отсутствуют достижения (Advancements) из датапака
Как выглядит сообщение:
Couldn't load advancements: [<pack>:<progress>, <pack>:<progress>]
В чём причина: Advancements — это достижения, которые игроки открывают в игре. Minecraft не смог разрешить указанные записи при загрузке датапаков, например потому, что они ссылаются на то, чего нет в этой версии. Многие датапаки и моды также используют достижения скрытно в качестве триггеров, например чтобы определить, что игрок нашёл структуру. Такие функции тогда не работают. Сервер продолжает работать.
Как это исправить:
- Пространство имён перед двоеточием показывает, какой датапак или мод предоставляет эти достижения.
- Обнови этот пак или мод до версии для твоей версии Minecraft. Если он тебе не нужен, удали его.
- Перезапусти сервер или перезагрузи датапаки (
reload, на Paper и Spigotminecraft:reload). - Если сообщение после этого всё ещё появляется, прочитай строки перед ним в
logs/latest.log. Там сервер часто указывает, какая часть записи не подходит.
Полезно знать: Даже если в качестве пространства имён указан minecraft, источником может быть датапак. Паки могут создавать собственные записи под этим именем.
У предиката датапака неверный формат
Как выглядит сообщение:
Couldn't parse element predicates:<pack>:<name> - Not a json array: {"condition":"minecraft:any_of","terms":[…]}
В чём причина: Предикат — это сохранённое условие, которое проверяет датапак, например имеет ли игрок определённое количество очков. Команды и таблицы добычи обращаются к нему. Твоя версия Minecraft ожидает здесь список в квадратных скобках [ … ], но пак предоставляет одиночный объект в фигурных скобках { … }. Поэтому Minecraft не загружает предикат. Всё в паке, что от него зависит, работает неправильно или не работает вовсе. Сам сервер продолжает работать.
Как это исправить:
- Имя после
predicates:показывает пак и предикат. - Скачай версию датапака для твоей версии Minecraft и замени старую в папке
datapacksтвоего мира. - Для собственных паков открой
data/<pack>/predicate/<name>.json(в старых паках папка называетсяpredicates) и приведи файл к актуальному формату, как описано в Minecraft Wiki. - Перезапусти сервер или перезагрузи датапаки.
Текст сообщения для серверного набора ресурсов имеет неверный формат
Как выглядит сообщение:
Failed to parse resource pack prompt '<Текст сообщения>'
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setStrictness(Strictness.LENIENT) to accept malformed JSON at line 1 column 1 path $
В чём причина: параметром resource-pack-prompt в файле server.properties ты задаёшь текст, который видят игроки, когда сервер предлагает им набор ресурсов. Minecraft ожидает здесь текстовый компонент в формате JSON, а не обычное предложение. Если сервер не может прочитать значение, он пропускает сообщение. Сервер при этом продолжает работать в обычном режиме, просто твой собственный текст не отображается.
Как это исправить:
- Открой во вкладке Файлы файл
server.propertiesв главной папке сервера. - Запиши значение в виде JSON-текста, например
resource-pack-prompt={"text":"<Текст сообщения>"}. - Если собственное сообщение тебе не нужно, оставь значение после знака равенства пустым.
- Сохрани файл и перезапусти сервер.
Полезно знать: остальные значения файла объясняет статья Настройка server.properties для Minecraft.
Файл pack.mcmeta пака содержит ошибку
Как выглядит сообщение:
Couldn't load file/<Pack>.zip pack metadata: com.google.gson.stream.MalformedJsonException: <Details>
В чём причина: pack.mcmeta — это файл-описание каждого пака, он лежит в его корневой папке. Здесь он не является корректным JSON: например, не хватает запятой, кавычки или скобки. Поэтому Minecraft не может распознать пак и не загружает его. Сервер продолжает работать без этого пака.
Как это исправить:
- Проще всего заново скачать пак с его официальной страницы и заменить файл в папке
datapacksтвоего мира. - Для собственных паков открой
pack.mcmeta. Если пак представлен в виде ZIP-архива, скачай его, исправь файл на своём компьютере и снова загрузи архив. - Проверь содержимое с помощью JSON-валидатора, то есть веб-сайта или редактора, который подсвечивает синтаксические ошибки, и исправь отмеченное место. В сообщении часто указаны строка и столбец.
- Перезапусти сервер.
Полезно знать: Типичные ошибки — запятая после последней записи, типографские кавычки вместо прямых и отсутствующая закрывающая скобка.
В рецепте указан несуществующий предмет
Как выглядит сообщение:
Expected item to be an item, was unknown string '<mod>:<item>'
В чём причина: В рецепте указан предмет, которого нет на сервере. Почти всегда отсутствует мод, добавляющий этот предмет, или он установлен в версии, где предмет называется иначе. Пропускается только затронутый рецепт. Сервер запускается нормально, но этот один рецепт в игре создать нельзя.
Как это исправить:
- Прочитай имя в кавычках. Перед двоеточием указан соответствующий мод: в случае
horsepower:flourэто мод «horsepower». - Проверь в разделе Моды, установлен ли этот мод.
- Если он установлен, сравни его версию с той, которая предусмотрена в твоём Modpack, и приведи их в соответствие.
- Перезапусти сервер и проверь, исчезло ли сообщение.
Полезно знать: Если мод отсутствует намеренно, например потому, что ты убрал его из Modpack, сообщение можно игнорировать. Тогда не будет только этого рецепта. О том, как моды и Modpack сочетаются друг с другом, рассказывает Правильная настройка модов и модпаков Minecraft.
Рецепт использует неизвестный способ обработки
Как выглядит сообщение:
com.google.gson.JsonSyntaxException: Unknown recipe '<mod>:<recipe-type>'
В чём причина: Многие моды добавляют собственные типы рецептов, например для мельницы или пресса. Здесь рецепт использует такой способ обработки, который сервер не знает. Мод, определяющий его, отсутствует или слишком старый. Рецепт пропускается, сервер продолжает работать.
Как это исправить:
- Имя перед двоеточием указывает на соответствующий мод.
- Установи его в разделе Моды или обнови до версии, которая подходит к твоему Modpack.
- Если рецепт происходит из датапака, который ты добавил сам, удали рецепт оттуда или убери весь пак из папки
datapacksтвоего мира. - Перезапусти сервер.
Полезно знать: Если мод отсутствует полностью, сообщение часто появляется много раз подряд с одним и тем же именем перед двоеточием. Тогда достаточно установить этот один мод. Если он отсутствует намеренно, не будет только тех рецептов, которые используют его способ обработки.
Пустой JSON-файл в данных мода или датапака
Как выглядит сообщение:
com.google.gson.JsonParseException: java.io.EOFException: End of input at line 1 column 1 path $
Что за этим стоит: При загрузке игровых данных, то есть рецептов, таблиц добычи, тегов и подобного, Minecraft обнаружил пустой JSON-файл. «End of input at line 1 column 1» означает: файл заканчивается раньше, чем появляется первый символ. Чаще всего такой файл относится к моду, датапаку или к неполной либо повреждённой загрузке. Затронутая запись пропускается, сервер продолжает работать.
Как это исправить:
- Загляни в Консоль или в
logs/latest.logи прочитай строки непосредственно до и после этого сообщения. Обычно там указано, какой файл или какой мод затронут. - Если файл находится в твоём собственном датапаке, замени его полной версией или удали.
- Если файл относится к моду или скачанному датапаку, скачай его заново и загрузи снова. Следи за тем, чтобы загрузка прошла полностью.
- Перезапусти сервер.
Полезно знать: Для множества файлов или больших файлов SFTP-программа часто удобнее, чем загрузка через браузер: Редактирование файлов сервера в панели и подключение по SFTP.
Архив ресурспака имеет неверную структуру
Как выглядит сообщение:
<Pack> does not contain a valid pack_manifest.json or manifest.json
The resource pack <Pack> is invalid and failed to load
Что за этим стоит: Ресурспак не удалось загрузить. Чаще всего это касается паков для Bedrock: им нужен файл manifest.json или pack_manifest.json, который описывает пак. Самая частая причина — лишний уровень папок: в архиве сначала лежит папка, а файл находится только внутри неё. К этому сообщению также приводят повреждённый архив или неподходящий формат пака. Тогда пак отсутствует, а сервер продолжает работать.
Как это исправить:
- Прочитай подробное сообщение в строках вокруг этой записи; в нём указана точная причина.
- Открой архив на своём компьютере. Файл
manifest.jsonилиpack_manifest.jsonдолжен лежать прямо на верхнем уровне, а не в подпапке. - Если файл лежит в подпапке, заново упакуй содержимое этой папки в ZIP-архив и загрузи его снова.
- Если архив повреждён, скачай пак заново. Ресурспак для Java с
pack.mcmetaвместо манифеста здесь не подходит; его нужно заново создать в формате Bedrock. - Перезапусти сервер.
Полезно знать: Другие сообщения Bedrock разбираются в статье Сервер Bedrock и Geyser: сообщения в логе.
Блок Jigsaw указывает неизвестный блок для замены
Как выглядит сообщение:
Failed to parse jigsaw replacement state '<Block>' at BlockPos{x=<x>, y=<y>, z=<z>}
Что за этим стоит: Блоки Jigsaw — это технические блоки, с помощью которых структуры собираются из отдельных частей. Каждый блок Jigsaw определяет, каким блоком он будет заменён после сборки. Здесь этот блок замены неизвестен, чаще всего из-за опечатки вроде minecrat: вместо minecraft:. При генерации на этом месте остаётся пустота. Сервер продолжает работать, в структуре просто есть пробел.
Как это исправить:
- Запиши позицию из
BlockPos{…}: x, y и z. - Перейди туда с правами оператора в творческом режиме, например командой
/tp <x> <y> <z>. - Открой блок Jigsaw правым щелчком и исправь название в поле блока замены (в английском клиенте «Turns into»).
- Если структура взята из датапака или мода, ошибка находится в его файле структуры. Тогда поможет исправленная версия пака или мода; сообщи об ошибке автору.
Полезно знать: Для работы сервера это сообщение безвредно. Оно влияет только на внешний вид структуры в этом одном месте. О том, как выдавать права оператора, написано в статье Права оператора и команды на сервере Minecraft.
Твоего сообщения нет в списке?
Прочитай сообщение целиком в Консоль или в logs/latest.log, включая строки прямо перед ним: часто там указано, какой пак загружался в этот момент. Пространство имён перед двоеточием и такие указания, как file/<Pack>.zip или mod/<mod>, показывают источник. Если следом идёт стектрейс, то есть строки с отступом вида at …, названия папок и пакетов в нём подскажут, какой мод или плагин задействован. Перед изменением файлов мира или паков создай резервную копию в разделе Резервные копии. Если не получается разобраться, открой тикет и укажи время появления сообщения.