personal/q3k/minecraft: add worldedit+worldguard
This assumes that a new Docker image will be built at tag spigot-1.15.2-r3.
Change-Id: Ia230510d2400faa3631bde99a96366d72e69a4bd
diff --git a/personal/q3k/minecraft/Dockerfile-vanilla b/personal/q3k/minecraft/Dockerfile-vanilla
index 9ba7478..61852a5 100644
--- a/personal/q3k/minecraft/Dockerfile-vanilla
+++ b/personal/q3k/minecraft/Dockerfile-vanilla
@@ -37,6 +37,9 @@
rm -rf build ;\
mv spigot*.jar spigot.jar
+ADD worldedit-bukkit-7.1.0.jar .
+ADD worldguard-bukkit-7.0.2.jar .
+
RUN set -e -x ;\
VERSION=1.15.2 ;\
mkdir -p /home/minecraft/.minecraft/versions/${VERSION}/ ;\
diff --git a/personal/q3k/minecraft/LICENSE.thirdparty.txt b/personal/q3k/minecraft/LICENSE.thirdparty.txt
new file mode 100644
index 0000000..4444b16
--- /dev/null
+++ b/personal/q3k/minecraft/LICENSE.thirdparty.txt
@@ -0,0 +1,7 @@
+WorldEdit and WorldGuard are licensed under the terms of the GNU Lesser General
+Public License v3.
+
+Full license texts are available at:
+
+* WorldEdit: https://github.com/EngineHub/WorldEdit/blob/7.1.0/LICENSE.txt
+* WorldGuard: https://github.com/EngineHub/WorldGuard/blob/7.0.2/LICENSE.txt
diff --git a/personal/q3k/minecraft/prod.jsonnet b/personal/q3k/minecraft/prod.jsonnet
index e03bb52..973dfd9 100644
--- a/personal/q3k/minecraft/prod.jsonnet
+++ b/personal/q3k/minecraft/prod.jsonnet
@@ -1,9 +1,10 @@
local kube = import "../../../kube/kube.libsonnet";
+local defaultWorldguardConfig = import "worldguard.libsonnet";
{
local minecraft = self,
versions:: {
- "spigot-1.15.2": "registry.k0.hswaw.net/q3k/minecraft:spigot-1.15.2-r2",
+ "spigot-1.15.2": "registry.k0.hswaw.net/q3k/minecraft:spigot-1.15.2-r3",
},
server(name, version):: {
local server = self,
@@ -65,11 +66,17 @@
"enable-rcon": false,
},
+ worldguardConfig:: defaultWorldguardConfig,
+
startsh:: |||
#!/usr/bin/env bash
cd /home/minecraft/world
cp /home/minecraft/config/server.properties .
cp /home/minecraft/spigot.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
bash /home/minecraft/config/overviewer.sh &
@@ -93,6 +100,8 @@
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),
+ local worldguardConfig = std.manifestYamlDoc(server.worldguardConfig),
+ "worldguard_config.yaml": std.base64(worldguardConfig),
"start.sh": std.base64(server.startsh),
"overviewer.sh": std.base64(server.overviewersh),
},
@@ -184,6 +193,11 @@
motd: "wypierdol z polski kropka pe el",
"enforce-whitelist": true,
},
+ worldguardConfig+: {
+ mobs+: {
+ "block-creeper-block-damage": true,
+ },
+ },
},
},
}
diff --git a/personal/q3k/minecraft/worldedit-bukkit-7.1.0.jar b/personal/q3k/minecraft/worldedit-bukkit-7.1.0.jar
new file mode 100644
index 0000000..2f3a1e1
--- /dev/null
+++ b/personal/q3k/minecraft/worldedit-bukkit-7.1.0.jar
Binary files differ
diff --git a/personal/q3k/minecraft/worldguard-bukkit-7.0.2.jar b/personal/q3k/minecraft/worldguard-bukkit-7.0.2.jar
new file mode 100644
index 0000000..1bcc848
--- /dev/null
+++ b/personal/q3k/minecraft/worldguard-bukkit-7.0.2.jar
Binary files differ
diff --git a/personal/q3k/minecraft/worldguard.libsonnet b/personal/q3k/minecraft/worldguard.libsonnet
new file mode 100644
index 0000000..0755fcb
--- /dev/null
+++ b/personal/q3k/minecraft/worldguard.libsonnet
@@ -0,0 +1,190 @@
+{
+ regions: {
+ "uuid-migration": {
+ "perform-on-next-start": false,
+ "keep-names-that-lack-uuids": true,
+ },
+ "use-creature-spawn-event": true,
+ sql: {
+ use: false,
+ dsn: "jdbc:mysql://localhost/worldguard",
+ username: "worldguard",
+ password: "worldguard",
+ "table-prefix": "",
+ },
+ "use-paper-entity-origin": false,
+ enable: true,
+ "invincibility-removes-mobs": false,
+ "cancel-chat-without-recipients": true,
+ "nether-portal-protection": false,
+ "fake-player-build-override": true,
+ "explosion-flags-block-entity-damage": true,
+ "high-frequency-flags": false,
+ "protect-against-liquid-flow": false,
+ wand: "minecraft:leather",
+ "max-claim-volume": 30000,
+ "claim-only-inside-existing-regions": false,
+ "location-flags-only-inside-regions": false,
+ "max-region-count-per-player": {
+ default: 7,
+ },
+ },
+ "auto-invincible": false,
+ "auto-invincible-group": false,
+ "auto-no-drowning-group": false,
+ "use-player-move-event": true,
+ "use-player-teleports": true,
+ "use-particle-effects": true,
+ security: {
+ "deop-everyone-on-join": false,
+ "block-in-game-op-command": false,
+ "host-keys-allow-forge-clients": false,
+ },
+ "host-keys": {},
+ "summary-on-start": true,
+ "op-permissions": true,
+ "build-permission-nodes": {
+ enable: false,
+ "deny-message": "&eSorry, but you are not permitted to do that here.",
+ },
+ "event-handling": {
+ "block-entity-spawns-with-untraceable-cause": false,
+ "interaction-whitelist": [],
+ "emit-block-use-at-feet": [],
+ "ignore-hopper-item-move-events": false,
+ },
+ protection: {
+ "item-durability": true,
+ "remove-infinite-stacks": false,
+ "disable-xp-orb-drops": false,
+ "disable-obsidian-generators": false,
+ },
+ gameplay: {
+ "block-potions": [],
+ "block-potions-overly-reliably": false,
+ "disable-conduit-effects": false,
+ },
+ simulation: {
+ sponge: {
+ enable: false,
+ radius: 3,
+ redstone: false,
+ },
+ },
+ default: {
+ "pumpkin-scuba": false,
+ "disable-health-regain": false,
+ },
+ physics: {
+ "no-physics-gravel": false,
+ "no-physics-sand": false,
+ "vine-like-rope-ladders": false,
+ "allow-portal-anywhere": false,
+ "disable-water-damage-blocks": [],
+ },
+ ignition: {
+ "block-tnt": false,
+ "block-tnt-block-damage": false,
+ "block-lighter": false,
+ },
+ fire: {
+ "disable-lava-fire-spread": false,
+ "disable-all-fire-spread": false,
+ "disable-fire-spread-blocks": [],
+ "lava-spread-blocks": [],
+ },
+ mobs: {
+ "block-creeper-explosions": false,
+ "block-creeper-block-damage": false,
+ "block-wither-explosions": false,
+ "block-wither-block-damage": false,
+ "block-wither-skull-explosions": false,
+ "block-wither-skull-block-damage": false,
+ "block-enderdragon-block-damage": false,
+ "block-enderdragon-portal-creation": false,
+ "block-fireball-explosions": false,
+ "block-fireball-block-damage": false,
+ "anti-wolf-dumbness": false,
+ "allow-tamed-spawns": true,
+ "disable-enderman-griefing": false,
+ "disable-snowman-trails": false,
+ "block-painting-destroy": false,
+ "block-item-frame-destroy": false,
+ "block-armor-stand-destroy": false,
+ "block-plugin-spawning": true,
+ "block-above-ground-slimes": false,
+ "block-other-explosions": false,
+ "block-zombie-door-destruction": false,
+ "block-creature-spawn": [],
+ },
+ "player-damage": {
+ "disable-fall-damage": false,
+ "disable-lava-damage": false,
+ "disable-fire-damage": false,
+ "disable-lightning-damage": false,
+ "disable-drowning-damage": false,
+ "disable-suffocation-damage": false,
+ "disable-contact-damage": false,
+ "teleport-on-suffocation": false,
+ "disable-void-damage": false,
+ "teleport-on-void-falling": false,
+ "reset-fall-on-void-teleport": false,
+ "disable-explosion-damage": false,
+ "disable-mob-damage": false,
+ "disable-death-messages": false,
+ },
+ "chest-protection": {
+ enable: false,
+ "disable-off-check": false,
+ },
+ crops: {
+ "disable-creature-trampling": false,
+ "disable-player-trampling": false,
+ },
+ weather: {
+ "prevent-lightning-strike-blocks": [],
+ "disable-lightning-strike-fire": false,
+ "disable-thunderstorm": false,
+ "disable-weather": false,
+ "disable-pig-zombification": false,
+ "disable-villager-witchification": false,
+ "disable-powered-creepers": false,
+ "always-raining": false,
+ "always-thundering": false,
+ },
+ dynamics: {
+ "disable-mushroom-spread": false,
+ "disable-ice-melting": false,
+ "disable-snow-melting": false,
+ "disable-snow-formation": false,
+ "disable-ice-formation": false,
+ "disable-leaf-decay": false,
+ "disable-grass-growth": false,
+ "disable-mycelium-spread": false,
+ "disable-vine-growth": false,
+ "disable-crop-growth": false,
+ "disable-soil-dehydration": false,
+ "snow-fall-blocks": [],
+ },
+ blacklist: {
+ "use-as-whitelist": false,
+ logging: {
+ console: {
+ enable: true,
+ },
+ database: {
+ enable: false,
+ dsn: "jdbc:mysql://localhost:3306/minecraft",
+ user: "root",
+ pass: "",
+ table: "blacklist_events",
+ },
+ file: {
+ enable: false,
+ path: "worldguard/logs/%Y-%m-%d.log",
+ "open-files": 10,
+ },
+ },
+ },
+ "custom-metrics-charts": true,
+}