diff --git a/hosts/hainich/configuration.nix b/hosts/hainich/configuration.nix index 5cc94e0..deed922 100644 --- a/hosts/hainich/configuration.nix +++ b/hosts/hainich/configuration.nix @@ -19,6 +19,7 @@ ./services/syncthing.nix ./services/monitoring.nix ./services/workadventure.nix + ./services/minecraft.nix ]; boot.loader.grub.enable = true; boot.loader.grub.version = 2; diff --git a/hosts/hainich/services/minecraft.nix b/hosts/hainich/services/minecraft.nix new file mode 100644 index 0000000..0c20943 --- /dev/null +++ b/hosts/hainich/services/minecraft.nix @@ -0,0 +1,49 @@ +{pkgs, lib, config, ...}: +{ + nixpkgs.config.allowUnfree = true; + networking.firewall.allowedTCPPorts = [ 25565 ]; + services.minecraft-server = { + enable = true; + eula = true; + declarative = true; + jvmOpts = "-Xmx1536M -Xms512M"; + + serverProperties = { + server-port = "25565"; + gamemode = "survival"; + motd = "NixCraft4future"; + max-players = "20"; + whitelist = true; + force-gamemode = true; + difficulty = "easy"; + allow-flight= false; + pvp = false; + enable-rcon = false; + }; + + whitelist = { + AaronPirt = "bbb8a319-a0fe-4b7a-bdcc-d7941a7fcfa8"; + ACY2003 = "e6caedfb-95de-44b6-bea7-962e765f2b74"; + Hexchen = "137ad280-856c-4f27-b258-b263d4e6863b"; + laXDer = "98043845-8bac-4d38-a479-d116eea90356"; + Naigh = "96dd9a77-2a65-415b-8d48-1f00e146dc42"; + Schweby = "a5680c67-1a85-4a9b-81b6-a3a0b7b52467"; + wolkenzebratopf = "34f47e5b-3f81-4639-ab6b-97be5e358054"; + yan_min = "a2d1b6f2-1b58-4433-be67-f9872c4332f1"; + Zauberberg = "4c59c4c3-f16b-4b7e-b707-9a176958e7cf"; + }; + + package = let + version = "16.5-558"; + url = "https://papermc.io/api/v2/projects/paper/versions/1.16.5/builds/558/downloads/paper-1.16.5-558.jar"; + sha256 = "24d00dbb162ff5d9aeda0d4969c8050c88ae1e9386c855a98a0f68017e4508e8"; + in (pkgs.minecraft-server.overrideAttrs (old: rec { + name = "minecraft-server-${version}"; + inherit version; + + src = pkgs.fetchurl { + inherit url sha256; + }; + })); + }; +}