Как сделать ресурс-пак обязательным
Подготовка и загрузка ресурс-пака на сервер
Подготовьте файл ресурс-пака
Убедитесь, что ваш ресурс-пак соответствует требованиям:- Формат:
.zip(не.rar, не.7z) - Внутри архива сразу лежит папка с
pack.mcmeta(не вложенная подпапка) - Размер файла не превышает 256 Мб (рекомендация Mojang для автоматической загрузки клиентом)
- Версия
pack_formatвpack.mcmetaсоответствует версии вашего сервера (например, 48 для 1.21, 34 для 1.20.1)
- Формат:
Загрузите ресурс-пак на сервер через панель proxify.cloud
- Войдите в панель управления proxify.cloud.
- Перейдите в раздел «Файлы» (File Manager) вашего контейнера/VM с Ubuntu.
- Создайте директорию для ресурс-паков, если её нет:
mkdir -p /home/minecraft/resourcepacks - Перетащите
.zipфайл в эту папку через веб-интерфейс File Manager или загрузите через SFTP (WinSCP, FileZilla):- Хост: IP вашего сервера (указан в панели proxify.cloud)
- Порт: 22 (или кастомный, если меняли)
- Пользователь:
rootили созданный пользователь (например,minecraft) - Путь:
/home/minecraft/resourcepacks/
Проверьте права доступа к файлу
Файл должен быть читаем пользователем, от которого запускается сервер.chown minecraft:minecraft /home/minecraft/resourcepacks/your_pack.zip chmod 644 /home/minecraft/resourcepacks/your_pack.zip
Получение прямой ссылки (Direct Download URL)
Ресурс-пак должен быть доступен по прямой HTTPS-ссылке без редиректов, капчи или страниц ожидания.
Вариант А: Использование встроенного веб-сервера панели proxify.cloud (рекомендуется для простоты)
- В панели proxify.cloud откройте вкладку «Веб-консоль» (Web Console) или подключитесь по SSH.
- Установите легкий веб-сервер для раздачи статики (если не установлен):
apt update && apt install -y nginx - Настройте Nginx для отдачи файлов из папки ресурс-паков. Создайте конфиг:
Вставьте конфигурацию (заменитеnano /etc/nginx/sites-available/resourcepacksyour_server_ipна реальный IP из панели proxify.cloud):server { listen 8080; server_name your_server_ip; location /packs/ { alias /home/minecraft/resourcepacks/; autoindex off; add_header Access-Control-Allow-Origin *; add_header Content-Disposition "attachment"; } } - Активируйте сайт и перезагрузите Nginx:
ln -s /etc/nginx/sites-available/resourcepacks /etc/nginx/sites-enabled/ nginx -t && systemctl reload nginx - Прямая ссылка для
server.properties:http://ВАШ_IP_ИЗ_PANELI_PROXIFY:8080/packs/your_pack.zip
Важно: Если у вас на сервере уже стоит панель управления игровым сервером (Pterodactyl, Pelican и т.д.) на 80/443 портах, используйте свободный порт (8080, 8081) и откройте его в файрволе Ubuntu (
ufw allow 8080/tcp) и в фаерволе панели proxify.cloud (раздел «Сеть» -> «Фаервол» -> «Добавить правило» -> TCP 8080).
Вариант Б: Внешний хостинг (GitHub Releases, Cloudflare R2, S3, Dropbox direct link)
- Загрузите файл на GitHub Releases (приватный или публичный репозиторий).
- Скопируйте ссылку на файл из раздела Assets релиза. Она выглядит как:
https://github.com/User/Repo/releases/download/v1.0/your_pack.zip. - Проверьте прямую загрузку:
Должен вернутьcurl -I "https://github.com/User/Repo/releases/download/v1.0/your_pack.zip"HTTP/2 200иContent-Type: application/zip(илиapplication/octet-stream). Никакихtext/html.
Вычисление SHA-1 хеша ресурс-пака
Хеш обязателен для проверки целостности на клиенте. Без него клиент будет перескачивать пак при каждом заходе.
- Выполните команду на сервере (в SSH консоли proxify.cloud):
sha1sum /home/minecraft/resourcepacks/your_pack.zip - Скопируйте только первые 40 символов (хеш), без имени файла и пробелов.
Пример:
a1b2c3d4e5f67890123456789abcdef012345678
Настройка server.properties
Откройте конфигурационный файл сервера через File Manager панели proxify.cloud или через консоль:
nano /home/minecraft/server.properties(Путь может отличаться:
/var/lib/pterodactyl/volumes/.../server.propertiesесли используете Pterodactyl на proxify.cloud. Проверьте рабочую директорию в настройках конкретного игрового сервера на панели).Найдите или добавьте следующие строки (раскомментируйте, убрав
#в начале):resource-pack=https://your-domain.com/packs/your_pack.zip resource-pack-sha1=a1b2c3d4e5f67890123456789abcdef012345678 resource-pack-prompt={"text":"Этот сервер требует ресурс-пак для игры","color":"gold"} require-resource-pack=true resource-pack-id=123e4567-e89b-12d3-a456-426614174000 resource-pack-version=1Разбор параметров:
resource-pack: Прямая HTTPS/HTTP ссылка (из Варианта А или Б). Обязательно используйте HTTPS, если доступно (настройте Certbot/Let's Encrypt для Nginx на proxify.cloud). Клиенты 1.18+ часто блокируют HTTP.resource-pack-sha1: Хеш из шага 3.resource-pack-prompt: JSON-текст (в одну строку), который увидит игрок в меню загрузки. Поддерживает форматирование.require-resource-pack=true: Ключевой параметр. Еслиtrue— игрок не сможет зайти без пака (кнопка «Отмена» отключит кнопку «Подключиться»). Еслиfalse— игрок может нажать «Пропустить».resource-pack-id: UUID (версия 4) для кэширования пака клиентом. Сгенерируйте один раз:cat /proc/sys/kernel/random/uuid. Не меняйте его при обновлении пака, меняйте толькоresource-pack-version.resource-pack-version: Целое число. Увеличивайте на 1 при каждом обновлении файла пака (с тем же ID), чтобы клиенты скачали новую версию.
Сохраните файл (
Ctrl+O,Enter,Ctrl+X).
Перезагрузка сервера и проверка
- Перезапустите игровой сервер через панель управления proxify.cloud (кнопка «Restart» в консоли сервера) или командой в консоли:
# Если systemd сервис (стандарт для Ubuntu на proxify.cloud) systemctl restart minecraft-server # Или если в Docker/Pterodactyl — через панель управления игрой - Зайдите на сервер с клиента Minecraft (версия должна совпадать с сервером).
- Должно появиться окно «Загрузка ресурс-пака» с вашим текстом из
resource-pack-prompt. - После загрузки — вход на сервер. Если
require-resource-pack=true, кнопка «Отмена» вернет вас в главное меню.
Настройка прокси (Velocity / BungeeCord) — если используется
Если ваш сервер за прокси (Velocity на том же выделенном сервере proxify.cloud), настройку нужно делать в конфиге прокси, а не бэкенд-серверов.
Для Velocity (velocity.toml)
Откройте конфиг:
nano /home/minecraft/velocity/velocity.tomlНайдите секцию
[server]или[servers.<name>]и добавьте/измените:# Глобально для всех серверов за прокси (рекомендуется) force-resource-pack = true resource-pack = "https://your-domain.com/packs/your_pack.zip" resource-pack-sha1 = "a1b2c3d4e5f67890123456789abcdef012345678" resource-pack-id = "123e4567-e89b-12d3-a456-426614174000" resource-pack-version = "1" resource-pack-prompt = '{"text":"Требуется ресурс-пак","color":"gold"}'Или настройте индивидуально для конкретного бэкенда в таблице
[servers.lobby]и т.д.Перезапустите Velocity:
systemctl restart velocity
Для BungeeCord (config.yml)
- Откройте
config.yml. - Добавьте в корень (не в
servers:):
BungeeCord не поддерживаетresource-pack: "https://your-domain.com/packs/your_pack.zip" resource-pack-sha1: "a1b2c3d4e5f67890123456789abcdef012345678"require-resource-pack,prompt,id,versionнативно (нужен плагин, например, ResourcePackProxy или BungeeResourcePack). Рекомендуется мигрировать на Velocity.
Автоматизация обновления ресурс-пака (Скрипт)
Чтобы не править конфиги вручную при каждом обновлении, создайте скрипт обновления.
- Создайте файл скрипта:
nano /home/minecraft/update_pack.sh - Вставьте содержимое (подставьте свои пути и URL):
#!/bin/bash set -e PACK_PATH="/home/minecraft/resourcepacks/your_pack.zip" PROPERTIES_PATH="/home/minecraft/server.properties" # Если Velocity: # PROPERTIES_PATH="/home/minecraft/velocity/velocity.toml
Комментарии (0)