Настройка ресурс-паков на сервере

Хочешь, чтобы мечи на твоём сервере выглядели как джедайские, или зомби звучали иначе? Для этого не обязательно заставлять игроков что-то делать. Ты можешь настроить сервер так, чтобы он сам предлагал скачать нужный ресурс-пак при входе.

В этой статье разберём самый простой и надёжный способ это сделать.

Шаг 1. Подготовка ресурс-пака

Перед загрузкой убедись, что ресурс-пак собран правильно. Открой .zip архив. Внутри сразу должны лежать папка assets, файл pack.mcmeta и (опционально) pack.png. Если внутри архива лежит ещё одна папка с названием пака, а файлы внутри неё — работать не будет.

Шаг 2. Загрузка файла (хостинг файла)

Главное условие Minecraft: ссылка на файл должна быть прямой. Это значит, что при переходе по ссылке скачивание должно начинаться мгновенно, без открытия сайтов с кнопками «Скачать».

Способ 1: сервис mc-packs.net

Это специальный сервис, который упрощает задачу в разы. Он сразу выдаёт прямую ссылку и нужный SHA1 хеш.

  1. Зайди на сайт mc-packs.net.
  2. Нажми Choose File и выбери .zip архив с ресурс-паком.
  3. Нажми Upload.
  4. После загрузки сайт выдаст две строчки:
    • Download URL — это прямая ссылка.
    • SHA1 Hash — проверочный код файла.

Скопируй их в блокнот, они понадобятся дальше.

Способ 2: Google Drive, Dropbox и другие

Можно использовать своё облако, но придётся вручную изменять ссылки и искать хеш.

  • Dropbox: Скопируй ссылку на файл. В конце ссылки замени ?dl=0 на ?dl=1.
  • Google Drive: Ссылку придётся прогонять через генераторы прямых ссылок (Direct Link Generator), так как стандартная ссылка Google открывает предпросмотр, а не скачивание.

Зачем нужен SHA1 хеш? Это «отпечаток» файла. Если не указать хеш, ресурс-пак скачается один раз и закэшируется у игрока. Если потом обновить текстуры на сервере, игрок этого не увидит, потому что игра будет думать, что файл тот же самый. Хеш заставляет игру проверять обновления.

Шаг 3. Настройка сервера

Теперь нужно «скормить» полученные данные серверу.

  1. Зайди в панель управления сервером.
  2. Перейди в раздел Управление файлами ➜ файл server.properties.
  3. Найди строку resource-pack=.
    • Вставь туда прямую ссылку (из шага 2).
  4. Найди строку resource-pack-sha1=.
    • Вставь туда SHA1 хеш.
  5. Сохрани файл server.properties.
  6. Перезапусти сервер.

Шаг 4. Проверка

Зайди на сервер. Если всё сделано правильно, игра покажет окно: «Сервер рекомендует использовать специальный пакет ресурсов. Хотите загрузить и установить его автоматически?»

Нажми «Да». Текстуры должны скачаться и измениться.

Продвинутый уровень: использование плагинов

Стандартный способ через настройки сервера имеет некоторые минусы, для решения которых используют плагин ForceResourcePacks (или аналоги, например, WorldResourcePacks).

Почему через плагин лучше?

  1. Принудительная загрузка: Можно настроить так, что игрока кикнет с сервера, если он откажется качать текстуры.
  2. Разные паки: Можно поставить один пак для лобби, а другой — для BedWars.
  3. Красивое оформление: Можно настроить сообщения в чате и на экране.

Как настроить ForceResourcePacks

  1. Скачай и установи плагин в папку plugins.
  2. В конфиге плагина (config.yml) найди секцию pack.
  3. Вставь туда прямую ссылку и хеш (так же, как в server.properties).
  4. Установи force: true, если пак обязателен.

Для сетей серверов (BungeeCord / Velocity)

Частая проблема крупных проектов: игрок переходит из лобби на режим выживания, и у него снова появляется экран загрузки Mojang, а текстуры перезагружаются. Чтобы этого не происходило, важно соблюдать одно правило:

Ссылка на файл и его SHA1 хеш должны быть абсолютно идентичными на всех серверах связки.

Если на сервере «Лобби» и сервере «Выживание» стоит один и тот же пак, но ссылки отличаются хотя бы на один символ (или хеш не совпадает), клиент Minecraft решит, что это новый пак, удалит старый и начнёт загрузку заново.

Как сделать правильно

  1. Способ «в лоб»: Пропиши одинаковую ссылку и хеш в server.properties на каждом backend-сервере (Lobby, Survival, SkyBlock).
  2. Способ через прокси (рекомендуемый): Установи плагин на загрузку ресурс-пака только на сервер входа (Auth/Lobby). На остальных серверах убери упоминание ресурс-паков. Нюанс: это сработает, только если ты хочешь использовать один пак на весь проект.
  3. Способ для профи (BungeeResourcepacks/VelocityResourcepacks): Существуют плагины, которые ставятся прямо на прокси. Они перехватывают пакеты и не дают клиенту «мигать экраном», если пак не менялся.

Возможные проблемы

Окно с предложением скачать пак не появляется? Скорее всего, игрок случайно нажал «Нет» или «Больше не спрашивать». Ему нужно:

  1. Зайти в меню сетевой игры (список серверов).
  2. Выбрать нужный сервер (одним кликом) и нажать «Настроить» (Edit).
  3. Найти пункт «Пакеты ресурсов сервера» (Server Resource Packs).
  4. Установить значение «Запрашивать» (Prompt) или «Включено» (Enabled).

Загрузка начинается, но зависает или сбрасывается? Проблема в ссылке — она не прямая. Проверь её в браузере в режиме «Инкогнито»: скачивание должно начинаться мгновенно, без открытия каких-то дополнительных страниц. Чтобы исключить эту ошибку, используй mc-packs.net. Если же не помогло, стоит проверить VPN (либо он включен и мешает, либо, напротив, требуется из-за ограчений провайдера).

Ты обновил пак, но у игроков старые текстуры? Значит, забыл обновить resource-pack-sha1 в настройках. Без нового хеша клиент игры думает, что файл не изменился, и загружает старую версию из кэша.