minecraft prominence-2-rpg

This commit is contained in:
royalcat 2025-03-30 03:54:05 +04:00
parent f1b0bef3f2
commit 235b50c492
6 changed files with 208 additions and 2 deletions

View file

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: minecraft

View file

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

View file

@ -0,0 +1,45 @@
apiVersion: v1
kind: Service
metadata:
name: prominence-2-rpg
namespace: minecraft
labels:
app.kubernetes.io/name: prominence-2-rpg
annotations:
mc-router.itzg.me/defaultServer: "true"
mc-router.itzg.me/externalServerName: "prominence-2-rpg.mc.konfa.ch"
spec:
selector:
app.kubernetes.io/name: prominence-2-rpg
ports:
- port: 25565
---
apiVersion: externaldns.k8s.io/v1alpha1
kind: DNSEndpoint
metadata:
name: prominence-2-rpg-dns-record
namespace: minecraft
spec:
endpoints:
- dnsName: prominence-2-rpg.mc.konfa.ch
recordTTL: 300
recordType: A
targets:
- 130.61.173.37
---
apiVersion: v1
kind: Service
metadata:
name: prominence-2-rpg-port
namespace: minecraft
labels:
app.kubernetes.io/name: prominence-2-rpg
spec:
type: NodePort
selector:
app.kubernetes.io/name: prominence-2-rpg
ports:
- name: "25565"
port: 25565
targetPort: 25565
nodePort: 33565

View file

@ -0,0 +1,130 @@
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

View file

@ -6,6 +6,7 @@ metadata:
labels:
app.kubernetes.io/name: tfg
annotations:
mc-router.itzg.me/defaultServer: "true"
mc-router.itzg.me/externalServerName: "tfg.mc.konfa.ch"
spec:
selector:
@ -38,3 +39,7 @@ metadata:
spec:
endpoints:
- dnsName: tfg.mc.konfa.ch
recordTTL: 300
recordType: A
targets:
- 130.61.173.37

View file

@ -10,7 +10,7 @@ spec:
selector:
matchLabels:
app.kubernetes.io/name: tfg
replicas: 1
replicas: 0
template:
metadata:
namespace: minecraft
@ -18,11 +18,20 @@ spec:
app.kubernetes.io/name: tfg
containertype: minecraft-server
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: cpuclass
operator: In
values:
- high
containers:
- name: tfg
image: itzg/minecraft-server:java21-graalvm
env:
# Let jvm figure out memory based on limits
# Let jvm figure out memory based on limit
- name: MEMORY
value: ""
- name: JVM_XX_OPTS