Коротко: положите .zip или папку с файлом pack.mcmeta в world/datapacks и выполните из консоли minecraft:reload — или перезапустите сервер. Проверьте datapack list enabled: пакет появится как [file/имя]. Пакеты, которые меняют генерацию мира, измерения или зачарования, применяются только после перезапуска, а генерацию ставят до того, как мир создан.
Что такое дата-пак и чем он отличается от плагина
Дата-пак — папка или .zip-архив с файлом pack.mcmeta в корне и папкой data. Внутри — описания в JSON, функции .mcfunction (списки команд) и структуры .nbt. Сама игра хранит ванильные рецепты, добычу и генерацию во встроенном дата-паке vanilla, поэтому чужой пакет может их дополнить или заменить.
| Дата-пак | Плагин | |
|---|---|---|
| Что внутри | JSON, функции из команд, структуры | Java-код |
| Где работает | Любой Java-сервер, включая ванильный, и одиночная игра | Paper, Spigot и их форки |
| Как меняет игру | Данными игры и командами | Через API сервера: любая логика, базы данных, сеть |
| Куда класть | world/datapacks | plugins/ — см. как установить плагин |
Что умеет дата-пак: рецепты, достижения, таблицы добычи, предикаты, теги, функции, структуры, генерацию мира, измерения, зачарования, варианты мобов, диалоги. Что требует плагина: свои команды с правами, экономика, приваты, работа с базой данных и всё, что нужно делать по сетевым пакетам игрока.
Как установить дата-пак на сервер
- 1
Скачайте пакет под свою версию
Это
.zipили папка. Проверьте, чтоpack.mcmetaлежит в корне архива, а не во вложенной папке — иначе игра пакет не увидит. - 2
Положите в папку мира
В
datapacksвнутри папки мира: по умолчаниюworld/datapacks(имя мира задаётlevel-nameв server.properties). Если папки нет, создайте её. - 3
Перечитайте или перезапустите
Рецепты, добыча, достижения и функции подхватит
minecraft:reload. Генерация мира, измерения, зачарования и другие «экспериментальные» разделы — только после перезапуска. - 4
Проверьте
datapack list enabledв консоли. Если пакета нет в списке, ищите ошибку вlogs/latest.log— см. логи и краши.
Если в пакете ошибка, например неверный формат рецепта, minecraft:reload изменения не применит, и игра продолжит работать на прежних данных. Ещё перечитать пакеты можно командами datapack enable и datapack disable.
Команда /datapack
| Команда | Что делает |
|---|---|
datapack list [available|enabled] | Все пакеты, только доступные или только включённые |
datapack enable <имя> | Включить пакет |
datapack enable <имя> first|last | Включить с наименьшим или наибольшим приоритетом |
datapack enable <имя> before|after <другой> | Включить перед или после другого пакета |
datapack disable <имя> | Выключить пакет. Файл остаётся в папке |
datapack create <id> <описание> | Создать пустой пакет-папку для текущего мира (с 1.21.6, уровень оператора 4) |
create. Имя пакета из папки пишется как file/имяПорядок важен: если один и тот же файл есть в нескольких пакетах, побеждает пакет, загруженный последним, а теги без "replace": true объединяются. Порядок хранится в level.dat мира. Пакеты, которым нужен экспериментальный флаг, включаются только при создании мира — командой их уже не включить.
Пакеты при создании мира: server.properties
Два ключа server.properties действуют только при создании нового мира — на готовый мир они не влияют:
| Ключ | По умолчанию | Что делает |
|---|---|---|
initial-enabled-packs | vanilla | Какие пакеты включить при создании мира, через запятую. Экспериментальные пакеты нужно перечислить явно |
initial-disabled-packs | пусто | Какие пакеты не включать автоматически, через запятую |
Пакет генерации мира меняет только новые чанки, а уже созданные останутся прежними. Поэтому ставьте его до первого запуска или до прогрузки мира, а не на обжитый сервер.
pack.mcmeta и номер формата
По pack.mcmeta игра узнаёт, для каких версий сделан пакет. С 1.21.9 вместо одного pack_format пишут диапазон min_format и max_format; старое поле нужно, только если пакет поддерживает и версии до этой схемы.
{
"pack": {
"description": "Рецепты сервера",
"min_format": 94,
"max_format": 94
}
}| Версия | Дата-пак | Ресурс-пак |
|---|---|---|
| 1.21.4 | 61 | 46 |
| 1.21.7–1.21.8 | 81 | 64 |
| 1.21.11 | 94.1 | 75.0 |
| 26.1–26.1.2 | 101.1 | 84.0 |
| 26.2 | 107.1 | 88.0 |
| 26.3 | 121.0 | 97.1 |
Безопасность: только из проверенных источников
- Функции пакета — это команды сервера. Они выполняются с уровнем прав из
function-permission-level(по умолчанию 2) — на этом уровне доступны, например,/gamerule,/worldborderи/datapack. Пакет из сомнительного источника может незаметно поменять мир. - Смотрите, что внутри. Дата-пак — обычные текстовые файлы: перед установкой откройте папку
functionи проверьте, какие команды там выполняются, особенно в функциях с тегамиminecraft:load(при загрузке) иminecraft:tick(каждый тик). - Функции каждого тика стоят TPS. Тяжёлая функция в
minecraft:tickнагружает сервер постоянно — проверяйте нагрузку профайлером: см. spark. - Сначала бэкап. Пакет генерации или измерений меняет мир необратимо — сделайте резервную копию.
- Если мир не грузится. Paper умеет запустить миры только со встроенным пакетом
vanilla— аргументом запуска--safeMode. Так можно убрать сломанный пакет.
Дата-паки и античит
Дата-пак видит игру через данные и команды, а не через сетевые пакеты клиента. Поэтому проверок уровня пакетов — Timer, Blink, BadPackets — на функциях не построить: античит ставится плагином. DGuard — лучший античит для современного сервера Minecraft — работает на Paper и Leaf 1.21–26.3 рядом с PacketEvents и ловит читы в бою, движении, пакетах, инвентаре, постройке и мире.
Если дата-пак меняет скорость, отдачу или дальность удара — например, своими зачарованиями, — после установки посмотрите журнал наказаний: не стали ли попадать в него честные игроки. DGuard копит улики и не торопится с выводом, а строгость вы настраиваете сами. Как разбирать спорные случаи — в статье ложные баны.
Частые вопросы
Куда кидать дата-пак на сервере?
В папку datapacks внутри папки мира — по умолчанию world/datapacks. Не в plugins/: это не плагин.
Почему дата-пак не работает?
Чаще всего pack.mcmeta лежит не в корне архива, пакет сделан для другой версии или в нём ошибка — её покажет logs/latest.log. Проверьте datapack list enabled; генерация мира и измерения требуют перезапуска.
Как перезагрузить дата-паки на Paper?
Командой minecraft:reload. Просто /reload на Paper перезагружает плагины Bukkit — Paper её не рекомендует.
Дата-пак или плагин — что выбрать?
Для рецептов, добычи, достижений и генерации мира хватит дата-пака: он работает и на ванильном сервере. Для команд с правами, экономики, приватов и защиты от читов нужен плагин.
Источники
- Minecraft Wiki: дата-пак
- Minecraft Wiki: команда /datapack
- Minecraft Wiki: команда /reload
- Minecraft Wiki: установка дата-пака
- Minecraft Wiki: pack.mcmeta
- Minecraft Wiki: номера форматов
- Minecraft Wiki: server.properties
- Paper: команды (reload)
- Paper: аргументы запуска (--safeMode)
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf