apiVersion: apps/v1 kind: StatefulSet metadata: name: prominence-2-rpg namespace: minecraft labels: app.kubernetes.io/name: prominence-2-rpg spec: serviceName: prominence-2-rpg selector: matchLabels: app.kubernetes.io/name: prominence-2-rpg replicas: 0 template: metadata: namespace: minecraft labels: app.kubernetes.io/name: prominence-2-rpg containertype: minecraft-server spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: cpuclass operator: In values: - high containers: - name: prominence-2-rpg image: itzg/minecraft-server:java21-graalvm env: # Let jvm figure out memory based on limit - name: MEMORY value: "" - name: JVM_XX_OPTS value: "-XX:MaxRAMPercentage=75" - name: CF_API_KEY value: $2a$10$GE.ruAAiogu1Zq2/oyPhzuGgFkXxID2ofiIXtnehJlS98/sK6J.Ya - name: CF_SLUG value: prominence-2-rpg - name: CF_FILENAME_MATCHER value: "3.1.6" # - name: CF_FILE_ID # value: "6296245" # - name: CF_EXCLUDE_INCLUDE_FILE # value: "" - name: CF_FORCE_SYNCHRONIZE value: "true" - name: CF_FORCE_INCLUDE_MODS value: | fancymenu luna # - name: CF_EXCLUDE_MODS # value: | # forgeconfigscreens - name: CURSEFORGE_FILES value: | modmenu # - name: CF_EXCLUDE_MODS # value: | # forgeconfigscreens # prominent # - name: CF_FORCE_INCLUDE_MODS # value: | # forgeconfigscreens # fancymenu # luna - name: ALLOW_FLIGHT value: "true" - name: CF_OVERRIDES_EXCLUSIONS value: | shaderpacks/** - name: CF_PARALLEL_DOWNLOADS value: "1" - name: EULA value: "TRUE" - name: MAX_TICK_TIME value: "-1" - name: MOD_PLATFORM value: AUTO_CURSEFORGE - name: ONLINE_MODE value: "false" - name: OVERRIDE_SERVER_PROPERTIES value: "true" - name: SPAWN_PROTECTION value: "0" - name: OPS value: | RoyalCat33 RoyalCat20 Zoryka ports: - containerPort: 25565 protocol: TCP resources: requests: cpu: "1" memory: "2Gi" limits: cpu: "4" memory: "10Gi" readinessProbe: exec: command: ["/usr/local/bin/mc-monitor", "status", "--host", "localhost"] # Give it i + p * f seconds to be ready, so 120 seconds initialDelaySeconds: 20 periodSeconds: 5 failureThreshold: 20 # Monitor ongoing liveness livenessProbe: exec: command: ["/usr/local/bin/mc-monitor", "status", "--host", "localhost"] initialDelaySeconds: 120 periodSeconds: 60 volumeMounts: - mountPath: /data name: prominence-2-rpg-data volumes: - name: prominence-2-rpg-data persistentVolumeClaim: claimName: prominence-2-rpg-data