On December 8th NVIDIA officially released RTX support on Minecraft Bedrock Edition for Windows 10. To use this feature you need to have a resource pack installed.
Fortunately the dedicated server not only supports resource packs, but in this guide I will show you how to set it up so that resource packs are automatically downloaded to your player’s device and activated!
The featured image for this article is not single player. It is running on my Minecraft Bedrock dedicated server
Prerequisites
If you don’t have a Minecraft Bedrock Edition dedicated server already view my automatic setup script and guide first to get one up and running.
You will also need to have a resource pack / packs in mind. For this guide I will use the RTX enabled 512×512 feature pack. This resource pack is available on GitHub for free.
All of these versions support cross-platform play with each other (but not with the Java edition).
This is the PC Minecraft for Windows 10 (Bedrock) edition of Minecraft. It is able to play cross-platform with other players on Android / iOS / Playstation / Xbox / Switch. Available as a code that is instantly activated to give you permanent access to the game!
Links: Amazon.com*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*
The Sony PlayStation version of Minecraft: Bedrock edition.
Links: Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.se*, Amazon.sg*
This is the Nintendo Switch version of Minecraft: Bedrock edition.
Links: Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
This is the Microsoft Xbox version of Minecraft: Bedrock edition.
Links: Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.sg*
Preparing the Resource Pack
Resource packs can be bundled a couple of different ways. The first way is the way that the example we are using in this guide is packaged. It looks like this:
We have the main folder (Tokomiki_Resource_Pack) that will contain a manifest (manifest.json). If your resource pack looks like this you’re good to go. You can skip to the next step.
The second way that resource packs are often distributed is as one solid .mcpack file. An example of this is NVIDIA’s RTX texture example pack (scroll down to “NVIDIA and Partner Resource Packs” section, they have a few different ones you can play with, the one in this example is the PBR textures).
If your resource pack looks like this and is a .mcpack it is not good to go and we’re going to have to extract the files we want out of it. Fortunately this is very easy. All you have to do is rename it from a .mcpack file to a .zip file. I’m not joking, go ahead and try it:
Perfect, that looks exactly like what we want and our previous example! Go ahead and extract the zip archive into a new folder. It actually doesn’t matter what you name the folder because the pack will be located by UUID so just pick something short and descriptive.
Examine the Manifest
Every resource pack contains a UUID, or a “universally unique identifier”. This is what the server uses to identify which resource pack is which. Your resource pack’s UUID is located in the manifest.json file. Let’s take a look at our 512×512 example pack’s manifest.json:
{ "format_version": 2, "header": { "name": "Tokomiki Test Textures 512k", "description": "Reducing RTX textures size", "uuid": "75a26ecc-8351-11ea-bc55-0242ac130003", "version": [ 1, 0, 1 ], "min_engine_version": [ 1, 15, 0 ] }, "modules": [ { "type": "resources", "uuid": "75a27110-8351-11ea-bc55-0242ac130003", "version": [ 1, 0, 1 ] } ], "capabilities" : [ "raytraced" ] }
There it is. This particular resource pack’s UUID is 75a26ecc-8351-11ea-bc55-0242ac130003. The version is [ 1, 0, 1 ]. Perfect, we’re now ready to configure the dedicated server!
Configuring Dedicated Server for Resource Packs
First we need to copy/upload your resource pack to the server’s “resource_packs” folder:
Your folder’s structure may vary slightly depending on version and whether you are running on Windows or Linux. Either way, you should have this folder. We are going to place the folder of our resource pack here. Usually there will already be a “vanilla” folder and a “chemistry” folder in there that are included with the server. We’re going to add a third folder by coping in our new resource pack like this:
Excellent, there’s just one last step now to enable the resource pack.
Create world_resource_packs.json
First you need to locate the folder on the server that your “world” is stored in. The base folder is just “worlds” but inside there will be another directory inside of it. If you left your server.properties as the default it will likely be “Bedrock level”. If you set a custom “level-name” variable in your server.properties file it should be that. This is your world’s folder.
The final step to enabling our resource pack is to create the world_resource_packs.json file inside our world’s folder you just located. This file is actually created and used on the client side as well when you modify your resource packs (it’s at C:\Users\XyouruserX\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftWorlds\XyourworldX\world_resource_packs.json).
You can actually use that exact file if you’ve applied the same feature pack you’re trying to install on the server. The format of it is pretty simple though, so it’s a lot easier to just create it yourself.
Go ahead and create a new file called world_resource_packs.txt (if on Linux you can just create it as world_resource_packs.json) and type/paste the following matching the pack_id to your resource pack’s UUID and version from the earlier steps:
[ { "pack_id" : "75a26ecc-8351-11ea-bc55-0242ac130003", "version" : [ 1, 0, 1 ] } ]
Now save the file and rename it from world_resource_packs.txt to world_resource_packs.json.
That’s it, now restart the server! Upon connecting new players will now automatically download and apply your feature pack. They do not have to download or install it themselves. It will look like this when they join:
This download works on all platforms. For example, for this guide I tested connecting with my Android phone to try without using Windows and see if it would still work. When you log on with a platform that doesn’t support RTX they will still see the new textures. They just won’t have the fancy RTX lighting and raytracing but it still looks great compared to vanilla!
Adding Multiple Resource Packs
You can add as many resource packs as you want. Copy the additional resource pack folder to your resource_packs folder by before.
Updating the world_resource_packs.json file is similar to what we did earlier but the JSON syntax can get a little tricky. Here is how you want to format adding multiple entries to world_resource_packs.json:
[ { "pack_id" : "75a26ecc-8351-11ea-bc55-0242ac130003", "version" : [ 1, 0, 1 ] }, { "pack_id" : "a1673412-cb04-4604-8000-04b6396afe80", "version" : [ 0, 9, 0 ] } ]
Notice the comma after the closing brace of the first entry. It’s super common to miss it and it is invalid JSON without it. The last entry will NOT have a comma, but if you add a second, third, fourth it will like this:
[ { "pack_id" : "75a26ecc-8351-11ea-bc55-0242ac130003", "version" : [ 1, 0, 1 ] }, { "pack_id" : "a1673412-cb04-4604-8000-04b6396afe80", "version" : [ 0, 9, 0 ] }, { "pack_id" : "fake example 1", "version" : [ 0, 5, 1 ] }, { "pack_id" : "fake example 2", "version" : [ 0, 2, 4 ] } ]
That’s it! After restarting your server newly connecting players that haven’t downloaded the resource pack yet will see 2 (or more) resource packs queued like this:
Force Resource Pack Using server.properties
The default settings for Minecraft is that connecting players will automatically download and apply the resource packs they need so usually this isn’t necessary. In some cases though you may want to actually force them to use the resource pack. Otherwise they can unload it or load different ones.
There is an option in server.properties that will absolutely force them to use them if you desire. Open your server.properties file and look for these lines:
texturepack-required=false # Force clients to use texture packs in the current world # Allowed values: "true" or "false"
Change to true to force texture packs to be used!
Bedrock Server Automatic Deployment Script
Here’s my one-liner to deploy a new Minecraft server on Linux:
curl https://raw.githubusercontent.com/TheRemote/MinecraftBedrockServer/master/SetupMinecraft.sh | bash
See Minecraft Bedrock Edition – Linux Dedicated Server automatic installation/updating/backup script for full breakdown!
Worth noting that the UUID needs to be the one from the header and not the one from the modules. In your example it is the same UUID in the header section as it is in the modules section. I missed that and the resource pack I was installing has a different UUID in the modules section than the headers.
Hey Ed,
Thanks for leaving this! I think you may have solved a few old mysteries here for sure. For this example I used the official NVIDIA pack which has the matching UUIDs but when I’ve been trying to help people set this up I bet this was the culprit for at least a couple of them.
Definitely worth it for everyone to double check. Thanks again and take care!
Hello,
After following these directions, I was able to add the resource pack to the server. After the reboot now I get prompted to download the pack on my system as expected. I click to download the 24/MB pack from the server then it just sits there for years at 0.00/MB of 0.00/MB not sure why it never downloads…..
Hey Nate,
Welcome! Is there anything coming up on the server console saying anything like file is missing? There’s a few reasons this could happen. One is that the manifest is wrong / needs adjusting and this is the most likely answer. It knows it is supposed to download something but then when the server reads the manifest to start the download the file isn’t there (or isn’t where it is expecting it to be). Another thing that points to this being the reason is that it says out of 0.00MB which suggests to me it’s not even finding the file to get the file size of it. I’d definitely double check the manifest though.
Another way to say this would be that it’s finding your manifest (which is what is triggering the download screen) but not finding the files that your manifest is pointing to (or it can’t transport them).
There’s another possibility which is networking. Bedrock primarily uses UDP but it does use TCP for some things like the # of players online. I would bet that there’s a good chance these are being transported over TCP. If you know that you only have UDP opened in your firewall you may want to try opening the ports up for TCP as well (which should fix the ping port that shows the ping/latency of the server and # of players online if that happens to also not be working).
The hardest part of diagnosing ones like this is figuring out if it’s networking or configuration related because either one of them 100% explains this issue and they’re both very common. One thing you can do to narrow things down is to try with a different resource pack. Even if it’s not the resource pack you want to use this is worth trying just as a test because it really helps to narrow things down. If you try several different packs and they all do this exact same behavior that would point to networking pretty strongly as in either TCP or UDP on your configured ports (usually firewall).
It might also point to you are making the exact same configuration mistake each time but if you watch the server console closely I believe it does have some sort of message when it can’t find a file someone is trying to download so definitely make sure to check for that. Some behavior packs expect things to be in folders you may not be expecting sometimes and we’ve definitely seen that here before. Their documentation/README will often tell you exactly where everything needs to go and that helps a lot when they provide that.
Others in the past often have only had trouble with certain packs so you may find that there is something wrong with that pack (sometimes there’s updates available for it or a fix once you know that is what is going on). This is because they need to be updated sometimes to keep working and we did just jump releases to 1.19 not too long ago (it’s the major jumps that tend to break them). Once people had narrowed it down to the pack once they did a web search for it they would usually find an updated version from the author or something like that to take care of the problem.
Hopefully that helps!
Some of the resource packs I’ve downloaded, in the manifest.json file there are “resource” entries.
Here’s an example of one I’m trying to apply:
{
"format_version": 2,
"header": {
"description": "Version: Preview 1.1",
"min_engine_version": [
1,
16,
20
],
"name": "SimonKraft 128",
"uuid": "f9bfc223-59e5-40a6-92af-5c177533504a",
"version": [
0,
0,
1
]
},
"modules": [
{
"description": "Version: Preview 1.1",
"type": "resources",
"uuid": "a96ba1b3-fbc3-4acb-8715-c3cb1a8b4b60",
"version": [
0,
0,
1
]
}
]
}
How would I go about adding this, so that all of the resources are applied?
Hey Matt,
That is a tricky one! Everything to me fits except the SimonCraft 128 entry. That entry is referring to this pack.
I’m not sure what you’re trying to install exactly. If we assume you are trying to install Simoncraft it’s probably this (from the linked page):
Make sure you read all of the pack’s pages very carefully as some of them have prerequisites. This one is probably OptiFine since it looks like that’s a really common requirement for shared resource packs. The example I wrote in this guide with the RTX pack does not use any prerequisites like this but it’s very common for sure. Another thing you could call this is a “dependency” chain just like Windows where you have to have the MS Visual Studio runtimes installed for some apps, etc.
For a *deep* dive on these manifests for a lot more detail check out this page. It’s intended for beginners but the JSON files are honestly a nightmare and it’s pretty shocking to me that these aren’t *much* easier to manage. I’m not sure why they couldn’t have all just been zipped .mcpack files!
The tutorial is quite good though. I actually referred to it to try to parse this manifest as they really are quite confusing. I’m pretty sure this is another prerequisite. To install it you would create a separate folder in your resource packs that has a separate manifest. It would have this ID that is being referred to. Hopefully that helps!
I think I got it figured out. I just included the UUID and Version like in your guide and nothing else and the resource pack loaded up.
Thank you very much for your guides. They were most helpful and very well written. Easy to follow too!
Hey Matt,
Excellent work and thanks for coming back and posting your resolution! I was really curious how this one turned out and I’m relieved it wasn’t anything more complicated than this. That should help others know they are on the right track if they’re trying to install similar resource packs.
Cheers and have fun!
I would like to apply the hardcore pack to a server. After following your instructions, the resource packs seems to work and it loads into each persons computer who signs on. However, it is paired with behavior pack – does that just need to be added by each person individually?
FYI – I added the behavior pack to the world as well as its corresponding json file in the worlds folder following the process described in this guide for resource packs but it did not have the same effect.
Hey Paul,
I believe it’s a different folder for resource packs. Here’s some instructions to start with.
Here’s some additional ones.
Some people are saying you actually have to put it in the “world” folder as well.
More or less it is the same but you need to use the behavior_packs folder. Another option is to apply your behavior pack in a offline world and then export your server. If that isn’t working it’s most likely an issue with the manifests or it needing to be in the “world” folder as well.
One thing to double check is that it isn’t a marketplace bought store pack. You can use those but they all definitely have to individually install the behavior pack and it won’t be distributed from the server (but will still work). As far as whether the regular behavior packs are distributed by the server the answer should be yes if everything is set up and working correctly. I know the special like “Star Wars” levels and behavior packs as a rough example from the store though have restrictions and won’t be distributed by the server. In those cases each player has to individually buy the pack themselves on their account from the store. Normal ones should be distributed normally though once this is all working with the correct manifests/paths.
None of it is easy unfortunately. The support for this in Bedrock is *awful* unless you buy it from the store. I’ll leave the speculation as to why that may be but hopefully those help give you an idea! I think you’re probably pretty close but you may need to do one of the “world” folder tricks from the reddit post I linked. I’m hoping one of them gives you a path to get this working but it’s definitely even trickier than the resource packs!
Thanks for the reply James – really appreciate the effort! I got it working by applying your guide for resources packs to the behavior pack as well. Placed the download in the relevant folder, updated the manifest and placed that in the world folder and rebooted. For those interested I was using this world and now the kids and I can try hardcore mode. Sadly, my one son died in his sweet berry patch.
Hey Paul,
Excellent work, thanks for the follow-up and link! I especially appreciate the link as I’ve helped a few people try to navigate through getting these set up but never knew specifically which ones (some of them turned out to be marketplace ones in the past which is why I added that caveat).
The sweet berry patch incident is indeed unfortunate but I’m really gratified to see you got it working as I’m sure the fun/adventure on the server will be worth it. Take care and have fun!
Hi James,
Thanks for this article! It was exactly what I needed to add the resource pack to our server.
I started a server for my kids and their friends to play in a survival world with the Star Wars resource pack that came from the marketplace. Both my son and daughter own this pack, so it loads automatically for them when they join the server. I never purchased the pack, so when I join I have a choice to download the pack or simply join. If I download the pack, as soon as it’s downloaded and ready to load the world, my Minecraft app crashes. I found that I have to go into the app settings, delete the cache, restart Minecraft and then click “join” without downloading the pack. Then I can play in a vanilla world just fine.
I am wondering how can I enable the “download and join” option to work on the server? I realize the server doesn’t own any items from the marketplace, so it can’t share them with those who join. But if my son or daughter had started the world from their device, I would be able to use the resource pack under their ownership. So it’s frustrating.
I was thinking if I could give the server the ownership credentials of one of my kids then it would share the resource pack. But I don’t know how to do that. Can you help?
Thanks!
Hey Stephanie,
This is a really tough one. It could be marketplace related, but the crashing on resource packs load is a fairly common problem. You got off to a good start by clearing the cache but the next recommended fix for this is to actually completely uninstall the game and then download it from scratch from the store.
Do you have another PC you could try from? That would be the quickest way to narrow things down. If you even have a laptop or anything else you could temporarily test with that would definitely narrow things down. Another possible way to narrow things down is if you know someone who also doesn’t own the resource pack that could try logging in and see if they crash as well.
If we’re able to determine that if someone doesn’t already own the resource pack they crash no matter what computer or account they are using it could be a marketplace related restriction but I really don’t think it should be crashing for that. At the very least they should try to get you to buy it. That is assuming it was able to download correctly but from what you’ve described it sounds like it is downloading and installing it. There’s one more thing we can check.
Sometimes the resource pack won’t select the correct resolutions. You can go into your “resource packs” section of the options and manually set the resource pack to Star Wars and see if you are able to join after that.
To answer another part of your question of can you make a paid marketplace extension available for download I believe the answer is theoretically yes but in practice most of them are encrypted. I found a fairly recent thread of someone expressing frustration about the restrictions of not being able to make the content available on a dedicated server.
The last person who posted in that thread was a frustrated father who stopped letting their son buy resource packs if they can’t be used on the Bedrock dedicated server and that was February of this year so you are definitely not the only frustrated parent with the resource pack system! If you wanted to try this anyway you would follow the similar steps in this guide and find the “resource packs” folder and then take the pack you want from there. If it’s not encrypted it would essentially work the same as any other pack you would download and use in this guide otherwise.
It definitely looks like even if you try to take the resource pack unless you are lucky and it’s not an encrypted pack you will likely start to get this error message on the server. If that is the case it may be the end of the line, I don’t believe you can easily share the packs that are tied to accounts and encrypted unfortunately. It’s essentially DRM (digital rights management) intentionally designed to damage your gaming experience to force you to pay more money. Let us know what you find!
Hi James and thanks for the script, it really helps a lot. I followed your instructions to add RTX textures which work fine. When I loaded into the game the textures were pulled without issue. However, once the game actually loads, all the textures are black. Do you have any thought on what might cause this? Thx again
Hey bobby,
Wow that’s an interesting result! It sounds like you set up the resource pack correctly but that something may be wrong with it. This could be a missing file or a corrupt download/extract.
There’s a couple things you can do to narrow things down. First try downloading and installing an alternative popular resource pack (just pick one even if you don’t intend to use it from one of the resource pack sites) and test with that one and see if you get the same black textures. This lets us find out if the problem is specific to the specific resource pack or if it is happening no matter which resource pack is used.
The other thing we should check is if it happens on multiple computers/devices or just one device. If you try from an Android phone or a different PC or Xbox/Switch/PS4/etc. do they also see the black textures or it it just that device? That would point toward an RTX video specific issue. It’s also possible the texture pack has been updated to fix issues like this.
Those are a couple things to check at least. Let us know what you find!
Thank you for once again, your guide are great! I’ve been trying this with the “Epic Adventures” resource pack, but not having any luck. It came as a .mcpack file, which I’ve unzipped. I’ve copied the folder across to my world, within the resource_packs folder, which now looks like this:
resource_packs
— chemistry
— epic_adventures
— vanilla
The manifest.json file is sitting directly within the epic_adventures folder.
I’ve created world_resource_packs.json directly within the world folder and double checked the entry versus the manifest. My file looks like this:
[
{
"pack_id" : "5a87873c-3522-4f41-be22-841e10b99227",
"version" : [ 1000, 1, 0 ]
}
]
which checks out, per the manifest:
{
"format_version" : 1,
"header" : {
"description" : "By toby109tt",
"name" : "§lEpic Adventures Bedrock Edition",
"uuid" : "5a87873c-3522-4f41-be22-841e10b99227",
"version" : [ 1000, 1, 0 ]
},
I restart the server. I noticed that “valid_known_packs.json” automatically gets updated, which sounds like good news:
{
"file_system" : "RawPath",
"from_disk" : true,
"hashes" : [ "4l4zWbmtlMNCuQcvi1w0a63eMJuJGGX0tQc4ue3OT/8=" ],
"path" : "resource_packs/epic_adventures",
"uuid" : "5a87873c-3522-4f41-be22-841e10b99227",
"version" : "1000.1.0"
},
All looks good to me. However, I restart the client, connect to the world, and no indication that the resource pack is being used – nothing about downloading, and if I go into “Settings > Resource Packs” the only Active pack is “Global Resources”.
Sorry for the HUUUGGEE comment – any thoughts on this one?
Soooo, I didn’t read the instructions properly and put the world_resource_packs.json file in the wrong place. DUUHHH!!! Works now – amazing, thank you! 🙂
Hey Oli,
Don’t sweat it at all, I’m glad you found success! These configuration files are *very* tricky and even when I do it it’s not uncommon for me to make a mistake and have to go figure out where I forgot to place a file or which config file ended up with an extra space in it, etc.
Enjoy and take care!