minecraft: add CTM server
Change-Id: Ic4590bbab4cdbefe0db05f1026363b11f7973794
diff --git a/personal/q3k/minecraft/Dockerfile-paper b/personal/q3k/minecraft/Dockerfile-paper
index d9b6c67..9f4db69 100644
--- a/personal/q3k/minecraft/Dockerfile-paper
+++ b/personal/q3k/minecraft/Dockerfile-paper
@@ -4,7 +4,7 @@
export DEBIAN_FRONTEND=noninteractive ;\
apt-get -y update ;\
apt-get -y upgrade ;\
- apt-get -y install git openjdk-8-jre-headless wget
+ apt-get -y install git openjdk-8-jre-headless wget unzip
RUN set -e -x ;\
export DEBIAN_FRONTEND=noninteractive ;\
@@ -26,7 +26,7 @@
USER minecraft
WORKDIR /home/minecraft
-ARG VERSION=1.16.4
+ARG VERSION=1.16.5
RUN set -e -x ;\
wget --quiet https://papermc.io/api/v1/paper/${VERSION}/latest/download ;\
diff --git a/personal/q3k/minecraft/prod.jsonnet b/personal/q3k/minecraft/prod.jsonnet
index 6c4bd4b..dfadbc3 100644
--- a/personal/q3k/minecraft/prod.jsonnet
+++ b/personal/q3k/minecraft/prod.jsonnet
@@ -7,12 +7,15 @@
"spigot-1.16.1": "registry.k0.hswaw.net/q3k/minecraft:spigot-1.16.1-r2",
"paper-1.16.1": "registry.k0.hswaw.net/q3k/minecraft:paper-1.16.1-r2",
"paper-1.16.4": "registry.k0.hswaw.net/q3k/minecraft:paper-1.16.4-r1",
+ "paper-1.16.5": "registry.k0.hswaw.net/q3k/minecraft:paper-1.16.5-r2",
},
server(name, version):: {
local server = self,
name:: name,
version:: version,
image:: minecraft.versions[server.version],
+ worldedit:: true,
+ overviewer:: true,
metadata:: {
namespace: "minecraft",
@@ -70,20 +73,25 @@
worldguardConfig:: defaultWorldguardConfig,
+ startSteps:: [
+ ] + (if server.worldedit then [
+ "mkdir -p plugins/WorldGuard",
+ "cp /home/minecraft/worldedit-*.jar plugins",
+ "cp /home/minecraft/worldguard-*.jar plugins",
+ "cp /home/minecraft/config/worldguard_config.yaml plugins/WorldGuard/config.yml",
+ ] else []),
+
startsh:: |||
#!/usr/bin/env bash
cd /home/minecraft/world
cp /home/minecraft/config/server.properties .
cp /home/minecraft/server.jar .
- mkdir -p plugins/WorldGuard
- cp /home/minecraft/worldedit-*.jar plugins
- cp /home/minecraft/worldguard-*.jar plugins
- cp /home/minecraft/config/worldguard_config.yaml plugins/WorldGuard/config.yml
echo "eula=true" > eula.txt
+ %s
bash /home/minecraft/config/overviewer.sh &
exec java -Xmx4G -Xms4G -jar server.jar
- |||,
+ ||| % [std.join("\n", server.startSteps)],
overviewersh:: |||
#!/usr/bin/env bash
@@ -102,11 +110,13 @@
data: {
local properties = std.join("\n", ["%s=%s" % [k, std.toString(server.properties[k])] for k in std.objectFields(server.properties)]),
"server.properties": std.base64(properties),
+ "start.sh": std.base64(server.startsh),
+ } + (if server.worldedit then {
local worldguardConfig = std.manifestYamlDoc(server.worldguardConfig),
"worldguard_config.yaml": std.base64(worldguardConfig),
- "start.sh": std.base64(server.startsh),
+ } else {} )+ (if server.overviewer then {
"overviewer.sh": std.base64(server.overviewersh),
- },
+ } else {}),
},
worldVolume: kube.PersistentVolumeClaim(server.componentName("world")) {
@@ -156,6 +166,17 @@
},
},
},
+ bridge: kube.Container("bridge") {
+ image: "registry.k0.hswaw.net/q3k/minecraft-hscloud-bridge:20200518c",
+ command: [
+ "/personal/q3k/minecraft/plugin/hscloud/bridge/bridge",
+ "-plugin", "127.0.0.1:2137",
+ ],
+ ports_: {
+ bridge: { containerPort: 8081 },
+ },
+ },
+ } + (if server.overviewer then {
overviewer: kube.Container("overviewer") {
image: "halverneus/static-file-server:v1.8.0",
env_: {
@@ -168,17 +189,7 @@
web: { containerPort: 8080 },
},
},
- bridge: kube.Container("bridge") {
- image: "registry.k0.hswaw.net/q3k/minecraft-hscloud-bridge:20200518c",
- command: [
- "/personal/q3k/minecraft/plugin/hscloud/bridge/bridge",
- "-plugin", "127.0.0.1:2137",
- ],
- ports_: {
- bridge: { containerPort: 8081 },
- },
- },
- },
+ } else {}),
},
},
},
@@ -203,16 +214,34 @@
ns: kube.Namespace("minecraft"),
q3k: {
- survival: minecraft.server("q3k-survival", "paper-1.16.4") {
+ "nova-arcana": minecraft.server("q3k-nova-arcana", "paper-1.16.5") {
+ overviewer: false,
+ worldedit: false,
properties+: {
- motd: "wypierdol z polski kropka pe el",
- "enforce-whitelist": true,
+ motd: "Nova Arcana V1.1.4",
+ //"enforce-whitelist": true,
+ "enable-rcon": "true",
+ "rcon.password": "dupa.8",
},
- worldguardConfig+: {
- mobs+: {
- "block-creeper-block-damage": true,
- },
- },
+ startSteps+: [
+ |||
+ if [ ! -e world/map-installed.txt ]; then
+ set -e -x
+ mkdir -p world
+ cd world
+ rm -rf *
+ wget https://object.ceph-waw3.hswaw.net/q3k-personal/f1a73ad0518a2629a5bed072a7de4e4534a3c89705d6cea2f203a05cccd01634.zip -O map.zip
+ unzip -o map.zip
+ mv Untold*/* .
+ rm -rf Untold*
+ rm map.zip
+ touch map-installed.txt
+ ls -la
+ cd ..
+ set +e +x
+ fi
+ |||
+ ],
},
},
}