service-account: enabled: true resources: - name: minecraft-exporter label: app: minecraft-minecraft-metrics endpoints: port: metrics traefik: enabled: true tcpRoutes: - name: minecraft-tcp entrypoint: minecraft gateway: istio-system/badhouseplants-minecraft match: HostSNI(`*`) service: minecraft-minecraft port: 25565 # -------------------------------------------------- # -- Main values # -------------------------------------------------- image: #tag: java21-graalvm tag: java21-jdk pullPolicy: Always resources: requests: memory: 3.5Gi cpu: 2.5 limits: memory: 3.5Gi lifecycle: postStart: - bash - -c - for i in {1..100}; do mc-health && break || sleep 20; done && rcon-cli auth setGlobalPassword 11223345 nodeSelector: node-role.kubernetes.io/minecraft: "true" livenessProbe: command: - mc-health initialDelaySeconds: 120 periodSeconds: 5 failureThreshold: 50 successThreshold: 1 timeoutSeconds: 20 readinessProbe: command: - mc-health initialDelaySeconds: 30 periodSeconds: 5 failureThreshold: 20 successThreshold: 1 timeoutSeconds: 20 minecraftServer: memory: 3000M jvmOpts: | -server jvmXXOpts: | -Xms3000G -Xmx3500G -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M overrideServerProperties: true eula: "TRUE" onlineMode: false difficulty: hard hardcore: true version: "1.21.1" maxWorldSize: 90000 type: "FABRIC" gameMode: survival pvp: true modUrls: [] serviceType: NodePort #- https://github.com/CaffeineMC/lithium-fabric/releases/download/mc1.20.1-0.11.2/lithium-fabric-mc1.20.1-0.11.2-api.jar #- https://github.com/CaffeineMC/sodium-fabric/releases/download/mc1.20.1-0.5.11/sodium-fabric-0.5.11+mc1.20.1.jar #- https://github.com/CaffeineMC/lithium-fabric/releases/download/mc1.20.1-0.11.2/lithium-fabric-mc1.20.1-0.11.2.jar #pluginUrls: # - https://github.com/dmulloy2/ProtocolLib/releases/download/5.2.0/ProtocolLib.jar # - https://mediafilez.forgecdn.net/files/3789/833/GravityControl-2.0.0.jar # - https://mediafilez.forgecdn.net/files/3151/915/CrackShot.jar # - https://s3.badhouseplants.net/public-download/MechanicsCore-3.4.8.jar # - https://s3.badhouseplants.net/public-download/WeaponMechanics-3.4.9.jar rcon: enabled: true withGeneratedPassword: false port: 25575 serviceType: ClusterIP extraPorts: - name: metrics containerPort: 9225 protocol: TCP service: enabled: true embedded: false labels: exporter: minecraft type: ClusterIP port: 9925 ingress: enabled: false persistence: storageClass: openebs-hostpath #storageClass: local-path dataDir: enabled: true Size: 9Gi mcbackup: enabled: false backupInterval: 2h pauseIfNoPlayers: "false" pruneBackupsDays: 2 rconRetries: 5 rconRetryInterval: 10s excludes: "*.jar,cache,logs" backupMethod: restic resticRepository: s3:https://s3.e.badhouseplants.net:443/restic/minecraft resticAdditionalTags: "mc_backups" pruneResticRetention: "--keep-last 12 --keep-daily 1 --keep-weekly 2 --keep-monthly 2 --keep-yearly 2" resources: requests: memory: 512Mi cpu: 100m persistence: backupDir: enabled: false # --------------------------------------------- # -- Install Plugins # --------------------------------------------- initContainers: - name: 0-download-mods image: alpine/curl command: - curl - -L - "https://s3.badhouseplants.net/minecraft-mods/server_mods.tar" - -o - /download/server_mods.tar volumeMounts: - name: download mountPath: /download readOnly: false - name: 1-copy-plugins-to-minecraft image: ubuntu command: - sh - -c - cd /mods && tar -xvf /download/server_mods.tar || true volumeMounts: - name: plugins mountPath: /mods readOnly: false - name: download mountPath: /download readOnly: false extraVolumes: - volumeMounts: - name: plugins mountPath: /data/mods readOnly: false volumes: - name: plugins emptyDir: sizeLimit: 500Mi - name: download emptyDir: sizeLimit: 500Mi