What are Minecraft Bedrock addons?
An addon is a package that changes how Bedrock Edition plays and looks: a behavior pack for the logic and, usually, a resource pack for textures, models and sounds. Think of them as Bedrock's answer to Java mods, except they use Mojang's official pack system instead of a third-party loader.
The files you'll run into:
| File / folder | What it is | What it does |
|---|---|---|
| Behavior pack (BP) | a folder with manifest.json plus e.g. entities/, items/, scripts/ |
new mobs, items, recipes, game rules |
| Resource pack (RP) | a folder with manifest.json plus e.g. textures/, models/ |
textures, models, sounds, UI |
| .mcpack | a ZIP archive holding one pack (BP or RP) | one-click install of a single pack in the game |
| .mcaddon | a ZIP archive holding several packs (usually a BP and an RP as .mcpack files) |
one-click install of the whole addon in the game |
Double-clicking an .mcaddon only works in the game client. The Bedrock Dedicated Server (BDS) has no import button – it reads plain folders. So on a server, the first step is always to unpack.
Do addons work on a Bedrock dedicated server?
Yes – the official Bedrock Dedicated Server supports behavior and resource packs, but every pack has to be uploaded to the world and activated by hand in JSON files. Uploading the files alone doesn't turn anything on, which is the number one reason people say "my addon doesn't work".
A few things won't work on a dedicated server at all:
- Marketplace addons – paid Marketplace content is encrypted and tied to your Microsoft account, so you can't copy it to your own server. Look for addons the creators share as
.mcaddon/.mcpackdownloads. - Java mods and modpacks – packs like Superior RPG, Better MC or RLCraft are Forge/Fabric mods for Java Edition. Bedrock can't run them and there's no converter. If you searched for "superior rpg minecraft bedrock", that modpack only exists for Java (Superior RPG on Spot.gg); on Bedrock, look for RPG addons made for Bedrock.
- BedrockIfy – despite the name, it's a Java (Fabric) mod that makes Java look and feel more like Bedrock (screens, animations and so on). It doesn't go on a Bedrock server; it runs on a Java server with Fabric: BedrockIfy in the mod catalog.
Where do addons go on a Bedrock server?
Packs go into the world folder, worlds/<world name>/, and you switch them on in world_behavior_packs.json and world_resource_packs.json in that same folder. The world name is the level-name value in server.properties – on a fresh BDS it's Bedrock level.
A typical layout after adding one addon:
| Path | Contents |
|---|---|
server.properties |
server settings, including level-name and texturepack-required |
worlds/Bedrock level/behavior_packs/MyAddon_BP/ |
the behavior pack (with manifest.json directly inside) |
worlds/Bedrock level/resource_packs/MyAddon_RP/ |
the resource pack (with manifest.json directly inside) |
worlds/Bedrock level/world_behavior_packs.json |
the list of enabled behavior packs |
worlds/Bedrock level/world_resource_packs.json |
the list of enabled resource packs |
You can also keep packs in the behavior_packs/ and resource_packs/ folders in the server root, but those also hold the game's own packs and a server update may overwrite them. The world folder is the safer choice, and it's obvious which packs belong to which world.
How do you install an addon on a Bedrock server?
Unpack the .mcaddon/.mcpack, upload the pack folders to the world, add each pack's UUID and version to the JSON files and restart the server. It's easiest to prepare everything on your PC and upload finished folders.
1. Unpack the addon on your computer
Rename the .mcaddon or .mcpack to .zip and extract it. An .mcaddon usually gives you two .mcpack files – rename and extract those too. You should end up with folders that have manifest.json directly inside. If you get a folder inside a folder and manifest.json is one level down, upload the inner folder.
2. Find the UUID and version in manifest.json
Open each pack's manifest.json and find the header section:
"header": {
"name": "My Addon BP",
"uuid": "11111111-2222-3333-4444-555555555555",
"version": [1, 0, 0]
}
You need the uuid and version from header, not from modules (that's a different UUID). Note them down separately for the behavior pack and the resource pack.
3. Upload the folders to the server
Stop the server and upload the folders to worlds/Bedrock level/behavior_packs/ and worlds/Bedrock level/resource_packs/ (create them if they don't exist). Use SFTP (WinSCP, FileZilla) or your host's file manager.
4. Enable the packs in the world's JSON files
In the world folder, create (or edit) world_behavior_packs.json:
[
{ "pack_id": "11111111-2222-3333-4444-555555555555", "version": [1, 0, 0] }
]
Do the same in world_resource_packs.json with the resource pack's UUID and version. More addons simply means more objects in the array, separated by commas (no comma after the last one). A file with no packs is just [].
5. Start the server and watch the console
On startup the server logs the packs it loaded, or an error. If something didn't load, jump to the troubleshooting section below.
Do players have to download the addon themselves?
No – the server sends resource packs to players automatically when they join, and behavior packs run on the server. Nobody has to install anything by hand; they just connect.
By default the game asks each player whether to download the server's packs. If the addon makes no sense without its textures (new mobs, new items), set this in server.properties:
texturepack-required=true
Now everyone has to accept the download to join – anyone who declines can't get in. The first join takes a bit longer while the packs download; after that the game uses its cache.
What about addons that need experiments?
Some addons need experimental toggles (such as Beta APIs), and on a dedicated server you can't enable those in server.properties – they're stored in the world itself (level.dat). The addon's page usually says whether experiments are required.
The simplest way around it:
- In the game, create a new world with the required experiments and the addon turned on (in the world settings, under experiments).
- Find that world's folder on your PC (in the game's
minecraftWorldsfolder), or export the world as an.mcworld(also a ZIP). - Upload the whole world folder to the server's
worlds/folder and set its name aslevel-nameinserver.properties.
Keep in mind that experiments usually can't be switched off again for that world, and newer game versions may change or remove an experiment. Back up the world before you do this.
How do you add addons to a Bedrock server on Spot.gg?
On Spot.gg you upload Bedrock addons by hand in the Files tab or over SFTP – the in-panel Addons catalog doesn't have Bedrock packs (yet). The server runs the official Bedrock Dedicated Server, so everything above works exactly as described.
Don't have a server yet? See how to make a Minecraft Bedrock server. You can run a Bedrock server on Spot.gg free for 24 hours, no card needed, then from $3.90 / month for 2 GB of RAM.
Adding an addon in the panel:
- Stop the server. On a paid server, take a backup first: Backup tab → Create backup, so you can roll back to a working world. Free servers don't get backups, so download the world folder over SFTP before making changes.
- In the Files tab, open
worldsand then your world folder (Bedrock levelby default). Ifbehavior_packsandresource_packsaren't there, add them with Create directory. - Zip the pack folder on your PC, open
behavior_packs(orresource_packs) and click Upload files. Next to the.zip, click Extract – the panel creates a folder named after the archive. Check thatmanifest.jsonsits directly inside it; if it's one level down, use Move on the inner folder or zip the pack without its parent folder. You can also upload an.mcpackas-is: Rename it to.zipand extract it in the panel. - In the world folder, add
world_behavior_packs.jsonandworld_resource_packs.jsonwith Create file and type in the pack UUIDs and versions. You can edit.jsonfiles right in the panel with Edit. - If players must download the packs, open
server.propertiesin Files, settexturepack-required=trueand save. - Start the server and keep an eye on the Console tab.
For big addons or lots of files, SFTP is quicker: you'll find the login details in the Files tab under SFTP access. The same goes for uploading a whole world with experiments enabled.
Why isn't my addon working on my Bedrock server?
Most of the time the pack is uploaded but not listed in world_behavior_packs.json/world_resource_packs.json, or the UUID or version doesn't match. The server then quietly loads the world without the addon.
| Symptom | Likely cause | Fix |
|---|---|---|
| Server starts, addon missing | pack not listed in the world's JSON file | add pack_id and version from header in manifest.json |
| Still missing after listing it | UUID copied from modules instead of header, wrong version |
compare the values with manifest.json character by character |
| Console says "Unable to find manifest in pack" | extra wrapper folder after unzipping | move the folder so manifest.json is directly inside the pack folder |
| JSON file ignored, errors on startup | trailing comma, curly quotes | fix the JSON syntax (plain " quotes, no trailing commas) |
| Mobs/items with missing textures | resource pack not in world_resource_packs.json, or player declined the download |
add the RP to the world, set texturepack-required=true |
| Addon needs experiments | experiments not enabled in the world | create the world with experiments in the game and upload it |
| Addon broke after a game update | pack isn't compatible with the new Bedrock version | get an updated version from the creator |
| Player can't join after adding the addon | player and server are on different game versions | update the player's game to the server's version |
If the console shows nothing and the addon still doesn't work, turn on content logging in server.properties: content-log-file-enabled=true and content-log-console-output-enabled=true. The server will start printing pack errors.
FAQ
Can I upload an .mcaddon file straight to a Bedrock server?
Not directly. The server reads unpacked pack folders, so rename the .mcaddon (and each .mcpack inside it) to .zip, extract them, upload the folders to the world and list the packs in world_behavior_packs.json and world_resource_packs.json.
Do players need to install the addon on their device?
No. The server sends resource packs to players when they join, and behavior packs run on the server. Setting texturepack-required=true in server.properties makes the download mandatory.
Do Marketplace addons work on a dedicated server?
No. Marketplace content is encrypted and tied to the buyer's account, so it can't be moved to your own server. Addons shared as regular .mcaddon/.mcpack files work fine.
Can I run a Java modpack like Superior RPG on a Bedrock server?
No. Forge and Fabric mods and modpacks only run on Java Edition. Bedrock needs addons made for Bedrock. If you want a specific modpack, run a Java server with that pack instead.
Does BedrockIfy work on a Bedrock server?
No. BedrockIfy is a Minecraft Java (Fabric) mod that makes Java look more like Bedrock. It does nothing for Bedrock.
Where is world_behavior_packs.json on a Bedrock server?
In the world folder: worlds/<world name>/, which is worlds/Bedrock level/ by default. If it isn't there, create it yourself – it's an array of objects with pack_id and version.
Does Spot.gg install Bedrock addons in one click?
No, the in-panel Addons catalog doesn't have Bedrock packs yet. You add them by hand in the Files tab or over SFTP, as described above – the server is the official Bedrock Dedicated Server, so this method works.