How to Add a Server-Side Resource Pack to Your Minecraft Server
This guide walks you through every step of setting up a server-side resource pack on a Minecraft Java Edition server — from packaging your ZIP correctly to pasting the final config into server.properties. MinecraftPack generates the required URL, SHA1 hash, and UUID for free in under 60 seconds.
What Is a Server-Side Resource Pack?
A server-side resource pack is a resource pack that your Minecraft Java Edition server automatically offers to players when they join. Instead of asking every player to manually install the pack, the server sends a prompt on login: "This server recommends a resource pack. Would you like to download it?"
Server admins can also set require-resource-pack=true in server.properties to make the pack mandatory — players who decline are kicked. The pack is downloaded directly from the URL in server.properties and cached locally so it only downloads once per pack version.
Server-side resource packs work on all Java Edition server platforms: Vanilla, Paper, Spigot, Purpur, Fabric, Forge, and proxy setups using Velocity or BungeeCord.
Step 1 — Package Your Resource Pack Correctly
Your resource pack must be a .zip file with pack.mcmeta at the root level (not inside a subfolder). The required structure is:
pack.mcmeta— required. Contains the pack format version and description.pack.png— optional. 64×64 PNG icon shown in the pack selector.assets/minecraft/textures/— texture overrides (optional)assets/minecraft/sounds/— sound overrides (optional)assets/minecraft/models/— model overrides (optional)
Common mistake: right-clicking a folder and choosing Compress creates a ZIP with a subfolder inside. pack.mcmeta ends up one level too deep and Minecraft cannot read it. Instead, open the folder, select all files and folders inside it, and create the ZIP from that selection.
A minimal pack.mcmeta for modern Minecraft (1.21+) looks like this:
{"pack":{"pack_format":34,"description":"My Server Pack"}}Step 2 — Host the Pack and Get Your server.properties Config
Minecraft's server.properties requires a direct download URL — a link that returns the raw ZIP bytes, not an HTML share page. You also need the exact SHA1 hash of the ZIP and a UUID to identify the pack version.
MinecraftPack handles all three automatically:
- Go to minecraftpack.net and drag your ZIP onto the upload zone.
- The SHA1 hash is computed in your browser while the file uploads to Google Drive.
- A fresh UUID is generated for
resource-pack-id. - The complete ready-to-paste
server.propertiesblock appears — copy it.
The output looks like this:
resource-pack=https://drive.google.com/uc?export=download&id=XXXXXXX
resource-pack-sha1=a1b2c3d4e5f6...
resource-pack-id=550e8400-e29b-41d4-a716-446655440000Step 3 — Edit server.properties
Open your server's server.properties file in a text editor. It lives in the root directory of your Minecraft server. Find (or add) these fields and paste the values from MinecraftPack:
| Field | Description | Required since |
|---|---|---|
resource-pack | Direct download URL of your ZIP | 1.3 |
resource-pack-sha1 | 40-character hex SHA1 of the ZIP | 1.9 |
resource-pack-id | UUID identifying this pack version | 1.20.3 |
require-resource-pack | Set to true to kick players who decline | 1.17 |
Set require-resource-pack=false if you want the pack to be optional (players can decline without being kicked). Set it to true for servers where the pack is essential — PvP servers, adventure maps, fully themed servers.
Step 4 — Restart Your Server and Test
Save server.properties and restart the Minecraft server. The change takes effect on the next restart — a reload is not sufficient.
When you join, you should see the resource pack prompt appear. To test correctly:
- Join as a player with a fresh client (or delete the cached pack from
.minecraft/server-resource-packs/). - The prompt should appear immediately after connecting.
- Accept the pack — textures, sounds, and models should load within a few seconds.
If the pack does not appear: check that resource-pack is a direct download URL (it should start with https://drive.google.com/uc?export=download when using MinecraftPack), confirm resource-pack-sha1 is exactly 40 hex characters, and verify the server restarted (not just reloaded).
Troubleshooting: Resource Pack Not Loading
- Players see the old pack after an update — The
resource-pack-idUUID did not change. Upload the new pack version to MinecraftPack to get a fresh UUID, then updateserver.propertiesand restart. - SHA1 mismatch error in console — The SHA1 in
server.propertiesdoes not match the file at the URL. Re-upload on MinecraftPack; the SHA1 is computed from the exact file that gets hosted. - Non-direct URL — If the URL is a Google Drive share link (ending in
/view) rather than an export link, Minecraft downloads an HTML page instead of the ZIP. MinecraftPack always generates the correct?export=downloadURL. - Pack prompt not appearing — Confirm
resource-packis set inserver.propertiesand the server was fully restarted. Some hosting panels have a separate "server.properties" editor that may cache the old values. - Players kicked for declining —
require-resource-pack=trueis set. Change tofalseif the pack should be optional.
Frequently Asked Questions
How do I add a resource pack to my Minecraft server?
Upload your .zip to MinecraftPack (minecraftpack.net) to get a direct URL, SHA1 hash, and UUID. Paste the three lines into server.properties (resource-pack, resource-pack-sha1, resource-pack-id) and restart the server. Players are prompted to download on join.
What is the resource-pack-sha1 field in server.properties?
It is the SHA1 hash of your resource pack ZIP file. Minecraft clients verify the downloaded file against this hash. If they don't match, the pack is rejected. MinecraftPack computes this automatically from the file you upload.
Do I need resource-pack-id in server.properties?
Yes, for Minecraft 1.20.3 and later. The UUID in resource-pack-id tells clients which version of the pack to use. A new UUID forces clients to re-download even if they have a cached version. MinecraftPack generates a fresh UUID for every upload.
Can I make the resource pack required on my server?
Yes. Set require-resource-pack=true in server.properties. Players who decline the download prompt will be kicked from the server. This is common on themed servers and adventure maps.
How do I update my server resource pack?
Re-upload the new pack version to MinecraftPack. You will receive a new URL, SHA1, and UUID. Paste these into server.properties, replacing the old values, and restart your server. Players will be prompted to re-download on their next join.
What Minecraft server versions support server-side resource packs?
Server-side resource packs are supported on all Java Edition versions from 1.3 onward. The resource-pack-id UUID field was added in 1.20.3. MinecraftPack generates configs that work across all versions from 1.8 to 1.21+.
Does this work on modded servers (Forge, Fabric)?
Yes. Forge, Fabric, NeoForge, and all popular server platforms (Paper, Purpur, Spigot, Velocity, BungeeCord) read server.properties the same way and support server-side resource packs.