From 522fe477498cfbec3e8137edb016f8dcb762355e Mon Sep 17 00:00:00 2001 From: matt1432 Date: Tue, 30 Jan 2024 21:04:11 -0500 Subject: [PATCH] feat(mc): add server zip downloader --- .../curseforge-server-downloader/default.nix | 14 ++++++++ devices/servivi/modules/minecraft.nix | 32 +++++++++++++------ flake.lock | 17 ++++++++++ flake.nix | 7 ++++ 4 files changed, 61 insertions(+), 9 deletions(-) create mode 100644 common/pkgs/curseforge-server-downloader/default.nix diff --git a/common/pkgs/curseforge-server-downloader/default.nix b/common/pkgs/curseforge-server-downloader/default.nix new file mode 100644 index 0000000..18690f4 --- /dev/null +++ b/common/pkgs/curseforge-server-downloader/default.nix @@ -0,0 +1,14 @@ +{ + buildGo120Module, + curseforge-server-downloader-src, + lib, + ... +}: +buildGo120Module { + pname = "curseforge-server-downloader"; + version = "unstable"; + + src = curseforge-server-downloader-src; + doCheck = false; + vendorHash = null; +} diff --git a/devices/servivi/modules/minecraft.nix b/devices/servivi/modules/minecraft.nix index fc03eb9..3515f89 100644 --- a/devices/servivi/modules/minecraft.nix +++ b/devices/servivi/modules/minecraft.nix @@ -8,6 +8,10 @@ in { imports = [nms.nixosModules.default]; + environment.systemPackages = [ + config.customPkgs.curseforge-server-downloader + ]; + services = { borgbackup.configs.mc = { paths = ["/var/lib/minecraft"]; @@ -18,7 +22,6 @@ in { user = mainUser; instances = let - jre8 = pkgs.temurin-bin-8; jre17 = pkgs.temurin-bin-17; defaults = { @@ -67,26 +70,37 @@ in { // defaults; }; - # Modded https://www.curseforge.com/minecraft/modpacks/nomi-ceu - nomi = { + # Modded https://www.curseforge.com/minecraft/modpacks/steam-punk + # curseforge-server-downloader --pack 643605 --version latest + steampunk = { enable = false; - jvmMaxAllocation = "10G"; + jvmMaxAllocation = "12G"; jvmInitialAllocation = "2G"; - jvmPackage = jre8; + jvmPackage = jre17; jvmOpts = ""; serverConfig = { server-port = 25569; - motd = "Nomi CEu Server, v1.7-alpha-2"; + motd = ""; extra-options = { + allow-nether = true; + enable-command-block = true; + enable-status = true; + entity-broadcast-range-percentage = 100; + force-gamemode = false; + function-permission-level = 2; + gamemode = "survival"; + generate-structures = true; + max-build-height = 256; max-players = 8; - difficulty = 1; - view-distance = 10; + difficulty = "normal"; + view-distance = 12; simulation-distance = 10; - level-type = "lostcities"; + sync-chunk-writes = true; + use-native-transport = true; }; } // defaults; diff --git a/flake.lock b/flake.lock index 19694bb..2146c69 100644 --- a/flake.lock +++ b/flake.lock @@ -100,6 +100,22 @@ "type": "github" } }, + "curseforge-server-downloader-src": { + "flake": false, + "locked": { + "lastModified": 1691252534, + "narHash": "sha256-GqFj2Rms6BxzWdQTQ9imXKSlov3sDk8Cwwl9lwjIGzM=", + "owner": "Malpiszonekx4", + "repo": "curseforge-server-downloader", + "rev": "91901b2efc64ac54c9135d537e4118e2ac0bd286", + "type": "github" + }, + "original": { + "owner": "Malpiszonekx4", + "repo": "curseforge-server-downloader", + "type": "github" + } + }, "eisa-scripts-src": { "flake": false, "locked": { @@ -1176,6 +1192,7 @@ "bat-theme-src": "bat-theme-src", "caddy-plugins": "caddy-plugins", "coc-stylelintplus": "coc-stylelintplus", + "curseforge-server-downloader-src": "curseforge-server-downloader-src", "eisa-scripts-src": "eisa-scripts-src", "git-theme-src": "git-theme-src", "gpu-screen-recorder-src": "gpu-screen-recorder-src", diff --git a/flake.nix b/flake.nix index 067b6f8..b169906 100644 --- a/flake.nix +++ b/flake.nix @@ -278,6 +278,13 @@ flake = false; }; + curseforge-server-downloader-src = { + type = "github"; + owner = "Malpiszonekx4"; + repo = "curseforge-server-downloader"; + flake = false; + }; + ## Overlays plymouth-src = { type = "gitlab";