To add custom content to a Minecraft Bedrock Dedicated Server (BDS), use Bedrock add-ons rather than Java Edition mods. Extract each .mcpack or .mcaddon archive, upload its behavior-pack and resource-pack folders to the server, register the packs in the world’s JSON files with the UUID and version from each manifest.json, then restart the server. Uploading folders without registering them does not attach them to a world.
Godlike.Host offers hosted Minecraft Bedrock servers with its own game panel, SFTP access and free DDoS protection, if you would rather not host it yourself.
The procedure below follows common community hosting practice. Bedrock pack formats and BDS behavior can change with server updates, so verify compatibility with the documentation for the BDS version you run and test changes on a copy of your world first.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Minecraft | Java & Bedrock Deluxe Collection | Windows Digital Code | $39.99 | Buy on Amazon |
| 2 |
|
Minecraft - Bedrock Edition PS4 | $42.98 | Buy on Amazon |
| 3 |
|
Minecraft - Nintendo Switch | $29.83 | Buy on Amazon |
| 4 |
|
Minecraft | $6.99 | Buy on Amazon |
| 5 |
|
Minecraft: Switch Edition | $32.65 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →What “mods” mean on a Bedrock server
Bedrock Dedicated Server does not use the Java Edition mod-loader model. The supported customization described by Bedrock server guides is an add-on made from one or both of these pack types:
| Pack | What it changes | Where it is installed |
|---|---|---|
| Behavior pack | Gameplay logic, entities, recipes, loot, rules and other behavior defined by the pack | behavior_packs/ |
| Resource pack | Textures, models, sounds and other visual or presentation assets | resource_packs/ |
A behavior pack does not supply visual changes by itself. An add-on may include both folders when its gameplay and visual files are designed to work together. Do not assume that a Java mod, a Java mod-loader package or a Java-only server plug-in can run on Bedrock; the installation method here is for Bedrock packs.
#1 Best Overall
- 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).
Prepare the server and the add-on
Back up the world
Stop the server and make a complete copy of the world directory before changing pack files or JSON registration. Keep the backup outside the live server directory and label it with the date and the BDS version. A pack can alter gameplay data as soon as players enter the world, so a backup gives you a recovery point if the pack is incompatible or incorrectly configured.
Choose a test world
Use a disposable or copied world for the first launch. Test the add-on with the same server software version, permissions and world settings that the production server uses. This is especially important when several packs alter the same entity, texture or game rule.
Download the package and inspect its file type
Bedrock add-ons commonly arrive as .mcpack or .mcaddon files. These are renamed ZIP archives. BDS reads the extracted directory structure, not the archive file sitting in the server folder. Save the original download on your computer, then make a working copy for extraction.
- Rename the file extension from
.mcpackor.mcaddonto.zip, if your operating system does not already offer an “Extract” command for it. - Extract the archive into a temporary folder on your computer.
- Look for one or more pack directories. A valid pack directory contains a file named
manifest.jsonat its top level.
If extraction creates a folder containing another folder before you reach manifest.json, the outer folder is only a container. Upload the inner pack folder, not the container that merely holds it.
Install the folders in the server directory
Identify the BDS root
Open the directory that contains the server’s normal folders, including behavior_packs/, resource_packs/ and the worlds/ directory. Hosting panels may call this the server file manager; a self-managed server may expose it through SFTP or FTP. The interface differs, but the destination folder names and the required layout are the same.
Rank #2
- 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
Upload behavior packs
For every behavior pack, upload the pack folder into the server root’s behavior_packs/ directory. The final path should look like behavior_packs/PackFolder/manifest.json. Keep the pack’s files together and retain the folder name used by the extracted package unless your host requires a different legal name.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Upload resource packs
Upload each resource-pack folder into resource_packs/. Its final path should look like resource_packs/PackFolder/manifest.json. If an add-on contains both pack types, place the behavior folder and resource folder in their respective destinations; do not put both under one of the directories.
Fix double nesting before continuing
A frequent mistake is uploading the extraction directory itself, producing a path such as behavior_packs/DownloadName/ActualPack/manifest.json. BDS expects the pack directory immediately below behavior_packs/ or resource_packs/. Move ActualPack up one level so that manifest.json is directly inside the folder BDS treats as the pack.
Read the manifest values you must register
Open each uploaded pack’s manifest.json in a plain-text editor. You need the values in the manifest’s header object:
header.uuid: the pack UUID that identifies the pack.header.version: the pack version array, such as[1, 0, 0], exactly as written in that manifest.
Use the UUID in header.uuid, not a UUID belonging to a module entry elsewhere in the manifest. Copy the version array without changing its order or punctuation. A mismatch between the registered version and the manifest version is a common reason a pack does not load.
Rank #3
- 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
Record the pair for every behavior pack and every resource pack in a small text note while you work. Keeping the two lists separate prevents a resource pack UUID from being placed in the behavior registration file.
Attach packs to the world with JSON files
Find the active world folder
Open the world directory used by the server. A common path is worlds/Bedrock level/, but the folder name is whatever your server’s world configuration specifies. Place the registration files inside that world folder, not beside it in the server root.
Create or edit world_behavior_packs.json
This file lists the behavior packs attached to the world. If it does not exist, create it with a plain-text editor and save it as UTF-8. The file is a JSON array; each object contains the pack’s header UUID and version:
[
{
"pack_id": "UUID copied from this behavior pack's header.uuid",
"version": [1, 0, 0]
}
]
Replace the explanatory UUID text and example version with the exact values from the behavior pack’s manifest.json. For multiple behavior packs, add another object separated by a comma. Keep the outer square brackets and do not add comments.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteCreate or edit world_resource_packs.json
Use the same structure for resource packs, but save it as world_resource_packs.json in the same world directory:
Rank #4
- 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
[
{
"pack_id": "UUID copied from this resource pack's header.uuid",
"version": [1, 0, 0]
}
]
Again, replace the explanatory values with the resource pack’s own header.uuid and header.version. A pack that exists on disk but is absent from its world JSON file is not attached to that world.
Validate the files before saving
- Use double quotes around property names and string values.
- Separate objects with commas, but do not leave a comma after the final object.
- Do not insert comments; JSON does not permit them.
- Save as plain UTF-8 without a byte-order mark. A byte-order mark at the beginning of a file can cause a parse failure.
- Check that every
pack_idexactly matches a folder actually uploaded to the corresponding pack directory.
When a pack’s manifest version changes after an update, update the matching version array in the world JSON file as well. Do not copy a version from a different pack, even if the folder names look similar.
Restart and verify the add-on
- Save both world JSON files and close the editor or file-manager save dialog completely.
- Confirm that the server is still stopped while files are being changed, so it cannot overwrite your edits during a save operation.
- Start the BDS instance again. A full restart is the reliable way to make registration changes take effect.
- Join with a Bedrock client that can access the world and test the add-on in the staging world.
- Exercise the feature that the pack is supposed to change: spawn its entity, use its item, inspect the changed texture or test the relevant gameplay rule.
Some setups appear to accept /reload, but community guidance warns that the command may not apply pack changes when entered at a dedicated-server console. Treat a complete restart as the dependable procedure instead of relying on a console reload.
If the pack loads on the test world, stop the server, repeat the verified file changes on the production copy and restart again. Do not test an unverified pack directly on the only copy of an active world.
Pack order and conflicts
When two packs define the same texture, behavior or other content, the order in the world JSON list can affect which definition wins. Community instructions do not agree on a universal direction: one description says the first resource-pack entry has higher priority, while another says the last behavior-pack entry wins for overlapping content. Because those claims conflict, do not treat either direction as settled for every BDS version or pack type.
Best Value
- 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
Resolve an overlap empirically on a staging world:
- Make a copy of the world and keep only the two packs that conflict.
- Test one order in the relevant JSON file and record which texture or behavior appears.
- Reverse the two entries, restart the server and test again.
- Keep the order that produces the intended result for your server version, and document it so a later edit does not silently change the outcome.
Do not use pack order to hide an installation error. Every pack still needs the correct folder, manifest, UUID, version and registration file entry.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Alternative: upload a world that already has the packs enabled
One community method enables the packs in a single-player Bedrock world first, then uploads that world to the server. This can be useful when the pack author’s instructions are written for the in-game world settings or when direct file access is limited. The method is not identical to direct server-folder installation, and guides differ on which approach to prefer.
Free tools Windows power users keep installed
One-click scans. No signup required.
- Create a disposable Bedrock world on a client that supports the add-on.
- Enable the behavior and resource packs through the world’s add-on settings, following the pack author’s required order.
- Load the world far enough to confirm that the pack activates, then exit cleanly.
- Export or copy the resulting world folder using the method available on your device.
- Stop the BDS instance and upload that world folder into the server’s
worlds/location. - Point the server at the uploaded world, start it and test with a backup copy first.
Directly uploading extracted folders and registering them in the world JSON files is the more consistently described approach across hosting guides. The single-player route can also carry client-specific settings or an unexpected folder layout, so inspect the uploaded world and keep the original server world backed up before switching.
Troubleshoot a Bedrock pack that will not load
| Symptom | Likely cause | What to check |
|---|---|---|
| The server starts but nothing changes in-game | The pack files were uploaded but never attached to the world | Confirm the matching UUID and version appear in the correct world_behavior_packs.json or world_resource_packs.json file inside the active world folder. |
| The JSON file is rejected or the server reports a parse error | Invalid JSON, a comment, a trailing comma or an encoding marker | Remove comments, check commas and quotes, and re-save as plain UTF-8 without a byte-order mark. |
| The pack appears registered but is ignored | Version mismatch | Compare the JSON version array character-for-character with header.version in that pack’s manifest. |
| One pack works while another does not | A stale registration entry or a wrong UUID | Remove entries for packs that are not uploaded and verify that each pack_id belongs to the folder in the corresponding directory. |
| The server cannot find the manifest | Double nesting after extraction | Move the inner directory up so behavior_packs/PackFolder/manifest.json or resource_packs/PackFolder/manifest.json is the actual path. |
| Textures or behavior from the “wrong” pack wins | Overlapping definitions and unresolved priority direction | Test both entry orders on a staging world, restarting after each edit, and retain the order that produces the intended result. |
| Changes appear only after some starts | The server was not fully restarted after editing registration files | Stop the instance, save the files, start it again and test after the complete restart rather than relying on console /reload. |
Keep packs compatible over time
Pack compatibility depends on the server software version and on the pack’s own manifest and file format. Keep the BDS software current according to your hosting or operating procedure, but do not update the production instance without first testing the add-on on a copied world. A server update can expose a pack-format or behavior change even when the folder names and UUIDs remain unchanged.
Maintain a simple inventory for each installed pack containing its folder name, whether it is behavior or resource content, the header.uuid, the registered version, the world where it is enabled and the date it was last tested. When removing a pack, stop the server, remove its registration object from the appropriate world JSON file and then remove its folder only after confirming that no world still needs it. Leaving a registration for a missing folder can prevent clean loading.
For a multi-world server, repeat registration per world. A pack attached to one world’s JSON files is not automatically attached to every other world directory.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Direct upload versus world export
| Method | Best fit | Advantages | Risks and limits |
|---|---|---|---|
| Extract, upload and register folders directly | Administrators with file-manager, SFTP or FTP access | Shows exactly which files are installed; works per world; easy to audit and remove | Requires correct folder nesting, manifest values and JSON syntax |
| Enable packs in a single-player world, then upload the world | Administrators who prefer in-game pack selection or lack convenient direct registration tools | Uses the Bedrock world settings interface to attach the packs before transfer | May bring along client-specific settings; the transfer workflow varies by device and guide, so inspect and test the uploaded world |
Neither method turns a Java mod into a Bedrock add-on. Choose a package explicitly made for Bedrock and for the server version you intend to run.
Quick Recap
A repeatable installation checklist
- Back up the target world and prepare a staging copy.
- Stop the BDS instance before changing files.
- Extract every
.mcpackor.mcaddonarchive. - Verify that each uploaded pack folder contains
manifest.jsondirectly inside it. - Place behavior folders in
behavior_packs/and resource folders inresource_packs/. - Copy
header.uuidandheader.versionfrom each manifest; do not use a module UUID. - Register behavior packs in
world_behavior_packs.jsonand resource packs inworld_resource_packs.jsoninside the active world folder. - Use valid UTF-8 JSON with no comments or byte-order mark.
- Remove registrations for folders that are not present.
- Restart the server fully and test the feature in the staging world.
- Test both list orders when packs overlap, because priority direction is not consistently documented.
- Promote the tested setup to the production world only after the backup and rollback copy are ready.
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.




