feat: move to discord-mc-cat

This commit is contained in:
Jet Pham 2026-03-14 14:20:15 -07:00
parent 9009c2e2af
commit f135eeaf73
No known key found for this signature in database
2 changed files with 36 additions and 19 deletions

View file

@ -5,31 +5,45 @@ let
in in
{ {
systemd.services.minecraft-discord-config = { systemd.services.minecraft-discord-config = {
description = "Inject Discord bot token into Discord4Fabric config"; description = "Inject Discord bot token into Discord-MC-Chat config";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
before = [ "docker-minecraft.service" ]; before = [ "docker-minecraft.service" ];
after = [ "agenix.service" ]; after = [ "agenix.service" ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
ExecStart = pkgs.writeShellScript "setup-discord4fabric" '' ExecStart = pkgs.writeShellScript "setup-discord-mc-chat" ''
CONFIG_DIR="${mcDataDir}/config/discord4fabric" set -euo pipefail
mkdir -p "$CONFIG_DIR"
CONFIG_FILE="${mcDataDir}/config/discord-mc-chat.json"
mkdir -p "${mcDataDir}/config"
TOKEN=$(cat ${config.age.secrets.discord-bot-token.path}) TOKEN=$(cat ${config.age.secrets.discord-bot-token.path})
cat > "$CONFIG_DIR/config.json" <<EOF # Admin Discord IDs: jet, z, edward
cat > "$CONFIG_FILE" <<EOF
{ {
"generic": {
"botToken": "$TOKEN", "botToken": "$TOKEN",
"guildId": "849685154543960085", "channelId": "1482486447591391285",
"channelId": "1482269524571979899", "consoleLogChannelId": "1482487413153464330",
"chatMessageFormat": "**%player%** > %message%", "useWebhook": true,
"joinFormat": "%player% joined the server", "announceServerStartStop": true,
"leaveFormat": "%player% left the server", "announcePlayerJoinLeave": true,
"deathFormat": "%message%", "announceDeathMessages": true,
"advancementFormat": "%player% has made the advancement **%advancement%**", "announceAdvancements": true,
"discordToMinecraftFormat": "[Discord] <%user%> %message%" "broadcastChatMessages": true,
"adminsIds": [
"1008533670426050704",
"839601350865584158",
"373272898368176129"
]
},
"multiServer": {
"enable": false
}
} }
EOF EOF
chmod 600 "$CONFIG_FILE"
''; '';
}; };
}; };

View file

@ -59,7 +59,7 @@ let
"styled-chat" "styled-chat"
# Discord bridge # Discord bridge
"discord4fabric" "discord-mc-chat"
# Utilities # Utilities
"chunky" "chunky"
@ -88,7 +88,7 @@ in
virtualisation.oci-containers.backend = "docker"; virtualisation.oci-containers.backend = "docker";
virtualisation.oci-containers.containers.minecraft = { virtualisation.oci-containers.containers.minecraft = {
image = "itzg/minecraft-server:latest"; image = "itzg/minecraft-server:java21";
ports = [ ports = [
"25565:25565" # Minecraft "25565:25565" # Minecraft
"24454:24454/udp" # Simple Voice Chat "24454:24454/udp" # Simple Voice Chat
@ -100,15 +100,15 @@ in
EULA = "TRUE"; EULA = "TRUE";
TYPE = "FABRIC"; TYPE = "FABRIC";
VERSION = "1.21.4"; VERSION = "1.21.4";
MEMORY = "2G"; MEMORY = "2560M";
MAX_PLAYERS = "10"; MAX_PLAYERS = "10";
DIFFICULTY = "hard"; DIFFICULTY = "hard";
VIEW_DISTANCE = "10"; VIEW_DISTANCE = "10";
SIMULATION_DISTANCE = "10"; SIMULATION_DISTANCE = "10";
ENABLE_WHITELIST = "TRUE"; ENABLE_WHITELIST = "TRUE";
ENFORCE_WHITELIST = "TRUE"; ENFORCE_WHITELIST = "TRUE";
WHITELIST = "player1,player2"; # TODO: add your players WHITELIST = "jetpham";
MOTD = "compsigh Minecraft"; # TODO: customize MOTD = "meet cool people \\u0026\\u0026 build cool things";
MODRINTH_PROJECTS = modrinthMods; MODRINTH_PROJECTS = modrinthMods;
JVM_XX_OPTS = jvmFlags; JVM_XX_OPTS = jvmFlags;
}; };
@ -136,6 +136,9 @@ in
ExecStart = pkgs.writeShellScript "setup-mod-configs" '' ExecStart = pkgs.writeShellScript "setup-mod-configs" ''
mkdir -p ${mcDataDir}/plugins/Chunky mkdir -p ${mcDataDir}/plugins/Chunky
cp ${../configs/chunky.yml} ${mcDataDir}/plugins/Chunky/config.yml cp ${../configs/chunky.yml} ${mcDataDir}/plugins/Chunky/config.yml
mkdir -p ${mcDataDir}/config
cp ${../configs/anti-xray.toml} ${mcDataDir}/config/anti-xray.toml
''; '';
}; };
}; };