Files
infrastructure/servers/legion/k8s/mudcraft/configmap-luckperms-bootstrap.yaml
Will Anderson 33bf2c7819 feat(mudcraft): add full base permissions to mortal tier
Mortals now have voice chat, EssentialsX basics (msg, home, spawn,
warp), and friends system permissions by default.
2026-03-29 21:59:48 -05:00

114 lines
5.3 KiB
YAML

---
apiVersion: v1
kind: ConfigMap
metadata:
name: mudcraft-luckperms-bootstrap
namespace: mudcraft
data:
bootstrap.sh: |
#!/bin/sh
# LuckPerms permission bootstrap — runs on every pod start via postStart hook.
# All commands are idempotent: re-running is safe, existing state is preserved.
#
# Tier hierarchy:
#
# Mortals (players): mortal → hero → metamortal
# Immortals (staff): angel → god
#
# Players inherit upward within their branch only.
# Staff tiers are assigned manually — never auto-promoted.
set -e
rc() { rcon-cli "$@" || true; }
echo "[bootstrap] Waiting for RCON..."
until rcon-cli help > /dev/null 2>&1; do sleep 3; done
echo "[bootstrap] RCON ready, applying LuckPerms tiers..."
# ── Mortal branch ─────────────────────────────────────────────────────────
rc "lp creategroup mortal"
rc "lp group mortal meta set display-name §7Mortal"
rc "lp group mortal setweight 0"
# Voice chat
rc "lp group mortal permission set voicechat.speak true"
rc "lp group mortal permission set voicechat.listen true"
rc "lp group mortal permission set voicechat.use true"
rc "lp group mortal permission set voicechat.groups true"
# EssentialsX basics
rc "lp group mortal permission set essentials.help true"
rc "lp group mortal permission set essentials.list true"
rc "lp group mortal permission set essentials.msg true"
rc "lp group mortal permission set essentials.reply true"
rc "lp group mortal permission set essentials.me true"
rc "lp group mortal permission set essentials.home true"
rc "lp group mortal permission set essentials.sethome true"
rc "lp group mortal permission set essentials.spawn true"
rc "lp group mortal permission set essentials.warp true"
rc "lp group mortal permission set essentials.ignore true"
rc "lp group mortal permission set essentials.seen true"
# Friends
rc "lp group mortal permission set friends.use true"
rc "lp group mortal permission set friendsystem.use true"
rc "lp creategroup hero"
rc "lp group hero meta set display-name §eHero"
rc "lp group hero setweight 10"
rc "lp group hero parent add mortal"
rc "lp group hero permission set essentials.tpa true"
rc "lp group hero permission set essentials.tpahere true"
rc "lp creategroup metamortal"
rc "lp group metamortal meta set display-name §aMetamortal"
rc "lp group metamortal setweight 20"
rc "lp group metamortal parent add hero"
rc "lp group metamortal permission set allow.flight true"
rc "lp group metamortal permission set minecraft.command.fly true"
rc "lp group metamortal permission set minecraft.command.tp true"
rc "lp group metamortal permission set minecraft.command.teleport true"
# ── Immortal branch ───────────────────────────────────────────────────────
rc "lp creategroup angel"
rc "lp group angel meta set display-name §bAngel"
rc "lp group angel setweight 30"
rc "lp group angel permission set minecraft.command.kick true"
rc "lp group angel permission set minecraft.command.tp true"
rc "lp group angel permission set minecraft.command.teleport true"
rc "lp group angel permission set minecraft.command.tphere true"
rc "lp group angel permission set minecraft.command.gamemode true"
rc "lp group angel permission set essentials.invsee true"
rc "lp group angel permission set essentials.seen true"
rc "lp group angel permission set essentials.msg true"
rc "lp group angel permission set essentials.tpa true"
rc "lp group angel permission set essentials.tpahere true"
rc "lp group angel permission set allow.flight true"
rc "lp group angel permission set minecraft.command.fly true"
rc "lp group angel permission set voicechat.mute true"
rc "lp creategroup god"
rc "lp group god meta set display-name §4§lGod"
rc "lp group god setweight 40"
rc "lp group god parent add angel"
rc "lp group god permission set minecraft.command.ban true"
rc "lp group god permission set minecraft.command.ban-ip true"
rc "lp group god permission set minecraft.command.unban true"
rc "lp group god permission set minecraft.command.whitelist true"
rc "lp group god permission set minecraft.command.give true"
rc "lp group god permission set minecraft.command.time true"
rc "lp group god permission set minecraft.command.weather true"
rc "lp group god permission set minecraft.command.summon true"
rc "lp group god permission set minecraft.command.fill true"
rc "lp group god permission set minecraft.command.setblock true"
rc "lp group god permission set minecraft.command.stop false"
rc "lp group god permission set luckperms.* true"
rc "lp group god permission set worldedit.* true"
rc "lp group god permission set worldguard.* true"
# ── Default group → mortal ────────────────────────────────────────────────
rc "lp group default parent add mortal"
echo "[bootstrap] LuckPerms tiers applied."