Hello, I have been trying for weeks now and I cannot seem to find an answer to my question. I am running a Minecraft server for me and my friends to play on and have been for a while. We are using the built in Minecraft server app in the Truenas Apps directory and are running a paper server within that. For the most part it works amazingly, for 99% of things it’s great, but my one issue is that I would like to use the Bluemap plugin so that we could access a cool map view using our browser. The problem is that bluemap needs a port to be open to bind to, by default the port is 8100, but I can see no way to open up an additional port what so ever. What is the best way of going about this? Any help would be greatly appreciated. Thank you!
To gain full control of ports, you are going to need to do a manual install from a docker hub image…
If you are on dragonfish you will need to wait for EE launch later this month
If you are running the EE RC (release candidate beta) now you can install it with full port control
here I see an updated image is available
https://hub.docker.com/r/hashicraft/minecraft
you can install that with docker
Yeah, I am running version 24.04.2. I’ll take a look at this version of Minecraft you sent, maybe that will help me, but I still don’t see a way to open up additional ports from what you sent. Wouldn’t that be like an environment variable or something? Or is it just not possible on my current version I am running yet.
It will be possible to run any docker version (of any app) once the update hits at end of this month…
the version I linked is a docker version
Okay very cool, thank you for the info. Hopefully I can figure it out more then, I read up on Electric Eel, sounds very interesting.
Ok, so I have tested out the new 24.10-RC.2 Electric Eel release and I can get my server for the most part up and running using docker compose. I can open up the additional ports and everything which is really great, but I have a newer issue that maybe you or someone else has answers to.
So I have a folder on my Truenas Scale system where all the Minecraft files are held. I need the application to be able to read those files and write those files like normal so all the save data comes over and all changes stay up to date within that folder. Right now my compose file looks like this…
services:
minecraft:
image: itzg/minecraft-server
tty: true
stdin_open: true
ports:
- “25565:25565”
- “8100:8100”
environment:
SERVER_NAME: “Minecraft”
TYPE: “PAPER”
VERSION: “1.21.1”
EULA: “TRUE”
MOTD: “Welcome to Minecraft”
SPAWN_PROTECTION: “16”
DIFFICULTY: “normal”
MEMORY: “20G”
SEED: “866322449004965042”
VIEW_DISTANCE: “32”
MODE: “survival”
volumes:
- /mnt/Kenai/Apps/TrueNas IX-Applications/Minecraft Server/Minecraft Data
restart: on-failure:3
The app is loading up the proper seed, but none of our data is there, it’s like it’s creating a separate volume and storing the info there. Everything we have created is gone. How can I fix something like this? I feel like volumes need to be something different. I need it to bind the same way true as does when you bind a file system in an app the standard way.
Thank you!
Okay what that compose needs is
It want a volume mounted to data and you want a PATH ON HOST INSTEAD
So let say you create a path on host /mnt/pool1/minecraft/data
you should have it like this
services:
mc:
image: itzg/minecraft-server
environment:
EULA: "true"
ports:
- "25565:25565"
volumes:
- /mnt/pool1/minecraft/data:/data
stdin_open: true
tty: true
restart: unless-stopped
/mnt/pool1/minecraft/data:/data
means take path on host /mnt/pool1/minecraft/data and the : is mount it to /data
so in the container what is in /mnt/pool1/minecraft/data would be in /data
the example you gave had no : separation
also this
volumes:
data: {}
is not needed if mounting a path on host remove it from the compose
So do this
services:
mc:
image: itzg/minecraft-server
environment:
EULA: "true"
ports:
- "25565:25565"
volumes:
- /mnt/replace/your/path/on/host/here:/data
stdin_open: true
tty: true
restart: unless-stopped
if you still have issues… it could be permission but this container does not specify a user so it should work regardless if it does not further investigation may be needed/
Thank you so much, you are the man! I was able to try this all out and it’s working great, thanks for the help! I have 2 final little questions I think, but maybe they are for full release of Electric Eel.
If I go over here in the apps section of truenas and check the logs, all I see is this now.
Is this a Truenas bug currently? Seems to only happen with the Minecraft server, non of my other apps, and it happens regardless of if I’m using docker compose or not.
Other question is if I go up here and click edit on the application I get this.
This only happens with the compose application.
I do not know … I am not running EE in production yet
will be next week…
but I am going to do all manual installs no built in IX apps, all docker compose, through dockge
Not sure about the Minecraft server logs, haven’t seen anything like that in any other app logs.
The error with editing a compose yaml app is fixed for the 24.10.0 release version
Yeah me neither, it’s only appearing in the Minecraft log, both the built in minecraft app in the truenas catalog, and also with the docker compose app I have ran, so wack. I can’t wait for full release of EE though!
Thanks for the help @Tyler_Shield and thanks for the extra info @DjP-iX