Issue Launching Modded Minecraft Server

I’m having some trouble getting a modded Minecraft server running on my TrueNAS setup, and I’m not sure if this is a Minecraft issue or something with TrueNAS itself.

I’m trying to launch a Minecraft 1.21.1 server with Fabric Loader 0.16.10 using the Crafty Controller app on TrueNAS, but no matter what I try, I keep getting the same error. Here’s what the log shows:

[23:29:30] [INFO] [FabricLoader/GameProvider]: Loading Minecraft 1.21.1 with Fabric Loader 0.16.10  
[23:29:30] [INFO] [FabricLoader/GameRemap]: Fabric is preparing JARs on first launch, this may take a few seconds...  
[23:29:34] [ERROR] [FabricLoader/]: Uncaught exception in thread "main"  
java.lang.RuntimeException: An exception occurred when launching the server!  
	at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:71)  
	at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69)  
Caused by: java.lang.RuntimeException: error remapping game jars [/crafty/servers/6062f25c-f21b-40b1-ad9f-9a228482b95c/versions/1.21.1/server-1.21.1.jar]  
	at net.fabricmc.loader.impl.game.GameProviderHelper.deobfuscate(GameProviderHelper.java:248)  
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.initialize(MinecraftGameProvider.java:331)  
	at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:140)  
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68)  
	at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23)  
	at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69)  
	... 1 more  
Caused by: java.nio.file.FileSystemException: /crafty/servers/6062f25c-f21b-40b1-ad9f-9a228482b95c/./.fabric/remappedJars/minecraft-1.21.1-0.16.10/zipfstmp5830680519539875243.tmp: Operation not permitted  
	at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)  
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)  
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)  
	at java.base/sun.nio.fs.UnixFileAttributeViews$Posix.setMode(UnixFileAttributeViews.java:277)  
	at java.base/sun.nio.fs.UnixFileAttributeViews$Posix.setPermissions(UnixFileAttributeViews.java:299)  
	at java.base/java.nio.file.Files.setPosixFilePermissions(Files.java:2169)  
	at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.sync(ZipFileSystem.java:1869)  
	at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.lambda$close$9(ZipFileSystem.java:484)  
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)  
	at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.close(ZipFileSystem.java:483)  
	at net.fabricmc.loader.impl.lib.tinyremapper.FileSystemReference.close(FileSystemReference.java:131)  
	at net.fabricmc.loader.impl.lib.tinyremapper.OutputConsumerPath.close(OutputConsumerPath.java:213)  
	at net.fabricmc.loader.impl.game.GameProviderHelper.deobfuscate0(GameProviderHelper.java:318)  
	at net.fabricmc.loader.impl.game.GameProviderHelper.deobfuscate(GameProviderHelper.java:246)  
	... 6 more

This only happens when creating a new server. On a previous version of TrueNAS Scale, I was able to set up Fabric servers without any issues. Right now, the problem only happens when trying to create a new modded server, vanilla works fine.

However, if I import a modded server that was already running on the older TrueNAS version, it works perfectly fine — the imported server launches without any errors and runs without any issues.

What I’ve figured out so far:

  • Fabric is trying to remap the game JARs on first launch.
  • It’s trying to create or modify temporary files in the .fabric/remappedJars/ directory.
  • The operation fails due to a permissions issue: Operation not permitted.

I’ve already given the Crafty Controller app role full control over the dataset where the server files are located, but the error still happens.

As a test, I also tried running the server through the “itzg/docker-minecraft-server” app from the TrueNAS catalog — but while I don’t get logs from that app, the server crashes in the same way, so I suspect it’s the same permissions issue.

What I need help with:

  • What exactly is going wrong here?
  • Is this a TrueNAS permissions issue, Fabric issue, or something else?
  • How can I fix it so the server launches properly?

Any advice or ideas would be appreciated, thanks in advance!
ElectricEel-24.10.2

According to Crafty Controller’s support matrix, Docker only supports pre-crafted Arcadia images.

Have you considered the much weaker App in the app library? You can configure it to use Fabric for an instance, and manually drop mods or worlds into your instance’s volume folder. It does support enabling RCON.

Not as nice as Crafty Controller, but it does function, to a degree.

I have already tried that app as stated:

As a test, I also tried running the server through the “itzg/docker-minecraft-server” app from the TrueNAS catalog

and since it doesn’t output logs I can only assume it has the same permission issues as CraftyController.

It doesn’t show which repository it’s pulling it from here, so I didn’t know that was the one listed in the Apps library.

The manifest does show it should have permission to do that, and it works here.

  capabilities:
  - description: Minecraft is able to chown files.
    name: CHOWN
  - description: Minecraft is able to bypass permission checks.
    name: DAC_OVERRIDE
  - description: Minecraft is able bypass permission checks for it's sub-processes.
    name: FOWNER
  - description: Minecraft is able to set group ID for it's sub-processes.
    name: SETGID
  - description: Minecraft is able to set user ID for it's sub-processes.
    name: SETUID