How to Install Behavior Packs & Addons on Your Bedrock Server

Install behavior packs, addons, and Script API packs on your Minecraft Bedrock dedicated server with the correct folder structure and activation files.

Behavior packs (BPs) change gameplay mechanics — entity behaviors, loot tables, spawn rules, recipes, custom blocks, and items. On Bedrock Dedicated Server, installing them requires placing files in the right directories and activating them in your world.

How Addons Work on BDS

Unlike Java Edition's single plugin system, Bedrock uses a pack system:

  • Behavior Packs — server-side gameplay changes (entities, loot, recipes, scripts)
  • Resource Packs — client-side visual changes (textures, models, sounds). See Add Resource Pack
  • Addons — a behavior pack and resource pack bundled together as a .mcaddon file

Every pack has a manifest.json with a unique UUID and version number. The server uses these to identify and load packs.

Server File Structure

world_behavior_packs.json

Install a Behavior Pack

Download and extract the pack

Download your behavior pack (.mcpack, .mcaddon, or .zip file).

  • .mcpack — rename to .zip and extract
  • .mcaddon — rename to .zip and extract. You'll find separate BP and RP folders inside
  • .zip — extract directly

You should end up with a folder containing manifest.json at the root.

Find the UUID and version

Open manifest.json inside the pack folder. Note the uuid and version from the header section:

{
  "format_version": 2,
  "header": {
    "name": "My Behavior Pack",
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "version": [1, 0, 0]
  },
  "modules": [
    {
      "type": "data",
      "uuid": "different-uuid-here",
      "version": [1, 0, 0]
    }
  ]
}

The modules.type should be "data" for a behavior pack (or "script" for Script API packs).

Upload to the server

In the XGamingServer Panel, click Files in the sidebar. Navigate to the behavior_packs/ directory in the server root and upload the extracted pack folder.

Activate the pack in your world

Navigate to worlds/<your-world-name>/ and open world_behavior_packs.json. Add your pack's UUID and version:

[
  {
    "pack_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "version": [1, 0, 0]
  }
]

If the file doesn't exist, create it. If it already has entries, add yours to the array.

The pack_id is the header UUID from manifest.json, not the module UUID.

Restart the server

Restart from Console. Check the console output for pack loading messages or errors.

Script API Packs

Some addons use the Bedrock Script API (JavaScript/TypeScript). These require additional setup:

  1. The manifest.json will have "type": "script" in modules and list @minecraft/server as a dependency
  2. Enable content-log-file-enabled=true in server.properties for script error logging
  3. If using beta APIs, you must enable the Beta APIs experiment. See Enable Experimental
  4. Script watchdog settings in server.properties control memory limits and hang detection

If the Pack Has a Resource Pack

If the addon came with both a BP and RP:

  1. Upload the RP to resource_packs/ in the server root
  2. Add its UUID to worlds/<world>/world_resource_packs.json
  3. Set texturepack-required=true in server.properties to force clients to download it

See Add Resource Pack for the full process.

Troubleshooting

ProblemFix
Pack not loadingVerify the UUID in world_behavior_packs.json matches the header UUID in manifest.json exactly
"Unknown pack" errorThe pack folder must be inside behavior_packs/, not nested in a subfolder
Script errors on startupEnable content-log-file-enabled=true and check the content log in the server root
Pack requires newer versionUpdate your BDS to the version listed in min_engine_version in the pack's manifest
Multiple packs conflictingPack order in world_behavior_packs.json matters — last pack wins for overlapping content

How is this guide?

40% Off — Limited TimeGet your Minecraft Bedrock server todayInstant setup, DDoS protection, and 24/7 support included.
Get a Server

On this page