Skip to content

Commit 6adacf1

Browse files
committed
feat(minecraft): deploy rlcraft server
Deploy RLcraft server.
1 parent cf4230c commit 6adacf1

File tree

2 files changed

+187
-0
lines changed

2 files changed

+187
-0
lines changed
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
apiVersion: argoproj.io/v1alpha1
2+
kind: Application
3+
metadata:
4+
name: minecraft-rlcraft
5+
finalizers:
6+
- resources-finalizer.argocd.argoproj.io
7+
spec:
8+
project: minecraft
9+
source:
10+
repoURL: https://itzg.github.io/minecraft-server-charts
11+
targetRevision: 5.0.0
12+
chart: minecraft
13+
helm:
14+
valuesObject:
15+
image:
16+
tag: java8
17+
initContainers:
18+
- name: fix-config-permissions
19+
image: busybox
20+
command:
21+
- sh
22+
- -c
23+
- |
24+
mkdir -p /data/config
25+
chown -R 1000:1000 /data
26+
securityContext:
27+
runAsUser: 0
28+
runAsGroup: 0
29+
runAsNonRoot: false
30+
volumeMounts:
31+
- name: datadir
32+
mountPath: /data
33+
34+
serviceAnnotations:
35+
mc-router.itzg.me/externalServerName: "rl.gug.d3adb5.ca"
36+
workloadAsStatefulSet: true
37+
strategyType: RollingUpdate
38+
persistence:
39+
storageClass: longhorn
40+
dataDir:
41+
enabled: true
42+
Size: 20Gi
43+
resources:
44+
requests:
45+
cpu: 2
46+
memory: 10Gi
47+
limits:
48+
memory: 10Gi
49+
extraEnv:
50+
USE_MEOWICE_FLAGS: "true"
51+
minecraftServer:
52+
eula: true
53+
type: FORGE
54+
version: "1.12.2"
55+
difficulty: hard
56+
maxTickTime: -1
57+
enableCommandBlock: true
58+
whitelist: {{ join "," .Values.minecraft.server.rlcraft.whitelist }}
59+
ops: {{ join "," .Values.minecraft.server.rlcraft.ops }}
60+
maxPlayers: 16
61+
allowNether: true
62+
announcePlayerAchievements: true
63+
spawnProtection: 0
64+
viewDistance: 16
65+
motd: "This time I'm really gonna do it."
66+
icon: "http://0x0.st/K_t4.png"
67+
rcon:
68+
enabled: true
69+
existingSecret: minecraft-rlcraft-secrets
70+
secretKey: rcon-password
71+
memory: 8192M
72+
overrideServerProperties: false
73+
74+
extraPorts:
75+
- name: voice-chat
76+
containerPort: 24450
77+
protocol: UDP
78+
service:
79+
enabled: true
80+
embedded: false
81+
annotations:
82+
metallb.universe.tf/allow-shared-ip: {{ .Values.metallb.ipSharingKey }}
83+
type: LoadBalancer
84+
port: 24450
85+
86+
mcbackup:
87+
enabled: true
88+
pruneBackupDays: 7
89+
persistence:
90+
storageClass: truenas-iscsi-hdd
91+
backupDir:
92+
enabled: true
93+
Size: 50Gi
94+
95+
affinity:
96+
podAntiAffinity:
97+
preferredDuringSchedulingIgnoredDuringExecution:
98+
- weight: 100
99+
podAffinityTerm:
100+
labelSelector:
101+
matchExpressions:
102+
- key: app.kubernetes.io/name
103+
operator: In
104+
values:
105+
- minecraft
106+
topologyKey: kubernetes.io/hostname
107+
108+
extraVolumes:
109+
- volumes:
110+
- name: voice-chat-config
111+
configMap:
112+
name: minecraft-rlcraft-voice-chat-config
113+
volumeMounts:
114+
- name: voice-chat-config
115+
mountPath: /data/config/voicechat/voicechat-server.properties
116+
subPath: voicechart-server.properties
117+
118+
extraDeploy:
119+
- |
120+
apiVersion: bitnami.com/v1alpha1
121+
kind: SealedSecret
122+
metadata:
123+
name: minecraft-rlcraft-secrets
124+
spec:
125+
encryptedData:
126+
{{- range $key, $value := .Values.minecraft.server.rlcraft.secrets }}
127+
{{ $key }}: {{ splitList "\n" $value | join "" }}
128+
{{- end }}
129+
- |
130+
apiVersion: v1
131+
kind: ConfigMap
132+
metadata:
133+
name: minecraft-rlcraft-voice-chat-config
134+
data:
135+
voicechart-server.properties: |
136+
port=24450
137+
bind_address=
138+
max_voice_distance=48.0
139+
crouch_distance_multiplier=1.0
140+
whisper_distance_multiplier=0.5
141+
codec=VOIP
142+
mtu_size=1024
143+
keep_alive=1000
144+
enable_groups=true
145+
voice_host=rl.gug.d3adb5.ca
146+
allow_recording=true
147+
spectator_interaction=false
148+
spectator_player_possession=false
149+
force_voice_chat=false
150+
login_timeout=10000
151+
broadcast_range=-1.0
152+
allow_pings=true
153+
use_natives=true
154+
155+
destination:
156+
server: https://kubernetes.default.svc
157+
namespace: {{ .Values.minecraft.namespace }}
158+
159+
syncPolicy:
160+
automated:
161+
prune: true
162+
selfHeal: true
163+
syncOptions:
164+
- CreateNamespace=true

argo/app-of-apps/values.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,29 @@ democraticCsi:
180180
minecraft:
181181
namespace: minecraft
182182
server:
183+
rlcraft:
184+
whitelist:
185+
- ab9c17
186+
- OnyxKier
187+
- Harkly_
188+
- Nightmar35
189+
ops:
190+
- ab9c17
191+
- OnyxKier
192+
- Harkly_
193+
- Nightmar35
194+
secrets:
195+
rcon-password: |-
196+
AgA4aG8bclIN5h2/PBu5lnMJ11r5bL0f8nzRc2escYFiLoe4Mzyezz2C+0VmOU5G5vJpNwTstAXTJc92
197+
ZoFKrKGIoihbrWG70G0s9c9qYJkZt8whZzT4fSfl9vxcPnOPrY8oor77iPjHg67lYOqlWdNGWreG3f5t
198+
DyUlic+WCepHHRz4ihg7mPXC4/FxOfPvEWnEL7ugA+6PPqvgnHttjLWRLEIH74zDtYKmD3uSaGTQ9ocT
199+
6hc4w3J0b/2+PHkxymiddS4RQR5AwE1iViRxUjhheTFAkQGSel00pXv9dN7oDsboSLUk6iDEPqbOuBB6
200+
6GlHZF5S4+57aUyuY3g/fWnWIr+A5YTIpn8u9ccSrVUGktaUxbAI43V+wflgbTIfx4yk1cULNoucRQy9
201+
+ebH8F8zuA40u0JM8JrIzLLIJrKvdLeWYw5vX4dQRcRYxGr8GPvUaNmd4BcqJE/LgpkpGLr4I/hnNb9Q
202+
HiGJKUCHLGv7vTCdI/XyCA4Ktpevke4hrZbtejJ+t0P95q1/KPSU71JJiVyVDuPS/X4WJgbUQTvcuIYm
203+
GdDkht7NKVoSGbh99W7MgxWTMuiZS/lnohMNbWT6Ilgae476SUAXRASAxX5npaZHbwbz17gK8LRXZSuM
204+
SzaZBn52czMD2bOHlpcjvZ40wZaZcjpi+d3+Grjp3ZrhyResROlfVjQuedN3OwouJDWOX3BmTnFBmsIE
205+
LhdFbSTySq+e/uYZ1YUiWgkLfiZ5N4DJzfiMy1wOemw9I7A=
183206
gug:
184207
whitelist:
185208
- ab9c17

0 commit comments

Comments
 (0)