chore(minecraft): rename new server

This commit is contained in:
arcnmx 2024-09-21 16:27:12 -07:00
parent e1382c7e6d
commit 22c02adb41
9 changed files with 64 additions and 37 deletions

View file

@ -11,10 +11,10 @@
inherit (lib.strings) escapeShellArgs;
inherit (lib.meta) getExe;
inherit (config.lib.minecraft) mkAllowPlayerType writeWhiteList writeOps;
cfg = config.services.minecraft-katsink-server;
cfg = config.services.minecraft-java-server;
in {
options.services.minecraft-katsink-server = with lib.types; {
enable = mkEnableOption "kat-kitchen-sink";
options.services.minecraft-java-server = with lib.types; {
enable = mkEnableOption "minecraft java edition server";
openFirewall = mkOption {
type = bool;
@ -29,7 +29,7 @@ in {
dataDir = mkOption {
type = path;
default = "/var/lib/minecraft-katsink";
default = "/var/lib/minecraft-java";
description = ''
Directory to store Minecraft database and other state/data files.
'';
@ -66,7 +66,7 @@ in {
};
config = let
confService.services.minecraft-katsink-server = {
confService.services.minecraft-java-server = {
serverProperties = mapOptionDefaults {
};
};
@ -81,12 +81,12 @@ in {
groups.${cfg.group} = {};
};
conf.systemd.services.minecraft-katsink-server = let
conf.systemd.services.minecraft-java-server = let
execStartArgs =
map (argsFile: "@${argsFile}") cfg.argsFiles
++ cfg.jvmOpts;
execStop = pkgs.writeShellScriptBin "minecraft-katsink-stop" ''
echo /stop > ${config.systemd.sockets.minecraft-katsink-server.socketConfig.ListenFIFO}
execStop = pkgs.writeShellScriptBin "minecraft-java-stop" ''
echo /stop > ${config.systemd.sockets.minecraft-java-server.socketConfig.ListenFIFO}
# Wait for the PID of the minecraft server to disappear before
# returning, so systemd doesn't attempt to SIGKILL it.
@ -97,8 +97,8 @@ in {
in {
description = "Minecraft Kat Kitchen Server";
wantedBy = ["multi-user.target"];
requires = ["minecraft-katsink-server.socket"];
after = ["network.target" "minecraft-katsink-server.socket"];
requires = ["minecraft-java-server.socket"];
after = ["network.target" "minecraft-java-server.socket"];
restartTriggers = [
cfg.dataDir
@ -120,7 +120,7 @@ in {
Restart = "always";
User = cfg.user;
WorkingDirectory = cfg.dataDir;
RuntimeDirectory = "minecraft-katsink";
RuntimeDirectory = "minecraft-java";
StandardInput = "socket";
StandardOutput = "journal";
@ -149,10 +149,10 @@ in {
UMask = "0077";
};
};
conf.systemd.sockets.minecraft-katsink-server = {
bindsTo = ["minecraft-katsink-server.service"];
conf.systemd.sockets.minecraft-java-server = {
bindsTo = ["minecraft-java-server.service"];
socketConfig = {
ListenFIFO = "/run/minecraft-katsink/stdin";
ListenFIFO = "/run/minecraft-java/stdin";
SocketMode = "0660";
SocketUser = mkOptionDefault cfg.user;
SocketGroup = mkOptionDefault cfg.group;

View file

@ -63,7 +63,7 @@ in {
minecraftServer = [
{
match = {
selector = ''{unit="minecraft-katsink-server.service"}'';
selector = ''{unit="minecraft-java-server.service"}'';
pipeline_name = "minecraft-log4j";
stages = [
{
@ -80,26 +80,34 @@ in {
regex.expression = concatStringsSep " " [
''^\[(?P<time>[0-9:.]+)\]''
''\[(?P<thread>[^\/]+)\/(?P<level>[^\]]+)\]''
''\[(?P<component>[^\/]+)\/((?P<category>[^\]]+)|)\]:''
''(?P<message><(?P<chat_user>[^> ]+)> (?P<chat_message>.*)|.*)$''
''\[(?P<context>[^\/]+)\/((?P<category>[^\]]+)|)\]:''
''(?P<message>(\[DISCORD\] <(?P<chat_user_discord>[^> ]+)>|<(?P<chat_user>[^> ]+)>) (?P<chat_message>.*)|(?s:.*))$''
];
}
{
template = {
source = "time";
template = ''{{ .__journal__realtime_timestamp | date "2006-01-02" }}T{{ .Value }}'';
};
}
{
labels = {
time = null;
thread = null;
level = null;
component = null;
context = null;
category = null;
message = null;
chat_user = null;
chat_user_discord = null;
chat_message = null;
};
}
{
timestamp = {
source = "time";
format = "15:04:05";
format = "2006-01-02T15:04:05";
location = config.time.timeZone;
};
}
];
@ -108,7 +116,7 @@ in {
];
in
mkMerge [
(mkIf config.services.minecraft-katsink-server.enable minecraftServer)
(mkIf config.services.minecraft-java-server.enable minecraftServer)
];
}
(mkIf nginx.enable {

View file

@ -3,9 +3,8 @@
gensokyo-zone,
...
}: let
inherit (gensokyo-zone.lib) mapAlmostOptionDefaults mkAlmostOptionDefault;
inherit (gensokyo-zone.lib) mkAlmostOptionDefault;
inherit (lib.modules) mkIf;
inherit (lib.attrsets) mapAttrs;
in {
config.exports.services.minecraft = {config, ...}: let
mkAssertion = f: nixosConfig: let
@ -15,7 +14,7 @@ in {
in {
displayName = "Minecraft";
nixos = {
serviceAttr = "minecraft-katsink-server";
serviceAttr = "minecraft-java-server";
assertions = mkIf config.enable [
(mkAssertion (nixosConfig: cfg: {
assertion = config.ports.default.port == cfg.port;