From 093c102a6bf8902a869c7e5336fe40678b7b8a9d Mon Sep 17 00:00:00 2001 From: Nico Date: Sat, 10 May 2025 18:00:34 +1000 Subject: [PATCH] minecraft: use docker image for forge 1.19.2 server nix-minecraft does not support forge and its hard to try and get forge to install --- flake.nix | 2 +- .../games/server/minecraft/forge-1.19.2.nix | 32 +++++++++++++++++++ .../games/server/minecraft/forge-impure.nix | 32 ------------------- 3 files changed, 33 insertions(+), 33 deletions(-) create mode 100644 modules/games/server/minecraft/forge-1.19.2.nix delete mode 100644 modules/games/server/minecraft/forge-impure.nix diff --git a/flake.nix b/flake.nix index 0d55cc4..9805b62 100644 --- a/flake.nix +++ b/flake.nix @@ -70,7 +70,7 @@ nix-minecraft.nixosModules.minecraft-servers { nixpkgs.overlays = [ inputs.nix-minecraft.overlay ]; } ./modules/games/server/minecraft/default.nix - ./modules/games/server/minecraft/forge-impure.nix + ./modules/games/server/minecraft/forge-1.19.2.nix ./modules/users/nico.nix diff --git a/modules/games/server/minecraft/forge-1.19.2.nix b/modules/games/server/minecraft/forge-1.19.2.nix new file mode 100644 index 0000000..0c7f0d9 --- /dev/null +++ b/modules/games/server/minecraft/forge-1.19.2.nix @@ -0,0 +1,32 @@ +{ config, pkgs, ... }: + +{ + virtualisation.oci-containers.containers.forge-1-19-2 = { + user = "minecraft:minecraft"; + image = "docker.io/itzg/minecraft-server"; + volumes = [ "/var/lib/minecraft/forge-1-19-2/:/data" ]; + ports = [ "30004:30004" ]; + environment = { + TYPE = "FORGE"; + VERSION = "1.19.2"; + EULA = "TRUE"; + MEMORY = "4G"; + SERVER_PORT = "30004"; + + + UID = "992"; + GID = "991"; + }; + }; + + services.minecraft-servers.servers.velocity.symlinks."velocity.toml".value = { + servers = { + forge-1-19-2 = "127.0.0.1:30004"; + + # In what order we should try servers when a player logs in or is kicked from a server. + try = [ + "forge-1-19-2" + ]; + }; + }; +} diff --git a/modules/games/server/minecraft/forge-impure.nix b/modules/games/server/minecraft/forge-impure.nix deleted file mode 100644 index 51124a5..0000000 --- a/modules/games/server/minecraft/forge-impure.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ config, pkgs, ... }: - -let - forge-impure = pkgs.vanillaServers.vanilla.overrideAttrs (oldAttrs: { - src = ./forge.jar; - }); -in -{ - services.minecraft-servers.servers.forge-impure = { - enable = true; - package = forge-impure; - autoStart = true; - jvmOpts = "-Xms4096M -Xmx4096M"; - - serverProperties = { - server-port = 30004; - difficulty = 3; - max-players = 30; - }; - }; - - services.minecraft-servers.servers.velocity.symlinks."velocity.toml".value = { - servers = { - fabric-modless = "127.0.0.1:30004"; - - # In what order we should try servers when a player logs in or is kicked from a server. - try = [ - "forge-impure" - ]; - }; - }; -}