Trying to open additonal ports for Minecraft mods

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.

image

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