-
Bug
-
Resolution: Unresolved
-
None
-
1.18.31, 1.19.0, 1.19.2 Hotfix
-
None
-
Community Consensus
-
891850
Issue
Behaviour/resource packs are not loaded when run on a Linux machine with `XFS` as the filesystem and the `ftype` flag set to `0`.
We discovered an issue recently where a number of our Linux machines had Bedrock Dedicated Servers which would not load behaviour/resource packs. After some investigation we found the only real difference between machines that did work and machines that didn't were the file system:
- CentOS 7 `ext4`: works
- CentOS 7 `XFS`: works
- Almalinux 8 `ext4`: works
- Almalinux 8 `XFS` with `ftype=1`: works
- Almalinux 8 `XFS` with `ftype=0`: does not work
The flag seems to be purely a metadata structure thing so we are unsure why this would cause an issue.
Unfortunately, changing the flag requires rebuilding the entire filesystem (aka, reinstalling the OS). — This isn't feasible for us so we hope there's a way this can be resolved upstream.
Replication Process
1. For demonstration purposes, let's use a known working one from a public library: https://mcpedl.com/extended-amethyst-add-on/ (though any would work as far as we can tell)
2. Once the files are downloaded, one will be a behaviour pack, and the other will be a resource pack. Let's import both to the client by simply double-clicking them.
3. After that, let's create a new single-player world and under 'Add-Ons', select both.
4. Once created, we can verify in creative that it does work in single-player by simply searching for an amethyst ring: https://i.geri.dev/sQIRTPXwBGj5.png
Now, let's exit out of this world and copy the files into a server.
5. Download the dedicated server files from https://www.minecraft.net/en-us/download/server/bedrock (Apparently only the Beta one is available there currently so we'll use the latest stable instead, `v1.18.31`)
6. Upload the freshly created world folder from `%LocalAppData%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftWorlds` to `./worlds/` on the server and rename it to `Bedrock level`.
7. Start the server directly and attempt to connect.
On a working machine, here is what we'll see:
- Login screen: Shows that we would have to download 0.04 MB to apply the resource pack (see below about the cache) — https://i.geri.dev/vI1nYpMRyzHk.png
- Once logged in, we can search for the amethyst ring without any issues: https://i.geri.dev/2YpxTzICd7fP.png
On a machine that has `XFS` with `ftype=0`, here is what we see:
- Login screen: Shows that we'd only need to download 0.02 MB (see about cache below) — https://i.geri.dev/maxb4yn9SdoA.png
- In-game, we cannot view any new items such as the amethyst ring — https://i.geri.dev/pPaLxrJnyHCi.png
More Information
Additionally, this happens to all players on different devices from further testing.
As for the cache, it looks like if you already connected previously to a world with the exact resource/behaviour packs, it will store it locally so the download screen may not match correctly. As such, we made sure to clear the game's cache through Main Menu ➜ 'Settings' ➜ 'Storage' when possible just so that is not the problem.
We have also tried numerous times to manually install these behaviour packs just in case single player did it incorrectly — though it seems to be doing it perfectly as the `world_resource_packs.json` and `world_behavior_packs.json` seems to always match the data in the packs' `manifest.json` information.
For convenience, we have compiled a ZIP archive of an entire server that has issues when running on a machine with the conditions mentioned above: https://archive.geri.dev/bedrock_test.zip (~73 MB total)