# yaml-language-server: $schema=./values.schema.json

image:
  repository: ghcr.io/itzg/minecraft-server
  tag: 2026.3.3-java25@sha256:5c813f495447977bb3bc2bf40691d4f9a855b6b70141aa7edfb7864133ef3342
  pullPolicy: Always

# ---- Java 25 ----
j25jdkImage:
  repository: ghcr.io/itzg/minecraft-server
  tag: 2026.3.3-java25-jdk@sha256:36b60b1b46c104eb1e36c33694e01f78ce7dabc5edf49f39c15cdf8791866679
  pullPolicy: Always

# ---- Java 21 (Recommended for modern MC versions) ----
j21Image:
  repository: ghcr.io/itzg/minecraft-server
  tag: 2026.3.2-java21@sha256:dfe15996e5e41e9cef700cebdba721ba938242ccfb0a52ec6df66abda5bc9d8b
  pullPolicy: Always

j21alpineImage:
  repository: ghcr.io/itzg/minecraft-server
  tag: 2026.3.2-java21-alpine@sha256:4b4355d33c39cecf2586bb970dde32ec1de6ad2e23e6fec5c28ddfbe3dc35b9b
  pullPolicy: Always

j21jdkImage:
  repository: ghcr.io/itzg/minecraft-server
  tag: 2026.3.2-java21-jdk@sha256:e471a3303781fad982f32a8de9b77763cdc02646f304cea4e573505b9c2e12cc
  pullPolicy: Always

# ---- Java 17 (Safe & Supported) ----
j17Image:
  repository: ghcr.io/itzg/minecraft-server
  tag: 2026.3.3-java17@sha256:77a76e40c7fb3f4c5a5b08acdae854d5ec47613aa61303123109278380abc294
  pullPolicy: Always

j17jdkImage:
  repository: ghcr.io/itzg/minecraft-server
  tag: 2024.6.1-java17-jdk@sha256:2c43fcede436aff9f50b1adf4448d55d221651be471ef41412232c141bfa89f6
  pullPolicy: Always

# ---- Java 16 ----
j16Image:
  repository: ghcr.io/itzg/minecraft-server
  tag: 2026.3.3-java16@sha256:ec4e4d0b597f85f680316d69c66ff219a104d4e1575dcf2c08dde7f2e624f12d
  pullPolicy: Always

# ---- Java 11 ----
j11Image:
  repository: ghcr.io/itzg/minecraft-server
  tag: 2026.3.3-java11@sha256:5d8105a997e73df965fcdc65a14ada504f38bf02b054e4a337030150f64a490c
  pullPolicy: Always

# ---- Java 8 (Use plain java8 only) ----
j8Image:
  repository: ghcr.io/itzg/minecraft-server
  tag: 2026.3.3-java8@sha256:2c8692614cbda2b3e421407819a7e9da006b4c42ea8ee30509fe2397e1a85373
  pullPolicy: Always

service:
  main:
    enabled: true
    ports:
      main:
        enabled: true
        protocol: tcp
        port: 25565
      query:
        enabled: true
        protocol: udp
        port: 25565
  rcon:
    enabled: true
    ports:
      rcon:
        enabled: true
        port: 25575
  ssh:
    enabled: true
    ports:
      ssh:
        enabled: true
        protocol: tcp
        targetPort: 2222
        port: 2222

workload:
  main:
    podSpec:
      containers:
        main:
          imageSelector: image
          probes:
            liveness:
              enabled: true
              type: exec
              command:
                - mc-health
            readiness:
              enabled: true
              type: exec
              command:
                - mc-health
            startup:
              enabled: true
              type: exec
              command:
                - mc-health
          env:
            SERVER_PORT: "{{ .Values.service.main.ports.main.port }}"
            QUERY_PORT: "{{ .Values.service.main.ports.query.port }}"
            RCON_PORT: "{{ .Values.service.rcon.ports.rcon.port }}"
            ENABLE_QUERY: "true"
            ENABLE_SSH: "false"
            EULA: "TRUE"
            GUI: "FALSE"
            OVERRIDE_SERVER_PROPERTIES: true
            VERSION: "LATEST"
            TYPE: "VANILLA"
            DIFFICULTY: easy
            MAX_PLAYERS: 20
            MAX_WORLD_SIZE: 10000
            ALLOW_NETHER: true
            ANNOUNCE_PLAYER_ACHIEVEMENTS: true
            ENABLE_COMMAND_BLOCK: false
            FORCE_GAMEMODE: false
            GENERATE_STRUCTURES: true
            HARDCORE: false
            MAX_BUILD_HEIGHT: 256
            MAX_TICK_TIME: 60000
            SPAWN_ANIMALS: true
            SPAWN_MONSTERS: true
            SPAWN_NPCS: true
            VIEW_DISTANCE: 16
            MODE: survival
            MOTD: "Welcome to Minecraft on TrueNAS Scale!"
            PVP: false
            LEVEL_TYPE: DEFAULT
            LEVEL: world
            ONLINE_MODE: true
            MEMORY: 2048M
            RCON_PASSWORD: "secretrconpass"
            # PACKWIZ_URL: ""
            # CUSTOM_SERVER: ""
            # QUILT_LOADER_VERSION: ""
            # QUILT_LAUNCHER: ""
            # QUILT_LAUNCHER_URL: ""
            # PUFFERFISH_BUILD: "lastSuccessfulBuild"
            # FORGEVERSION: ""
            # FORGE_INSTALLER: ""
            # FORGE_INSTALLER_URL: ""
            # FABRIC_LOADER_VERSION: ""
            # FABRIC_INSTALLER: ""
            # FABRIC_INSTALLER_URL: ""
            # SPIGOT_DOWNLOAD_URL: ""
            # BUILD_FROM_SOURCE: false
            # BUKKIT_DOWNLOAD_URL: ""
            # PAPERBUILD: ""
            # PAPER_DOWNLOAD_URL: ""
            # AIRPLANE_BUILD: "lastSuccessfulBuild"
            # MAGMA_CHANNEL: "stable"
            # MOHIST_BUILD: ""
            # CANYON_BUILD: ""
            # SPONGEBRANCH: "STABLE"
            # SPONGEVERSION: ""
            # LIMBO_BUILD: "LATEST"
            # LIMBO_SCHEMA_FILENAME: "default.schem"
            # CRUCIBLE_RELEASE: "latest"
            # FTB_MODPACK_ID: ""
            # FTB_MODPACK_VERSION_ID: ""
            # CF_SERVER_MOD: ""
            # CF_BASE_DIR: ""
            # USE_MODPACK_START_SCRIPT: true
            # FTB_LEGACYJAVAFIXER: false
            # WHITELIST: ""
            # OPS: ""
            # ICON: ""
            # SEED: ""
            # GENERATOR_SETTINGS: ""
            # WORLD: ""
            # FORCE_REDOWNLOAD: false
            # USE_FLARE_FLAGS: false
            # USE_AIKAR_FLAGS: true
            # USE_SIMD_FLAGS: false
            # JVM_OPTS: ""
            # JVM_XX_OPTS: ""
            # CF_API_KEY
            # CF_PAGE_URL
            # CF_SLUG
            # CF_EXCLUDE_INCLUDE_FILE
            # CF_EXCLUDE_MODS
            # CF_FORCE_INCLUDE_MODS
            # CF_FORCE_SYNCHRONIZE
            # CF_OVERRIDES_SKIP_EXISTING
            # CF_PARALLEL_DOWNLOADS
            # CF_SET_LEVEL_FROM

persistence:
  data:
    enabled: true
    mountPath: /data
