aboutsummaryrefslogtreecommitdiff
path: root/modules/services/nixos/minecraft.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/services/nixos/minecraft.nix')
-rw-r--r--modules/services/nixos/minecraft.nix28
1 files changed, 28 insertions, 0 deletions
diff --git a/modules/services/nixos/minecraft.nix b/modules/services/nixos/minecraft.nix
new file mode 100644
index 0000000..ed3ee1a
--- /dev/null
+++ b/modules/services/nixos/minecraft.nix
@@ -0,0 +1,28 @@
+{
+ lib,
+ config,
+ ...
+}: let
+ cfg = config.collinux.services.minecraft;
+in
+ lib.mkIf cfg.enable {
+ networking.firewall.allowedUDPPorts = lib.optional (cfg.listenAddr == "0.0.0.0") cfg.port;
+
+ virtualisation.oci-containers.containers."Minecraft" = {
+ environment = {
+ EULA = "TRUE";
+ EMIT_SERVER_TELEMETRY = "true";
+
+ SERVER_NAME = "YServer";
+ TZ = config.time.timeZone;
+ VERSION = "1.21.131.1";
+ CONTENT_LOG_FILE_ENABLED = "false";
+
+ ALLOW_CHEATS = "false";
+ DIFFICULTY = "1";
+ };
+ image = "itzg/minecraft-bedrock-server";
+ ports = ["${cfg.listenAddr}:${toString cfg.port}:19132/udp"];
+ volumes = ["/var/lib/minecraft/:/data"];
+ };
+ }