From 7576c1636e00f588952d3c738679725d682be44c Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 14 Mar 2026 14:28:27 -0700 Subject: [PATCH] feat: add sead and icon and mod changes --- agenix.nix | 6 ++++++ modules/caddy.nix | 2 ++ modules/discord.nix | 6 ++++++ modules/minecraft.nix | 28 +++++++++++++++++++++++----- secrets/minecraft-seed.age | Bin 0 -> 367 bytes secrets/secrets.nix | 1 + server-icon.png | Bin 0 -> 601 bytes 7 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 secrets/minecraft-seed.age create mode 100644 server-icon.png diff --git a/agenix.nix b/agenix.nix index c0aba61..0c70114 100644 --- a/agenix.nix +++ b/agenix.nix @@ -38,4 +38,10 @@ group = "grafana"; mode = "0400"; }; + + age.secrets.minecraft-seed = { + file = ./secrets/minecraft-seed.age; + owner = "root"; + mode = "0400"; + }; } diff --git a/modules/caddy.nix b/modules/caddy.nix index 5d240dc..6c26b2c 100644 --- a/modules/caddy.nix +++ b/modules/caddy.nix @@ -12,6 +12,8 @@ in # minecraft.compsigh.club → redirect to git repo "${domain}" = { extraConfig = '' + redir /terms ${gitRepo}/blob/main/terms.txt permanent + redir /privacy ${gitRepo}/blob/main/privacy.txt permanent redir ${gitRepo} permanent ''; }; diff --git a/modules/discord.nix b/modules/discord.nix index 59ffa8d..6ed876b 100644 --- a/modules/discord.nix +++ b/modules/discord.nix @@ -27,11 +27,17 @@ in "channelId": "1482486447591391285", "consoleLogChannelId": "1482487413153464330", "useWebhook": true, + "updateChannelTopic": true, + "channelTopicUpdateInterval": 300000, + "allowedMentions": ["users", "roles"], + "broadcastPlayerCommandExecution": false, "announceServerStartStop": true, "announcePlayerJoinLeave": true, "announceDeathMessages": true, "announceAdvancements": true, "broadcastChatMessages": true, + "notifyUpdates": false, + "mentionAdminsForUpdates": false, "adminsIds": [ "1008533670426050704", "839601350865584158", diff --git a/modules/minecraft.nix b/modules/minecraft.nix index 034d2b9..6770ba6 100644 --- a/modules/minecraft.nix +++ b/modules/minecraft.nix @@ -51,10 +51,12 @@ let # QoL "oneplayersleep" "netherportalfix" + "blossomlib" + "blossomtpa" + "double-shulker-shell-drops" + "afkplus" # Moderation - "luckperms" - "banhammer" "ledger" "styled-chat" @@ -103,15 +105,19 @@ in MEMORY = "2560M"; MAX_PLAYERS = "10"; DIFFICULTY = "hard"; + PVP = "FALSE"; VIEW_DISTANCE = "10"; SIMULATION_DISTANCE = "10"; ENABLE_WHITELIST = "TRUE"; ENFORCE_WHITELIST = "TRUE"; WHITELIST = "jetpham"; - MOTD = "meet cool people \\u0026\\u0026 build cool things"; + OPS = "jetpham"; + MOTD = "meet cool people \\u00A7e\\u0026\\u0026\\u00A7r build cool things"; + OVERRIDE_ICON = "TRUE"; MODRINTH_PROJECTS = modrinthMods; JVM_XX_OPTS = jvmFlags; }; + environmentFiles = [ "/run/minecraft-seed.env" ]; extraOptions = [ "--memory=3g" "--cpus=2" @@ -126,14 +132,26 @@ in "d ${mcDataDir} 0755 root root -" ]; - # Copy Chunky config (concurrency: 1 for background generation) + # Write seed env file and copy mod configs before container starts systemd.services.minecraft-mod-configs = { - description = "Copy mod configs into Minecraft data volume"; + description = "Set up mod configs and seed for Minecraft container"; wantedBy = [ "multi-user.target" ]; before = [ "docker-minecraft.service" ]; + after = [ "agenix.service" ]; serviceConfig = { Type = "oneshot"; ExecStart = pkgs.writeShellScript "setup-mod-configs" '' + set -euo pipefail + + # Write seed from agenix secret + SEED=$(cat ${config.age.secrets.minecraft-seed.path}) + printf 'SEED=%s\n' "$SEED" > /run/minecraft-seed.env + chmod 600 /run/minecraft-seed.env + + # Server icon + cp ${../server-icon.png} ${mcDataDir}/server-icon.png + + # Mod configs mkdir -p ${mcDataDir}/plugins/Chunky cp ${../configs/chunky.yml} ${mcDataDir}/plugins/Chunky/config.yml diff --git a/secrets/minecraft-seed.age b/secrets/minecraft-seed.age new file mode 100644 index 0000000000000000000000000000000000000000..450536e87bc17db0eea0b9908846eab2a6c50cab GIT binary patch literal 367 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCT)@XjbHb5ux9EDfk~ zN(u`1PcI2gjqoY0@-j^ebdNB1PP8lt^)(7gDRVOOElAHaDCaWvD9?5`3@LUliYzFK zbSh7^Oiwn>F}1Wz&2qJ{aEkPCPEI!oa!&C!_e8fXDzn@?v0TA1qQoyJrz||tEhNRm zGuvC=upIV#x5%s(tOD3Ytl$I&7w)Ze%$)3UTQJvT!?!^k+& zRo^&A+te?^BErWgBBjDLvCzyr)R9Y9S689HusAB&I78b}KgGEyrK&8X$RgFZJ?582CcdY*$(zM#;!E@s!kN$VNONs9{PMp&CPLa2J(b)=yJ^Wt-=56TP0|29- BhL`{V literal 0 HcmV?d00001 diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 699f013..6047b84 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -9,4 +9,5 @@ in "b2-application-key.age".publicKeys = [ server admin ]; "grafana-admin-password.age".publicKeys = [ server admin ]; "grafana-secret-key.age".publicKeys = [ server admin ]; + "minecraft-seed.age".publicKeys = [ server admin ]; } diff --git a/server-icon.png b/server-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a6e7d5035a68fa3f06a1cb4e702b206ed2e055 GIT binary patch literal 601 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4rT@hhPm4t-!L#RC?tCX`7$t6sWC7#v@kII zVqjosc)`F>YQVtoDuIE)Y6b&?c)^@qfi?^b41obYA+Bt!tf3~X_j?&@d|A#mGOf;L zF7aTw-^1vj&Z;WTYNEjEqQyEli8kMmT*&6 zJ2ln}2bP%$%>V!YXUQ(Tz`(%3nB?v5B2}9H#E5}`fwRCPvY3H^TNs2H8D`CqU|?Wi zFY)wsWq-xYC&nszr8M9)0|SFRdP{kVo554k%5t!u7RtZ+seSepaHj`Br`X)xFj*R09}u% zm60JtkM>$2aRvs4GoCJvArXh)PV?kzHV|Mrx$ph&|Ms)8I;Y97Ym4j21&JT-S$UXa z>s^!juAYQDi=HcTsy*Oeu3Hzbzbk?5mPPxX<+G}835PCV)J@>btYwY5zM=7v0W-(0 zw(YD}@7`~0m-OAxzGp?^s