How to use a resource pack on a Minecraft server
A resource pack changes textures, sounds and menus. A server can ask every player to use one when they join, so everyone sees the same thing, which servers use for custom items and themed worlds.
What the server needs
Two things in server.properties:
resource-pack=https://example.com/my-pack.zip
resource-pack-sha1=<the SHA-1 checksum of the zip>
The file must be reachable at a direct download address (a plain https link to the zip, not a page with a download button). The checksum lets the game cache the pack and notice when it changes. You can also set require-resource-pack=true to kick players who decline it, and resource-pack-prompt for the message shown.
Making the checksum
On Mac or Linux run shasum -a 1 my-pack.zip, on Windows certutil -hashfile my-pack.zip SHA1. Paste the 40-character result, and update it every time you change the pack.
On Saryno
The World tab has a Resource pack card. Upload the zip (up to 100 MB), tick whether players must accept it, and press Restart the game: Saryno hosts the file, works out the checksum and writes the settings for you.
Keeping it small
Players download it on every first join. Keep it under 10 MB if you can: compress large images, remove unused sounds and use one pack instead of several. A slow download makes people give up before they join.
Common problems
- "Failed to download resource pack": the link is not direct, needs a login, or returns the wrong file type. Open it in a private window to check it downloads.
- The pack does not update: the checksum did not change, or the file was replaced at the same address and cached. Change the checksum.
- Wrong game version: a pack has a
pack_formatthat matches a range of versions. Older packs show a warning on newer versions but usually still work. - Bedrock players see nothing: Bedrock uses different packs, and Geyser needs its own pack set up, see Bedrock crossplay.
For other properties worth knowing, read server.properties explained.