How to make a resource pack required on your server

A Java server can send a resource pack to every player as they join. You need a direct download link, the SHA-1 of the file, and four lines in server.properties.

By the Chunkwright team. Updated 10 October 2026. Java servers (Vanilla, Paper, Spigot, Purpur). Our GUI test server on Paper 1.21.11 sends its pack this way. Bedrock is at the end.

A winter themed shop menu drawn over a chest inventory in Minecraft
A drawn shop menu from our Frostbell GUI pack. Players only see it when the server sends the resource pack.

Step by step

  1. Check the zip

    Open the zip. pack.mcmeta and the assets folder must be at the top level, not inside another folder. A pack that works from your own resourcepacks folder can still fail from a server if it is zipped one level too deep.

  2. Upload it somewhere with a direct link

    The link must start the download straight away, with no page in between. Paste it in a private browser window to test: if you see a web page with a download button, the server cannot use it. Your own web host, a CDN or a resource pack host all work.

  3. Get the SHA-1 of the file

    The SHA-1 is a fingerprint of the file. Minecraft uses it to check the download and to cache the pack, so players do not download it again on every join.

    Windows:  certutil -hashfile MyPack.zip SHA1
    Linux:    sha1sum MyPack.zip
    macOS:    shasum -a 1 MyPack.zip

    Copy the 40 letter and number code.

  4. Edit server.properties

    Stop the server and set these lines in server.properties:

    resource-pack=https://example.com/packs/MyPack.zip
    resource-pack-sha1=0f3a9c...your 40 characters...
    require-resource-pack=true
    resource-pack-prompt={"text":"This server uses a custom menu pack.","color":"gold"}

    require-resource-pack=true disconnects players who decline. The prompt is optional and is shown on the accept screen. Start the server and join to test.

  5. Update it the right way

    When you change the pack, upload the new zip and put its new SHA-1 in server.properties. If the hash does not match the file, the pack fails to load for everyone. Changing the file name with each version also stops old copies being served from a cache.

If it does not work

  • "Failed to download": the link is not direct, it has expired, or the host blocks downloads from the game. Test it in a private browser window.
  • Players get kicked straight away: their server list entry is set to decline packs. In Multiplayer, select the server, click Edit, and set Server Resource Packs to Prompt or Enabled.
  • The pack loads but looks wrong: another pack on the player's list sits above yours, or two packs use the same font characters or models.
  • Old version keeps showing: the SHA-1 in server.properties still belongs to the old file.

Using more than one pack

The server sends one pack from server.properties. If you need art from two packs, merge them: copy the second pack's assets folder into the first. Files with the same path overwrite each other, so merge lists like the font file assets/minecraft/font/default.json by hand instead of replacing it.

Bedrock servers

Bedrock Dedicated Server does not use a download link. The pack goes into the server's resource_packs folder and is listed in the world's world_resource_packs.json. To make it required, set texturepack-required=true in server.properties. Java packs do not work on Bedrock, and players joining a Java server through Geyser do not get the Java pack.

Questions

How do I force a resource pack on my Minecraft server?

Set resource-pack to a direct download link, resource-pack-sha1 to the file hash, and require-resource-pack=true in server.properties, then restart.

Why does my server resource pack fail to download?

Most often the link is not a direct download, or the SHA-1 does not match the file. Test the link in a private browser window and get the hash again.

What is the difference between Prompt and Enabled for server resource packs?

It is a setting on each server in the player's Multiplayer list. Prompt asks every time, Enabled accepts without asking, Disabled declines. A server with a required pack disconnects players who decline.

Do I need the SHA-1?

It is optional in Minecraft, but set it. Without it the pack is not checked and players may download it more often than needed.

From our studio

Our GUI packs are resource packs you send this way: drawn chest menus, rank badges, a tab list and scoreboard art, with ready DeluxeMenus and TAB configs. We can also draw a pack to your theme.

Packs that go with this guide

A medieval chest menu with a red banner title and wooden shop cards

Medieval GUI resource pack: 8 drawn menus, 14 rank badges, tab list, scoreboard, boss bars and hotbar in oak, parchment and gold, with DeluxeMenus and TAB configs.

8 menus, 14 rank badges, tab, scoreboard, boss bars, HUD / Java 1.21.4 to 1.21.11

A steel prison chest menu with hazard stripe title and painted cell locker shop cards

Prison GUI resource pack: 8 drawn menus, 14 rank badges, tab list, scoreboard, boss bars and hotbar in riveted steel and hazard stripes, with DeluxeMenus and TAB configs.

8 menus, 14 rank badges, tab, scoreboard, boss bars, HUD / Java 1.21.4 to 1.21.11

New free builds by email

One short email when a new free build is out. Nothing else. Unsubscribe from any email.