From af644be32b279a0499b428e0df7e0c8becd48f9f Mon Sep 17 00:00:00 2001 From: Avery Date: Fri, 27 Jun 2025 08:47:49 +0000 Subject: [PATCH] Change Minecraft server motd --- .../services/minecraft/default.nix | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/hosts/greatyamada/services/minecraft/default.nix b/hosts/greatyamada/services/minecraft/default.nix index b865213..70bca74 100644 --- a/hosts/greatyamada/services/minecraft/default.nix +++ b/hosts/greatyamada/services/minecraft/default.nix @@ -1,8 +1,21 @@ { config, pkgs, inputs, ... }: +{ config, lib, pkgs, inputs, ... }: let serverIcon = ./server-icon.png; players = import ./players.nix; ports = import ../_port-definitions.nix; + packageNameToHumanString = packageName: + (let + getSections = packageName: + builtins.match + "^minecraft-server-([0-9a-zA-Z.]*)-([a-zA-Z-]*)-([0-9a-zA-Z.]*)$" + packageName; + sections = (getSections packageName); + getSection = idx: + if sections == null then "Unknown" else builtins.elemAt sections idx; + in "Minecraft Server ${getSection 0} with ${ + lib.strings.toSentenceCase (getSection 1) + } ${getSection 2}"); playersToOps = players: map (player: { name = player.name; @@ -37,8 +50,10 @@ in { enforce-whitelist = true; hide-online-players = true; max-players = 10; - motd = - "NixOS Server (${config.services.minecraft-servers.servers.fabric_prod.package.name})"; + motd = "${ + packageNameToHumanString + config.services.minecraft-servers.servers.fabric_prod.package.name + } on ${config.networking.hostName}"; online-mode = true; pause-when-empty-seconds = 60; pvp = true;