Categories
How to Add Resource Packs and Behavior Packs to Your Minecraft Server
Resource Packs vs Behavior Packs
Before we start, here's the difference:
- Resource Packs (RP) — Change how the game looks: textures, sounds, models, fonts, and UI. Available in both Java and Bedrock editions
- Behavior Packs (BP) — Change how the game works: mob AI, loot tables, crafting recipes, and game rules. Bedrock Edition only (Java uses Data Packs for similar functionality)
- Data Packs — Java Edition's equivalent of behavior packs: custom recipes, loot tables, world generation, advancements, and functions
Do I need to separate resource packs and behavior packs? Yes. Many addon downloads come as a single .mcaddon or zip that contains both an RP and a BP inside. You must separate them — the resource pack goes into the resource_packs folder and the behavior pack goes into the behavior_packs folder. They cannot be in the same folder.
Bedrock Edition
Important — uploading pack files into the folders is NOT enough. After uploading, you must also register each pack in a JSON file inside your world folder. Without this step, the server will ignore the packs entirely. This is the most common reason packs don't work.
Step 1: Prepare Your Pack Files
- If your download is a
.mcaddonfile, rename it to.zipand extract it. Inside you'll typically find two folders — one is the resource pack (RP) and the other is the behavior pack (BP). You can tell which is which by opening themanifest.jsonin each folder and checking thetypefield: it will say"resources"or"data" - If your download is a single
.mcpack, rename it to.zipand extract it. It should contain amanifest.jsonat its root - If you have separate RP and BP
.mcpackfiles, rename each to.zipand extract them separately
Step 2: Upload to the Correct Folders
In the game panel, go to the Files tab:
- Upload your resource pack folder into
resource_packs/(create this folder if it doesn't exist) - Upload your behavior pack folder into
behavior_packs/(create this folder if it doesn't exist)
Your file structure should look like this:
resource_packs/
MyAddonRP/
manifest.json ← this must be here, not one level deeper
textures/
...
behavior_packs/
MyAddonBP/
manifest.json ← this must be here, not one level deeper
entities/
...
Common mistake: Uploading the zip file itself or having a double-nested folder like resource_packs/MyAddon/MyAddon/manifest.json. The manifest.json must be exactly one level inside the folder.
Step 3: Register Packs in Your World (Required!)
This is the step most people miss. Just putting files in the folders does nothing — you have to tell the server to actually use them.
- Open each pack's
manifest.jsonand find theheadersection. Note theuuidandversionvalues:{ "header": { "name": "My Addon RP", "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "version": [1, 0, 0] } } - For resource packs: Navigate to your world folder (e.g.,
worlds/Bedrock level/or justworld/) and open or create a file called world_resource_packs.json. Add:
Replace the UUID and version with the actual values from your resource pack's[ { "pack_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "version": [1, 0, 0] } ]manifest.json. - For behavior packs: In the same world folder, open or create world_behavior_packs.json. Add:
Replace the UUID and version with the actual values from your behavior pack's[ { "pack_id": "x9y8z7w6-v5u4-3210-fedc-ba0987654321", "version": [1, 0, 0] } ]manifest.json.
If you have multiple packs, add them as separate objects in the same array, separated by commas:
[
{ "pack_id": "first-pack-uuid", "version": [1, 0, 0] },
{ "pack_id": "second-pack-uuid", "version": [1, 0, 0] }
]
Step 4: Restart the Server
Go to the Console tab and restart the server. Watch the console output — you should see messages about loading the packs. If you see errors, check the Troubleshooting section below.
Java Edition
Adding a Server Resource Pack (Java)
Java Edition servers can suggest a resource pack that players automatically download when joining. The pack must be hosted as a direct download URL.
- Upload your resource pack
.zipfile to a public file host (e.g., Dropbox, Google Drive, or your own web server). You need a direct download link - In the game panel, go to Files and open server.properties
- Set these values:
resource-pack=https://your-direct-download-url.com/pack.zipresource-pack-sha1=(the SHA-1 hash of your .zip file — this verifies the download)require-resource-pack=true(optional — forces players to accept or be disconnected)
- Save and restart the server
Tip: To get the SHA-1 hash, use an online SHA-1 calculator or run sha1sum pack.zip in a terminal. If you skip this, players may re-download the pack every time they join.
Important: Dropbox links must end in ?dl=1 (not ?dl=0). Google Drive links need to be converted to a direct download format.
Adding Data Packs (Java)
Data packs are Java's way of modifying game behavior without mods.
- Download or create your data pack (it will be a
.zipfile containing apack.mcmetaand adatafolder) - In the game panel, navigate to Files → your world folder (usually
world) → datapacks - Upload the
.zipfile into thedatapacksfolder - Either restart the server, or run
/reloadin the console - Verify with
/datapack list— your pack should appear as enabled
Popular data pack sources:
- Vanilla Tweaks — curated quality-of-life datapacks
- Modrinth — community data packs
- Planet Minecraft — user-submitted data packs
Troubleshooting
- "I uploaded the packs but nothing changed" — Did you create the
world_resource_packs.jsonand/orworld_behavior_packs.jsonfiles? Uploading to the folders alone is not enough — you must register each pack in these JSON files - Wrong folder structure (Bedrock) — The
manifest.jsonmust be directly inside the pack folder:resource_packs/MyPack/manifest.json. If it's nested deeper likeresource_packs/MyPack/MyPack/manifest.json, move the contents up one level - "Invalid pack" or JSON errors — The
world_resource_packs.jsonormanifest.jsonmight have a typo. Copy the UUID carefully. Validate JSON at jsonlint.com - Packs not applying after restart — Check the console for error messages. Common cause: duplicate UUIDs across packs, or the world folder name doesn't match where you placed the JSON files
- Pack not showing up (Java) — Make sure the URL is a direct download link. Test it by pasting it in your browser — it should immediately start downloading a
.zipfile - Resource pack too large (Java) — Java servers have a default limit. Very large packs (100MB+) may fail to download for players with slow connections
Note: Custom pack installation falls under our unmanaged server policy. We're happy to help with basic setup, but for pack-specific issues, refer to the pack creator's documentation.
Still need help?
Create a Support Ticket