minecraft vanilla perfected

This commit is contained in:
royalcat 2025-04-22 02:40:17 +04:00
parent a81e6317e4
commit 70d2620129
3 changed files with 170 additions and 0 deletions

View file

@ -0,0 +1,13 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: vanilla-perfected-data
namespace: minecraft
labels:
app.kubernetes.io/name: vanilla-perfected
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 15Gi

View file

@ -0,0 +1,27 @@
apiVersion: v1
kind: Service
metadata:
name: vanilla-perfected
namespace: minecraft
labels:
app.kubernetes.io/name: vanilla-perfected
annotations:
mc-router.itzg.me/externalServerName: "vanilla-perfected.mc.konfa.ch"
spec:
selector:
app.kubernetes.io/name: vanilla-perfected
ports:
- port: 25565
---
apiVersion: externaldns.k8s.io/v1alpha1
kind: DNSEndpoint
metadata:
name: vanilla-perfected-dns-record
namespace: minecraft
spec:
endpoints:
- dnsName: vanilla-perfected.mc.konfa.ch
recordTTL: 300
recordType: A
targets:
- 130.61.173.37

View file

@ -0,0 +1,130 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: vanilla-perfected
namespace: minecraft
labels:
app.kubernetes.io/name: vanilla-perfected
spec:
serviceName: vanilla-perfected
selector:
matchLabels:
app.kubernetes.io/name: vanilla-perfected
replicas: 1
template:
metadata:
namespace: minecraft
labels:
app.kubernetes.io/name: vanilla-perfected
containertype: minecraft-server
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: cpuclass
operator: In
values:
- high
containers:
- name: vanilla-perfected
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: vanilla-perfected-curseforge-edition
# - name: CF_FILENAME_MATCHER
# value: "1.0.0"
# - 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: vanilla-perfected-data
volumes:
- name: vanilla-perfected-data
persistentVolumeClaim:
claimName: vanilla-perfected-data