Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To add custom content to a Minecraft Bedrock Dedicated Server, install Bedrock add-ons rather than Java-style mods. Extract each .mcpack or .mcaddon, upload its behavior-pack and resource-pack folders, register those packs in the world’s JSON files with the UUID and version from each manifest.json, then restart the server. Uploading files without registering them will not attach them to the world.

What “mods” mean on a Bedrock server

Bedrock Dedicated Server (BDS) uses add-ons. An add-on is normally made from one or both of these pack types:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Behavior pack: changes gameplay logic, such as entities, recipes, loot, abilities, spawning rules or other mechanics.
  • Resource pack: changes client-facing assets, such as textures, models, sounds, menus and other visuals.

A behavior pack does not provide its own visual changes. When an add-on includes both types, install and register both. Java Edition mod files and Java mod loaders are not the installation format described here; Bedrock expects packs with Bedrock manifests.

The procedure below reflects common community practice for BDS. Folder names, validation behavior and pack-format requirements can vary with the server build and hosting environment, so test on a copy of the world before changing a live server.

#1 Best Overall
Minecraft | Java & Bedrock Deluxe Collection | Windows Digital Code
  • DELUXE COLLECTION — Includes Minecraft: Java & Bedrock Edition, three Bedrock add-ons, three exclusive Character Creator items, and 700 Minecoins.
  • CREATE YOUR WORLD — Build whatever you imagine in an infinite world that’s unique in every playthrough.
  • EXPLORE AND CRAFT — Discover biomes, resources, and mobs, then craft your way through a sandbox world filled with surprises.
  • SURVIVE THE ADVENTURE — Face mysterious foes, travel across exciting landscapes, and venture into perilous dimensions.
  • PLAY TOGETHER — Play cross-platform with friends in Bedrock Edition on console, mobile, and PC, or join community servers in Java Edition on PC, Mac, and Linux. Online console multiplayer requires a platform-specific subscription (sold separately).

Before you install anything

Back up the world and server files

Stop the server and make a complete copy of the world directory before adding or replacing packs. Include the existing behavior-pack and resource-pack folders and the world JSON files. A backup lets you remove a broken pack without losing the world’s current state.

Confirm that you can edit the server

You need access to the server directory through your host’s file manager or through an FTP/SFTP-style connection. You also need permission to restart the BDS process. A control panel that only provides console commands is usually insufficient for the file-copy and JSON-registration steps.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check the pack contents on your computer

Keep the original download until the server is working. You will need to inspect every pack’s manifest.json, and that is easier on a local computer than through a small web file manager.

Two ways to get packs into a world

Method How it works When to use it Important limitation
Direct server-folder installation Extract the pack, upload its folders to behavior_packs/ and/or resource_packs/, then register the packs in the world JSON files. Use this for a specific BDS world or when you want to manage packs independently of a local game installation. Every uploaded pack still has to be attached to the world through the correct JSON file.
Single-player world export Load the add-on in a local Bedrock world, save or export that world, and upload the resulting world to the server. Useful when a pack is easiest to configure through the Bedrock client’s world settings. The export method is handled differently by different hosts and can carry over unwanted world settings. It is not as consistent as direct folder installation.

The direct method is the more consistent approach for a dedicated server. The world-export method is an alternative, not a requirement.

Install an add-on by uploading its folders

1. Obtain the add-on and identify its file type

Bedrock add-ons commonly arrive as .mcpack or .mcaddon files. These are archive containers. BDS reads extracted pack folders, not those archive files sitting in the server directory.

Do not upload the archive as the final installation step. Save it locally, make a copy if necessary, and open it with an archive utility. A file ending in .mcaddon can contain more than one pack, while a .mcpack commonly contains one behavior or resource pack.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Extract the archive

Extract the archive into a temporary folder on your computer. Look for a folder whose top level contains manifest.json. That folder is the pack folder you will upload.

Rank #2
Minecraft - Bedrock Edition PS4
  • Play and share with friends on console, mobile and Windows 10
  • discover community creations in the new in-game store
  • access new mini games and game modes through servers

A frequent mistake is double nesting. For example, an extraction may produce MyAddon/MyAddon/manifest.json. The folder you upload must be the inner MyAddon, so that manifest.json is directly inside it. If the uploaded path becomes behavior_packs/MyAddon/MyAddon/manifest.json, BDS may not recognize the pack.

3. Determine whether the folder is a behavior pack or resource pack

Use the manifest and the pack’s contents to identify its role. A behavior pack belongs in behavior_packs/; a resource pack belongs in resource_packs/. An add-on that contains both needs two correctly extracted folders, one for each type. Do not place a resource pack in the behavior directory or combine two pack folders into one.

4. Inspect the manifest before uploading

Open the manifest.json in each pack folder with a text editor that can save plain UTF-8. Find the header object and record:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • header.uuid, which identifies the pack.
  • header.version, which is normally an array of three numbers such as a major, minor and patch version.

Use the UUID and version from the header. Do not copy a module UUID from another part of the manifest. The registration files use the pack identity represented by the header.

5. Upload the pack folders

In the BDS server directory, open or create the standard pack directories:

  • behavior_packs/ for behavior-pack folders.
  • resource_packs/ for resource-pack folders.

Upload the complete folder, not just its manifest and not the original archive. Keep the folder name simple and avoid an extra parent directory. After uploading, verify that the path looks like behavior_packs/PackFolder/manifest.json or resource_packs/PackFolder/manifest.json.

6. Locate the world directory

Open the server’s worlds/ directory and enter the folder for the world that should use the add-on. A commonly seen default name is worlds/Bedrock level/, but your world may have another name configured in the server settings.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Minecraft - Nintendo Switch
  • Minecraft is a game about placing blocks and going on adventures
  • Explore randomly generated worlds and build amazing things from the simplest of homes to the grandest of castles
  • Play in creative mode with unlimited resources or mine deep into the world in survival mode, crafting weapons and armor to fend off the dangerous mobs
  • Play on the go in handheld or tabletop modes
  • Includes Super Mario Mash-Up, Natural Texture Pack, Biome Settlers Skin Pack, Battle & Beasts Skin Pack, Campfire Tales Skin Pack; Compatible with Nintendo Switch only

Do not edit the JSON files for a different world and expect the running world to change. The registrations must be inside the directory of the world the server actually loads.

7. Register the behavior pack

If the add-on has a behavior pack, open world_behavior_packs.json in that world directory. Add an object to the JSON array using the behavior pack’s header.uuid as pack_id and its header.version as version.

Preserve the file’s valid JSON structure. Entries are objects inside an array; separate multiple objects with commas. The version in this registration must match the version array in that pack’s manifest. A mismatch is a common reason for a pack being ignored.

8. Register the resource pack

If the add-on has a resource pack, perform the same operation in world_resource_packs.json. Use the resource pack’s own header UUID and header version, not the behavior pack’s values. If an add-on includes both packs, each pack gets its own entry in its corresponding file.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Copying folders alone is not enough. The JSON registration is what attaches the packs to that particular world.

9. Save the files as plain UTF-8 JSON

JSON files cannot contain comments. Remove editor-added comments before saving. A byte-order mark at the beginning of a file can also cause a parse failure; save the file as plain UTF-8 without a byte-order mark when your editor provides that option.

Check punctuation carefully: property names and string values require double quotation marks, entries in an array need commas between them, and there must be no trailing comma after the final entry.

Rank #4
Minecraft
  • Skins! We have biome settlers, city folk, town folk, and more!
  • The Nether and all its inhabitants. Fight Ghasts and make friends with Pigmen
  • Cross platform play for up to five players between Pocket Edition and Windows 10
  • Revamped touch controls, controller support, and a controller mapping screen
  • Enhanced Weather effects! Accumulating snow and more

10. Restart the server

Stop and start the BDS process after changing either world pack file. A restart is the dependable way to make the server reread the registrations. Some setups appear to support /reload, but it may not apply pack changes when entered through a dedicated-server console, so do not treat it as a replacement for a restart.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

11. Test with a client

Join the target world after the restart and test the content that the pack is supposed to change. For a behavior pack, test its gameplay feature or entity. For a resource pack, check a texture, model, sound or interface element that it supplies.

If the client reports a missing pack, disconnect and inspect the server logs and both registration files. A successful upload with an incorrect UUID, version or world path still results in an apparently unmodified world.

How the world JSON registrations work

The two registration files have separate jobs:

File References Folder that must exist
world_behavior_packs.json Behavior-pack header UUID and header version A matching folder under behavior_packs/
world_resource_packs.json Resource-pack header UUID and header version A matching folder under resource_packs/

Think of each registration as a link between three things: the world file, the pack identity in the manifest, and the uploaded folder. All three must agree. If a registration remains after its folder is deleted, remove that entry. Every pack_id should correspond to a pack that is actually present in the matching directory.

When updating a pack, replace the folder and update the registered version to the new header.version. Leaving an old version in the world file can prevent the new files from loading correctly.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Pack order and conflicts

Two packs can change the same texture, entity definition or other piece of content. In that situation, one pack takes precedence. Community installation guides do not agree on whether the first or last entry wins in every list and pack type. Treat the direction as build- and content-dependent rather than a settled rule.

Use a staging world to determine the result:

  1. Back up the world and record the current order in the relevant JSON file.
  2. Install only the two packs that conflict.
  3. Place one order in the registration list and restart the server.
  4. Test the exact asset or behavior that overlaps.
  5. Reverse the order, restart again and compare the result.
  6. Keep the order that produces the intended result, and document it for future updates.

Do not assume that changing the order in world_resource_packs.json also changes behavior-pack precedence. Test each list independently when both types overlap.

Best Value
Minecraft: Switch Edition
  • Explore randomly-generated worlds and build amazing things from the simplest of homes to the grandest of castles
  • Play in Creative Mode with unlimited resources or mine deep into the world in survival mode, crafting weapons and armour to fend off the dangerous mobs
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Using a single-player world as an alternative

Some Bedrock workflows install the add-on in a local single-player world first, save that world, and then upload the world directory to the server. This can be convenient when the client exposes pack-selection controls that are easier to use than manual JSON editing.

Before uploading such a world, verify that the exported world contains the expected pack folders and registrations. If you subsequently change packs on the server, use the world’s own world_behavior_packs.json and world_resource_packs.json; do not assume that copying a new archive into the server will update the exported world automatically.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep a backup of the server’s existing world. Replacing a world with an export can overwrite progress, settings and other world-specific data. Because hosts package and import worlds differently, follow the host’s upload rules for this route and test the result before making it the production world.

Troubleshooting a Bedrock pack that will not load

Symptom Likely cause What to check
The pack does not appear after upload The archive was uploaded instead of an extracted folder, or the folder is nested twice. Open the uploaded path and confirm that manifest.json is directly inside the pack folder.
The world starts with no visible changes The pack files exist but are not registered for the loaded world. Check both world JSON files in the active world directory and add the correct registration.
A behavior pack loads but visuals do not change Only the behavior pack was installed. Install and register the matching resource pack if the add-on includes one.
A resource pack loads but gameplay does not change Only the resource pack was installed, or the behavior registration is wrong. Check world_behavior_packs.json, the behavior folder and the behavior manifest.
The server ignores an entry The registered version does not match the manifest’s header version. Copy the complete header.version array again from the current pack.
The entry looks correct but parsing fails Comments, invalid commas, incorrect quotation marks or a byte-order mark corrupted the JSON. Validate the file with a JSON-aware editor, remove comments and save as plain UTF-8.
The server loads but the pack is missing The registration points to a pack that was moved or deleted. Confirm that the corresponding folder exists and remove stale entries.
Changes appear only after some clients reconnect The server was not fully restarted after editing the registrations, or a client retained cached assets. Restart BDS, reconnect the client and test again on a clean staging world.
One of two packs wins unexpectedly The packs overlap and precedence depends on their order. Test both orders on a staging world instead of relying on a presumed first- or last-entry rule.
A pack worked previously but fails after a server update Pack compatibility can depend on the BDS version. Check that the server software and the pack release are intended to work together, then retest from a backup.

Safe update and removal practices

Update one pack at a time

Stop the server, back up the world, replace the pack folder, inspect the new manifest, update the matching JSON version and restart. Changing several packs at once makes it difficult to identify which update introduced a failure.

Remove a pack cleanly

Stop the server, remove its entry from the appropriate world JSON file, and then remove the unused folder from behavior_packs/ or resource_packs/. Keep the backup until players have confirmed that the world behaves as expected. Removing only the folder leaves a stale registration; removing only the registration leaves unnecessary files.

Keep a change record

Record the pack folder name, header UUID, header version, installation date and the order used in each JSON file. This turns a future troubleshooting session into a comparison rather than guesswork, especially when several packs modify similar content.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Practical installation checklist

  • The server is stopped and the world is backed up.
  • Every .mcpack or .mcaddon has been extracted locally.
  • Each uploaded pack folder contains manifest.json at its top level.
  • Behavior folders are under behavior_packs/; resource folders are under resource_packs/.
  • The active world directory, not another world, contains the registration files.
  • Each registration uses the pack’s header.uuid, not a module UUID.
  • Each registration uses the exact header.version array from the same manifest.
  • The JSON contains no comments, malformed commas or byte-order mark.
  • No registration remains for a pack that is not uploaded.
  • The server has been restarted after the changes.
  • Overlapping packs have been tested in more than one order on a staging world.

What to expect from a reliable installation

A successful installation has matching evidence in three places: the extracted folder contains a readable manifest, the pack is in the correct top-level directory, and the active world’s JSON file identifies that pack with the exact header UUID and version. If any one of those links is missing, BDS can start normally while silently leaving the add-on inactive.

For that reason, begin with the direct folder method, test on a copied world, restart after every registration change and treat pack-order behavior as something to verify rather than assume.

Quick Recap

Bestseller No. 2
Minecraft - Bedrock Edition PS4
Minecraft - Bedrock Edition PS4
Play and share with friends on console, mobile and Windows 10; discover community creations in the new in-game store
$42.98
Bestseller No. 3
Minecraft - Nintendo Switch
Minecraft - Nintendo Switch
Minecraft is a game about placing blocks and going on adventures; Play on the go in handheld or tabletop modes
$29.83
Bestseller No. 4
Minecraft
Minecraft
Skins! We have biome settlers, city folk, town folk, and more!; The Nether and all its inhabitants. Fight Ghasts and make friends with Pigmen
$6.99
Bestseller No. 5

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.