Установка ресурспака на сервер Minecraft
Как установить ресурспак на сервер Minecraft: настройка server.properties, хостинг zip-файла, плагины и кастомные модели предметов.
Кратко: Ресурспак на сервере Minecraft настраивается через три параметра в server.properties - resource-pack (URL), resource-pack-sha1 (хеш) и require-resource-pack (обязательность). Zip-файл нужно разместить на хостинге с прямой ссылкой - подходят Dropbox, GitHub Releases или собственный веб-сервер.
Установка ресурспака на сервер Minecraft
Серверный ресурспак позволяет задать единый визуальный стиль для всех игроков без необходимости вручную устанавливать текстуры на каждый клиент. При подключении к серверу Minecraft автоматически предлагает скачать и применить пак - достаточно настроить три строки в server.properties и разместить zip-файл по прямой ссылке. В 2026 году этот механизм работает начиная с Minecraft 1.7.2 и поддерживается на всех современных ядрах: Vanilla, Paper, Purpur, Spigot. Для более гибкого управления - разные паки для разных регионов или игроков - существуют специализированные плагины.
Pterohost - Minecraft хостинг с NVMe-дисками, защитой от DDoS и поддержкой 24/7. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг
Как работает серверный ресурспак
Когда игрок подключается к серверу, сервер отправляет клиенту пакет Resource Pack Send с URL и хешем файла. Клиент скачивает zip, проверяет SHA-1, распаковывает и применяет пак поверх стандартных текстур. Если игрок уже скачивал этот пак (хеш совпадает), повторной загрузки нет - используется кеш.
Схема работы:
- Игрок подключается к серверу.
- Сервер отправляет URL и SHA-1 хеш.
- Клиент проверяет кеш (
~/.minecraft/server-resource-packs/). - Если хеш не совпадает - скачивает zip по URL.
- Применяет пак и отображает игру с новыми текстурами.
Параметр require-resource-pack=true добавляет принудительность: игрок, нажавший “Отказаться”, получает кик с сообщением. По умолчанию (false) - загрузка добровольная.
Подготовка zip-файла ресурспака
Ресурспак должен быть запакован в zip-архив с правильной структурой папок. Корень архива содержит файл pack.mcmeta и папку assets.
Минимальная структура:
resourcepack.zip
├── pack.mcmeta
└── assets/
└── minecraft/
├── textures/
├── sounds/
└── models/
Содержимое pack.mcmeta (пример для Minecraft 1.21+):
{
"pack": {
"pack_format": 34,
"description": "Мой серверный ресурспак"
}
}
Актуальные значения pack_format по версиям Minecraft:
| Версия Minecraft | pack_format |
|---|---|
| 1.20.4 | 22 |
| 1.20.6 | 32 |
| 1.21 | 34 |
| 1.21.1 | 34 |
| 1.21.4 | 46 |
Если сервер поддерживает несколько версий (например, через ViaVersion), указывай pack_format для актуальной версии сервера. Старые клиенты покажут предупреждение, но пак загрузят.
Создание zip из командной строки Linux:
cd resourcepack_folder
zip -r ../resourcepack.zip .
Важно: архивировать нужно содержимое папки, а не саму папку. Иначе Minecraft не найдет pack.mcmeta в корне архива.
Хостинг zip-файла
Minecraft требует прямой HTTP/HTTPS-ссылки на zip-файл - сервер обращается к URL и получает бинарные данные файла без редиректов и HTML-страниц.
Dropbox
- Загрузи zip-файл в Dropbox.
- Нажми “Поделиться” -> “Скопировать ссылку”.
- В полученной ссылке замени
?dl=0на?dl=1:- Было:
https://www.dropbox.com/s/abc123/resourcepack.zip?dl=0 - Стало:
https://www.dropbox.com/s/abc123/resourcepack.zip?dl=1
- Было:
Параметр dl=1 заставляет Dropbox отдавать файл напрямую, а не открывать страницу просмотра.
GitHub Releases
Оптимальный вариант для больших паков - без ограничений на скачивание и с высокой скоростью CDN.
- Создай репозиторий (можно приватный, но тогда прямые ссылки не работают - нужен публичный).
- Перейди в Releases -> “Create a new release”.
- Прикрепи zip-файл как asset.
- Ссылка на файл вида:
https://github.com/username/repo/releases/download/v1.0/resourcepack.zip
Собственный веб-сервер
Если у тебя есть VPS или выделенный сервер, размести файл в публичной папке nginx/apache:
# Скопируй файл в папку nginx
cp resourcepack.zip /var/www/html/packs/
# Ссылка будет вида:
# https://yourserver.com/packs/resourcepack.zip
Nginx-конфиг для корректных заголовков:
location /packs/ {
add_header Content-Type application/zip;
add_header Access-Control-Allow-Origin *;
}
Что НЕ работает
- Google Drive - отдаёт страницу подтверждения загрузки, а не файл.
- OneDrive с обычными ссылками - аналогичная проблема.
- Ссылки с капчей или авторизацией.
- HTTP без HTTPS на серверах 1.20+ (требуется HTTPS).
Настройка server.properties
После размещения файла открой server.properties в корне сервера и добавь или измени три параметра:
# URL к zip-файлу ресурспака (обязателен HTTPS с Minecraft 1.20+)
resource-pack=https://www.dropbox.com/s/abc123/resourcepack.zip?dl=1
# SHA-1 хеш файла (рекомендуется, но не обязателен)
resource-pack-sha1=7a5b2c1d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b
# Обязать игроков принять ресурспак
require-resource-pack=false
# Сообщение при отказе (только при require-resource-pack=true)
resource-pack-prompt={"text":"Для игры необходим ресурспак сервера","color":"red"}
Получение SHA-1 хеша
Linux/macOS:
sha1sum resourcepack.zip
# Вывод: 7a5b2c1d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b resourcepack.zip
Windows PowerShell:
Get-FileHash resourcepack.zip -Algorithm SHA1
# Вывод: Algorithm Hash Path
# SHA1 7A5B2C1D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B resourcepack.zip
Хеш в server.properties нужно указывать строчными буквами. SHA-1 используется для кеширования на стороне клиента: если хеш не изменился, клиент не будет перекачивать пак.
После изменения server.properties перезагрузи сервер - параметры resource-pack не применяются через /reload.
Плагины для управления ресурспаками
Стандартного механизма server.properties хватает для большинства серверов, но плагины дают больше возможностей: разные паки для разных миров, динамическое переключение, загрузка дополнительных паков поверх основного.
ResourcePackManager (Paper/Spigot)
Плагин позволяет назначать разные ресурспаки для разных миров и игроков. Конфиг /plugins/ResourcePackManager/config.yml:
default:
url: "https://example.com/packs/default.zip"
sha1: "aabbccdd..."
required: false
worlds:
nether:
url: "https://example.com/packs/nether.zip"
sha1: "11223344..."
required: true
MultiResourcePack / PacketEventsAPI
Для серверов 1.20.3+ появилась возможность отправлять несколько ресурспаков одновременно (через новый пакет Resource Pack Push). Плагины на базе PacketEvents используют эту функцию для стекинга паков.
CustomModelData и Item Model Override
Начиная с Minecraft 1.14, в ресурспаке можно переопределять модели предметов через CustomModelData. Это позволяет создавать сотни кастомных предметов без модов, используя стандартные ID предметов как “держатели”.
Пример файла модели assets/minecraft/models/item/diamond.json:
{
"parent": "item/handheld",
"textures": {
"layer0": "item/diamond"
},
"overrides": [
{"predicate": {"custom_model_data": 1001}, "model": "custom/sword_fire"},
{"predicate": {"custom_model_data": 1002}, "model": "custom/sword_ice"},
{"predicate": {"custom_model_data": 1003}, "model": "custom/wand_magic"}
]
}
Соответствующие модели кладутся в assets/minecraft/models/custom/. Игроку выдаётся алмаз с NBT-тегом {CustomModelData:1001} - и он видит огненный меч.
Начиная с Minecraft 1.21.4 появился новый компонент minecraft:item_model, который заменяет систему CustomModelData и позволяет назначать произвольные модели напрямую. Старый механизм через overrides продолжает работать для обратной совместимости.
Отладка и типичные ошибки
Ресурспак не загружается
Проверь по порядку:
- URL доступен по HTTPS (в 2024-2026 HTTP заблокирован на новых клиентах).
- Открой URL в браузере - он должен начать скачивание, а не открывать страницу.
- SHA-1 хеш правильный (регистр не важен, но длина должна быть 40 символов).
- Размер файла не превышает допустимый лимит хостинга.
Лог сервера при успешной отправке:
[INFO]: Sending resource pack to player PlayerName
Сервер логирует ошибку “Invalid SHA1”
Значит хеш в server.properties не совпадает с реальным хешем файла. Пересчитай и обнови. Частая причина - пересохранил zip-файл, но забыл обновить хеш.
Клиент говорит “Failed to download”
Проблема на стороне клиента или хостинга:
- Проверь, что URL не требует авторизации.
- Проверь ограничения по скорости на хостинге файла.
- Некоторые CDN блокируют User-Agent Minecraft - нужно настроить разрешение.
Текстуры применяются, но не все
Скорее всего несоответствие pack_format версии клиента. Клиент покажет предупреждение, но попробует применить пак - некоторые форматы текстур/моделей из новых версий не поддерживаются старыми клиентами.
Ресурспак с кастомными звуками
Помимо текстур, серверный ресурспак может включать кастомные звуки. Файлы размещаются в assets/minecraft/sounds/ в формате OGG Vorbis.
Регистрация звука в assets/minecraft/sounds.json:
{
"custom.ambient.forest": {
"sounds": [
{
"name": "custom/forest_ambient",
"volume": 0.8,
"pitch": 1.0,
"stream": true
}
]
}
}
Плагин на сервере вызывает звук командой:
/playsound minecraft:custom.ambient.forest ambient @a ~ ~ ~ 1 1
Или через Paper API:
player.playSound(player.getLocation(), "custom.ambient.forest", SoundCategory.AMBIENT, 1.0f, 1.0f);
Оптимизация размера ресурспака
Большой ресурспак = долгая загрузка для игроков. Несколько советов по уменьшению размера:
Текстуры:
- Используй PNG с оптимизацией (optipng, pngquant).
- Не увеличивай разрешение выше 64x64 для стандартных блоков без необходимости - 256x256 в 16 раз тяжелее.
- Убирай EXIF-данные из изображений.
Звуки:
- OGG с битрейтом 96-128 kbps достаточно для большинства игровых звуков.
- Стриминг (
"stream": true) для длинных треков (фоновая музыка).
Инструменты:
# Оптимизация PNG
pngquant --quality=80-95 assets/minecraft/textures/block/*.png
# Конвертация wav в ogg
ffmpeg -i sound.wav -codec:a libvorbis -qscale:a 4 sound.ogg
Целевой размер для комфортной загрузки:
| Размер пака | Время загрузки (50 Mbit/s) | Рекомендация |
|---|---|---|
| до 10 МБ | ~2 секунды | Отлично |
| 10-50 МБ | 2-8 секунд | Приемлемо |
| 50-150 МБ | 8-25 секунд | С предупреждением |
| более 150 МБ | более 25 секунд | Нежелательно |
Связанные материалы
Настройка ресурспака - часть общей конфигурации сервера. Подробнее о защите территорий и управлении регионами читай в статье WorldGuard: регионы и защита. О выборе ядра сервера для оптимальной производительности - в Ядра Minecraft серверов. Если сервер тормозит при загрузке паков или большом числе игроков - Оптимизация Minecraft сервера покрывает настройки aikar-flags, chunk-loading и view-distance.
Заключение
Установка ресурспака на сервер Minecraft сводится к четырём шагам: подготовь корректный zip с файлом pack.mcmeta, разместив его по прямой HTTPS-ссылке (Dropbox, GitHub Releases или собственный сервер), вычисли SHA-1 хеш и пропиши параметры в server.properties. Для продвинутых сценариев - кастомные модели через CustomModelData, кастомные звуки, разные паки для разных миров - используй плагины и пакет Assets Override. Ключевые моменты: прямая ссылка без редиректов, корректный SHA-1, HTTPS обязателен с Minecraft 1.20+, и pack_format должен соответствовать версии сервера.
Pterohost - надёжный хостинг для Minecraft с поддержкой 24/7, NVMe и DDoS-защитой - идеально для серверов с кастомными ресурспаками и большим числом игроков. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг