Want custom textures and sounds on your Bedrock server? Here’s the exact process, step by step. Need stability? Check our optimized Minecraft hosting.
Prerequisites
- Access to your Oxygenserv panel (login and password)
- A valid Bedrock resource pack in
.mcpackor.zipformat - A text editor (Notepad, VS Code) to open
manifest.json - Your exact world name (the
level-namefield inserver.properties) - Optional (Method 2): Minecraft Bedrock client to enable the pack and export the world
Detailed steps
-
[Method 1] Prepare the resource pack
Download the pack. If it’s a.mcpack, rename the extension to.zip(Windows: File Explorer > View > Show > File name extensions). Extract the.zip; you should get a folder containing at leastmanifest.jsonand atexturesfolder. If files aren’t inside a dedicated folder, move them into one named after the pack (e.g.,MyPack/manifest.json). Keep this folder handy for the upload. -
Grab the UUID and version from
manifest.json
Openmanifest.json. In the"header"object, copy the"uuid"and the"version"array (e.g.,"uuid": "12345678-90ab-cdef-1234-567890abcdef"and"version": [1, 0, 0]). These must match exactly on the server. If you see two UUIDs (inheaderand inmodules), use the one fromheader. Keep the file open; you’ll paste those values as-is. -
Zip and upload the pack to the server
Re-zip the pack folder to.zip(Right-click > Compress to ZIP). In your Oxygenserv panel, stop the server (wait for “Server stopped”). Go to the File Manager, openresource_packs, upload your.zip, then use “Extract”. Confirm the final path isresource_packs/PackName/manifest.json(avoid double nesting likeresource_packs/PackName/PackName/...). -
Link the pack to your world via
world_resource_packs.json
Openworlds/[WorldName](match the exactlevel-name). Ifworld_resource_packs.jsondoesn’t exist, create it. Paste this minimal content, replacing with your values:[{"pack_id":"PASTE-HEADER-UUID-HERE","version":[1,0,0]}]. If the file already has packs, add a comma and your block within the array:[ { ... }, {"pack_id":"...","version":[1,0,0]} ]. Save and ensure valid JSON (bad commas or brackets will throw a JSON parse error on startup). -
(Optional) Force client download and restart
In “Files” > “Config”, openserver.properties. Settexturepack-required=trueto force players to download the pack on join (otherwise it’s optional). You can also enablecontent-log-file-enabled=truefor detailed diagnostics. Save, go to the Console, and click “Restart”. Look for “Server started”; if you see “Pack with id not found”, recheck UUID/version and the folder location inresource_packs. -
[Method 2] Enable the pack locally and export the world
Install the pack on your client: double-click the.mcpackto import into Minecraft Bedrock. In-game: Play > Create New World, go to “Resource Packs”, toggle “Shared packs”, then under “Owned” activate your pack. Confirm it shows under “Active”. Click “CREATE” to generate the world with the pack already linked, then return to the main menu. -
Export the world and upload it to the server
From the created world, click “Edit” > “File Management” > “Export World” to get a.mcworld. In Oxygenserv, stop the server, go to “Files” >worlds, create a folder with your desired world name (e.g.,BedrockRP). Upload the.mcworld, rename it to.zip, then “Extract”. Openserver.propertiesand setlevel-name=BedrockRP(or your exact folder). Save and “Start” the server.
Tips & optimization
Bump the pack version every update (e.g., from [1,0,0] to [1,0,1]) to force client redownload. Keep pack size reasonable (ideally under 100 MB) to speed up in-game downloads. You can stack multiple packs: add several entries in world_resource_packs.json (order matters; the first overrides). For troubleshooting, enable content-log-file-enabled=true and read content.log for precise errors. Ensure it’s a Bedrock pack (must have manifest.json), not a Java resource pack.
FAQ
Where do I get the exact UUID for world_resource_packs.json?
Open manifest.json and copy the "uuid" from the "header" section (not a module UUID). Paste it into "pack_id" and copy the three-number "version" (e.g., [1,0,0]). Restart the server.
I get “Pack with id not found” or “Failed to load pack”
It’s usually a bad path or broken JSON. Verify you have resource_packs/PackName/manifest.json (no double nesting), UUID/version match the manifest, and the JSON is valid (commas/brackets). Restart after fixing.
Players aren’t downloading the pack
Set texturepack-required=true so it’s mandatory. Also bump the pack version to invalidate client cache if they keep the old one.
How do I remove a pack cleanly?
Remove its entry from world_resource_packs.json (keep valid syntax), delete the pack folder in resource_packs, save, and restart. If multiple worlds use it, remove it in each world’s JSON.
You’re set to power up your Bedrock server with custom visuals. If you get stuck, recheck UUID/version and restart cleanly—those fix most issues fast.