forked from hswaw/hscloud
parent
61e93026a9
commit
4afed98e4e
|
@ -4,7 +4,7 @@ RUN set -e -x ;\
|
||||||
export DEBIAN_FRONTEND=noninteractive ;\
|
export DEBIAN_FRONTEND=noninteractive ;\
|
||||||
apt-get -y update ;\
|
apt-get -y update ;\
|
||||||
apt-get -y upgrade ;\
|
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 ;\
|
RUN set -e -x ;\
|
||||||
export DEBIAN_FRONTEND=noninteractive ;\
|
export DEBIAN_FRONTEND=noninteractive ;\
|
||||||
|
@ -26,7 +26,7 @@ RUN set -e -x ;\
|
||||||
|
|
||||||
USER minecraft
|
USER minecraft
|
||||||
WORKDIR /home/minecraft
|
WORKDIR /home/minecraft
|
||||||
ARG VERSION=1.16.4
|
ARG VERSION=1.16.5
|
||||||
|
|
||||||
RUN set -e -x ;\
|
RUN set -e -x ;\
|
||||||
wget --quiet https://papermc.io/api/v1/paper/${VERSION}/latest/download ;\
|
wget --quiet https://papermc.io/api/v1/paper/${VERSION}/latest/download ;\
|
||||||
|
|
|
@ -7,12 +7,15 @@ local defaultWorldguardConfig = import "worldguard.libsonnet";
|
||||||
"spigot-1.16.1": "registry.k0.hswaw.net/q3k/minecraft:spigot-1.16.1-r2",
|
"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.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.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):: {
|
server(name, version):: {
|
||||||
local server = self,
|
local server = self,
|
||||||
name:: name,
|
name:: name,
|
||||||
version:: version,
|
version:: version,
|
||||||
image:: minecraft.versions[server.version],
|
image:: minecraft.versions[server.version],
|
||||||
|
worldedit:: true,
|
||||||
|
overviewer:: true,
|
||||||
|
|
||||||
metadata:: {
|
metadata:: {
|
||||||
namespace: "minecraft",
|
namespace: "minecraft",
|
||||||
|
@ -70,20 +73,25 @@ local defaultWorldguardConfig = import "worldguard.libsonnet";
|
||||||
|
|
||||||
worldguardConfig:: defaultWorldguardConfig,
|
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:: |||
|
startsh:: |||
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
cd /home/minecraft/world
|
cd /home/minecraft/world
|
||||||
cp /home/minecraft/config/server.properties .
|
cp /home/minecraft/config/server.properties .
|
||||||
cp /home/minecraft/server.jar .
|
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
|
echo "eula=true" > eula.txt
|
||||||
|
%s
|
||||||
|
|
||||||
bash /home/minecraft/config/overviewer.sh &
|
bash /home/minecraft/config/overviewer.sh &
|
||||||
exec java -Xmx4G -Xms4G -jar server.jar
|
exec java -Xmx4G -Xms4G -jar server.jar
|
||||||
|||,
|
||| % [std.join("\n", server.startSteps)],
|
||||||
|
|
||||||
overviewersh:: |||
|
overviewersh:: |||
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
@ -102,11 +110,13 @@ local defaultWorldguardConfig = import "worldguard.libsonnet";
|
||||||
data: {
|
data: {
|
||||||
local properties = std.join("\n", ["%s=%s" % [k, std.toString(server.properties[k])] for k in std.objectFields(server.properties)]),
|
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),
|
"server.properties": std.base64(properties),
|
||||||
|
"start.sh": std.base64(server.startsh),
|
||||||
|
} + (if server.worldedit then {
|
||||||
local worldguardConfig = std.manifestYamlDoc(server.worldguardConfig),
|
local worldguardConfig = std.manifestYamlDoc(server.worldguardConfig),
|
||||||
"worldguard_config.yaml": std.base64(worldguardConfig),
|
"worldguard_config.yaml": std.base64(worldguardConfig),
|
||||||
"start.sh": std.base64(server.startsh),
|
} else {} )+ (if server.overviewer then {
|
||||||
"overviewer.sh": std.base64(server.overviewersh),
|
"overviewer.sh": std.base64(server.overviewersh),
|
||||||
},
|
} else {}),
|
||||||
},
|
},
|
||||||
|
|
||||||
worldVolume: kube.PersistentVolumeClaim(server.componentName("world")) {
|
worldVolume: kube.PersistentVolumeClaim(server.componentName("world")) {
|
||||||
|
@ -156,6 +166,17 @@ local defaultWorldguardConfig = import "worldguard.libsonnet";
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
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") {
|
overviewer: kube.Container("overviewer") {
|
||||||
image: "halverneus/static-file-server:v1.8.0",
|
image: "halverneus/static-file-server:v1.8.0",
|
||||||
env_: {
|
env_: {
|
||||||
|
@ -168,17 +189,7 @@ local defaultWorldguardConfig = import "worldguard.libsonnet";
|
||||||
web: { containerPort: 8080 },
|
web: { containerPort: 8080 },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
bridge: kube.Container("bridge") {
|
} else {}),
|
||||||
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 },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -203,16 +214,34 @@ local defaultWorldguardConfig = import "worldguard.libsonnet";
|
||||||
ns: kube.Namespace("minecraft"),
|
ns: kube.Namespace("minecraft"),
|
||||||
|
|
||||||
q3k: {
|
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+: {
|
properties+: {
|
||||||
motd: "wypierdol z polski kropka pe el",
|
motd: "Nova Arcana V1.1.4",
|
||||||
"enforce-whitelist": true,
|
//"enforce-whitelist": true,
|
||||||
},
|
"enable-rcon": "true",
|
||||||
worldguardConfig+: {
|
"rcon.password": "dupa.8",
|
||||||
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
|
||||||
|
|||
|
||||||
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue