diff --git a/modules/caddy.nix b/modules/caddy.nix index cecf99f..0644c28 100644 --- a/modules/caddy.nix +++ b/modules/caddy.nix @@ -12,8 +12,8 @@ in # minecraft.compsigh.club → redirect to git repo "${domain}" = { extraConfig = '' - redir /terms ${gitRepo}/src/branch/main/terms.txt permanent - redir /privacy ${gitRepo}/src/branch/main/privacy.txt permanent + redir /terms ${gitRepo}/raw/branch/main/terms.txt permanent + redir /privacy ${gitRepo}/raw/branch/main/privacy.txt permanent redir ${gitRepo} permanent ''; }; diff --git a/modules/discord.nix b/modules/discord.nix index 6ed876b..1589075 100644 --- a/modules/discord.nix +++ b/modules/discord.nix @@ -26,9 +26,12 @@ in "botToken": "$TOKEN", "channelId": "1482486447591391285", "consoleLogChannelId": "1482487413153464330", + "updateNotificationChannelId": "", + "serverStatusVoiceChannelId": "", + "playerCountVoiceChannelId": "", "useWebhook": true, "updateChannelTopic": true, - "channelTopicUpdateInterval": 300000, + "channelUpdateInterval": 300000, "allowedMentions": ["users", "roles"], "broadcastPlayerCommandExecution": false, "announceServerStartStop": true, diff --git a/modules/minecraft.nix b/modules/minecraft.nix index fec2d4b..e850f1e 100644 --- a/modules/minecraft.nix +++ b/modules/minecraft.nix @@ -9,10 +9,7 @@ let "krypton" "ferrite-core" "c2me-fabric" - "noisium" - "linearly-optimized" - "vmp-fabric" - "ksyxis" + "vmp-fabric:alpha" "scalablelux" "lmd" "structure-layout-optimizer" @@ -30,30 +27,30 @@ let "amplified-nether" "nullscape" - # Worldgen — structures (YUNG's suite) - "yungs-api" - "yungs-better-dungeons" - "yungs-better-strongholds" - "yungs-better-ocean-monuments" - "yungs-better-mineshafts" - "yungs-better-desert-temples" - "yungs-better-jungle-temples" - "yungs-better-witch-huts" - "yungs-better-nether-fortresses" - "yungs-better-end-island" - "yungs-extras" - "yungs-bridges" + # Worldgen — structures (Dungeons and Taverns suite) + "dungeons-and-taverns" + "dungeons-and-taverns-stronghold-overhaul" + "dungeons-and-taverns-ocean-monument-overhaul" + "dungeons-and-taverns-desert-temple-overhaul" + "dungeons-and-taverns-jungle-temple-overhaul" + "dungeons-and-taverns-swamp-hut-overhaul" + "dungeons-and-taverns-nether-fortress-overhaul" + "dungeons-and-taverns-woodland-mansion-overhaul" + "dungeons-and-taverns-pillager-outpost-overhaul" + "hopo-better-mineshaft" + "explorify" + "structory" # Client mod compatibility (optional on client side) "appleskin" "simple-voice-chat" # QoL - "oneplayersleep" + "better-serversleep" "netherportalfix" "blossomlib" "blossomtpa" - "double-shulker-shell-drops" + "shulker-drops-two" "afkplus" # Moderation @@ -90,7 +87,7 @@ in virtualisation.oci-containers.backend = "docker"; virtualisation.oci-containers.containers.minecraft = { - image = "itzg/minecraft-server:java21"; + image = "itzg/minecraft-server:java25"; ports = [ "25565:25565" # Minecraft "24454:24454/udp" # Simple Voice Chat @@ -99,22 +96,27 @@ in "${mcDataDir}:/data" ]; environment = { + TZ = "America/Los_Angeles"; EULA = "TRUE"; TYPE = "FABRIC"; - VERSION = "1.21.4"; + VERSION = "1.21.11"; MEMORY = "2560M"; MAX_PLAYERS = "10"; DIFFICULTY = "hard"; PVP = "FALSE"; VIEW_DISTANCE = "10"; SIMULATION_DISTANCE = "10"; + SPAWN_PROTECTION = "0"; ENABLE_WHITELIST = "TRUE"; ENFORCE_WHITELIST = "TRUE"; WHITELIST = "jetpham"; OPS = "jetpham"; MOTD = "meet cool people \\u00A7e\\u0026\\u0026\\u00A7r build cool things"; OVERRIDE_ICON = "TRUE"; + REMOVE_OLD_MODS = "TRUE"; + MODRINTH_DOWNLOAD_DEPENDENCIES = "required"; MODRINTH_PROJECTS = modrinthMods; + SYNC_CHUNK_WRITES = "false"; JVM_XX_OPTS = jvmFlags; }; environmentFiles = [ "/run/minecraft-seed.env" ]; @@ -147,6 +149,12 @@ in printf 'SEED=%s\n' "$SEED" > /run/minecraft-seed.env chmod 600 /run/minecraft-seed.env + # One-time world reset for 1.21.11 — remove this block after confirming the new world works + if [ ! -f ${mcDataDir}/.world-reset-1.21.11 ]; then + rm -rf ${mcDataDir}/world + touch ${mcDataDir}/.world-reset-1.21.11 + fi + # Server icon cp ${../server-icon.png} ${mcDataDir}/server-icon.png diff --git a/secrets/discord-bot-token.age b/secrets/discord-bot-token.age index eeb495c..56fbd11 100644 --- a/secrets/discord-bot-token.age +++ b/secrets/discord-bot-token.age @@ -1,7 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 nN+I3Q YmpwUlCii+a5JxJ7nYNJHRH/dqgabVrvRG4HAcDv80M -3G5MM3gJ0RBZQXz3WUetiXSSGEl2y+E1ZgyJ7Xp+bzg --> ssh-ed25519 Ziw7aw 566UvTX3i6TgwVI+R+4xZMKDk2taODC4eSazhwnXpWs -DlWnZMQuO2UQsji3NqB9hJf3a0U+3m8jrp6YOwyNVdc ---- x6e0Gj888fGWJ99j/Vr995EwdilrY+kIFCsq5CKNAkQ -)NCpcv51o\imFs( )7@2O_w [E[7ZKx,rI[ndmNc \ No newline at end of file +-> ssh-ed25519 nN+I3Q 7W+Y+0ouVM02UOj7VAR2RYFXuiDV1XPxtAa8EYB77UI +JqCjlkmXqmQ03G7IM9ltbCQNPgZAhYyFnOgLgI+48Cc +-> ssh-ed25519 Ziw7aw ci52v0YuHrK0Z+bqYNzHHBX3SAdtWMD4hlZWwABp8lo +ILqKNzBcpgXZJGG9TfEKjfeDgXGeNnC4/ujFpZixcGY +--- vFCubYhDaqk8DNBcZ6o2tpcIMd37krblDZmUy8738so + f2Y%gg(E:o8XUn4fIɞ@J랿}CB+-p r_즔z5{(jGk[5 \ No newline at end of file