-
Notifications
You must be signed in to change notification settings - Fork 8
/
minecraft-helm.yaml
122 lines (112 loc) · 4.53 KB
/
minecraft-helm.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# These are value overrides for the helm chart defined here
# https://github.com/itzg/minecraft-server-charts
# It contains the most common parameters, but for even more settings, see
# https://github.com/itzg/minecraft-server-charts/blob/master/charts/minecraft/values.yaml
# to use this file execute the following two commands
# helm repo add minecraft-server-charts https://itzg.github.io/minecraft-server-charts/
# helm upgrade --install RELEASE_NAME -f THIS_FILE.yaml --set minecraftServer.eula=true,rcon.password=YOUR_PWD minecraft-server-charts/minecraft
# Common minecraft server settings
minecraftServer:
# may be SNAPSHOT or a specific version number
version: LATEST
# allowed players' names comma separated, leave blank to allow any players
whitelist:
# comma separated admin players' names
ops:
# always set game mode when a player connects
forcegameMode: true
# choose a seed for the starting world
levelSeed:
# size of the world in blocks radius from spawn point (default is 29999984)
maxWorldSize: 10000
# default game mode for players creative,adventure,survival or spectator
gameMode: creative
# message in the launcher
motd: "Welcome to Minecraft on Kubernetes"
# player vs player enabled
pvp: false
# REQUIRED this means you get nodePort exposed on all nodes and will get
# directed to the correct node if you connect to any
serviceType: NodePort
# restore the world from a backup on first execution (requires NFS volume - see below)
downloadWorldUrl:
# external port must be unique across all mc server instances on a given node
nodePort: 30100
# how far from the player are chunks rendered on the server
# 10 is default, larger is nice on high spec hardware
# I believe 25 is the client max so larger is wasted
viewDistance: 10
# memory to allocate to the jvm - if you change this also change the K8s resource request
memory: 2g
rcon:
# enable rcon for remote control - set to false if not required
enabled: true
# external port must be unique across all mc server instances
nodePort: 30101
# required
serviceType: NodePort
password: "TODO - supply this as an override on the command line "
# UNCOMMENT and supply an NFS mounted folder if you have backups of minecraft server
# worlds that you would like to use as the starting point for the new server
# extraVolumes:
# # define where the volume mounts in the container
# - volumeMounts:
# - name: bigdisk
# mountPath: /share/bigdisk
# readOnly: true
# # define the remote nfs mount to attach to above
# volumes:
# - name: bigdisk
# nfs:
# server: 192.168.86.32
# path: /share/bigdisk
extraEnv:
# recommended rolling logs for saving disk
ENABLE_ROLLING_LOGS: true
# if this is true then minecraftServer properties above are always applied
# on every restart, if false they only apply at first run
OVERRIDE_SERVER_PROPERTIES: true
# if this is true then downloadWorldUrl is always loaded on restart
# useful for resetting the world but should be reset to false afterwards
# WARNING: setting this to true deletes your previous world data
FORCE_WORLD_COPY: false
# required to save the world in persistent local-path storage (k3s default Storage Class)
# by default this goes in /var/lib/rancher/k3s/storage on the executing node.
# NOTE this ties the deployment to the first node it spins up on,
# we could perhaps use an NFS mount to avoid this
persistence:
annotations: {}
dataDir:
enabled: true
Size: 1Gi
# K8S resources to grant the pod. memory must be the same as java memory above
# I've also found that limit should be a little higher.
# For processors - if you want to run lots of servers but only use one or two at
# a time then it is OK to set a low request and a higher limit. Minecraft servers
# can make use of quite a few cpus if available and this is especially helpful
# at startup time
resources:
requests:
memory: 2Gi
cpu: 1
limits:
memory: 3Gi
cpu: 6
# UNCOMMENT to choose a single node to run on
# nodeSelector:
# kubernetes.io/hostname: my-worker-node-name
# UNCOMMENT to choose a range of nodes to run on
# (change 'key' for other criteria e.g. processor architecture
# use 'kubectl get nodes --show-labels' for full set of criteria )
# affinity:
# nodeAffinity:
# preferredDuringSchedulingIgnoredDuringExecution:
# - weight: 1
# preference:
# matchExpressions:
# - key: kubernetes.io/hostname
# operator: In
# values:
# - pi2
# - pi3
# - pi4