From 133db71db0e2335f255ea9d7f535c4f797ace179 Mon Sep 17 00:00:00 2001 From: oqyude Date: Tue, 11 Aug 2026 22:40:12 +0300 Subject: [PATCH] minecraft-server setup --- modules/server/default.nix | 1 + modules/server/minecraft.nix | 44 ++++++++++++++++++++++++++++++++++++ modules/server/navidrome.nix | 2 +- modules/server/nginx.nix | 4 ++++ 4 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 modules/server/minecraft.nix diff --git a/modules/server/default.nix b/modules/server/default.nix index 12e6817..e38ee1d 100644 --- a/modules/server/default.nix +++ b/modules/server/default.nix @@ -16,6 +16,7 @@ ./glances.nix ./homebox.nix ./immich.nix + ./minecraft.nix ./miniflux.nix ./navidrome.nix ./nextcloud.nix diff --git a/modules/server/minecraft.nix b/modules/server/minecraft.nix new file mode 100644 index 0000000..3c8ac5e --- /dev/null +++ b/modules/server/minecraft.nix @@ -0,0 +1,44 @@ +{ + config, + inputs, + pkgs, + xlib, + ... +}: +let + storage = xlib.helpers.mkServiceStorage { + name = "minecraft"; + user = "minecraft"; + group = "minecraft"; + mode = "770"; + }; +in +{ + imports = [ inputs.nix-minecraft.nixosModules.minecraft-servers ]; + nixpkgs.overlays = [ inputs.nix-minecraft.overlay ]; + services.minecraft-servers = { + enable = true; + eula = true; + openFirewall = true; + dataDir = "/var/lib/minecraft"; + servers = { + vanilla = { + enable = true; + package = pkgs.minecraftServers.vanilla-26_2; + jvmOpts = "-Xmx2G -Xms1G"; + enableReload = true; + serverProperties = { + online-mode = false; + difficulty = 3; + gamemode = 1; + max-players = 5; + server-port = 25565; + motd = "ZeroQ сервак майна епта!"; + enable-rcon = true; + "rcon.password" = "zeroq"; + }; + }; + }; + }; + systemd = storage.systemd; +} diff --git a/modules/server/navidrome.nix b/modules/server/navidrome.nix index f68e9f3..03aae9a 100644 --- a/modules/server/navidrome.nix +++ b/modules/server/navidrome.nix @@ -7,8 +7,8 @@ ... }: let - pointDir = "/var/lib/services/navidrome-point"; libraryDir = "${xlib.dirs.server-home}/Music"; + pointDir = "/var/lib/services/navidrome-point"; in { services = { diff --git a/modules/server/nginx.nix b/modules/server/nginx.nix index ffa9d99..61902ae 100644 --- a/modules/server/nginx.nix +++ b/modules/server/nginx.nix @@ -73,6 +73,10 @@ let port = 8083; body = true; } + { + domain = "mc.zeroq.su"; + port = 25565; + } { domain = "nix-cache.zeroq.su"; port = 5000;