44 lines
1.3 KiB
Nix
44 lines
1.3 KiB
Nix
{ config, pkgs, ... }:
|
|
{
|
|
nixpkgs.overlays = [
|
|
# Fetch papermc v1.21 from unstable branch of nixpkgs
|
|
(
|
|
final: prev:
|
|
let
|
|
pinnedPkgs = import (builtins.fetchTarball {
|
|
url = "https://github.com/NixOS/nixpkgs/archive/03a94c776f261b78b95de0971a94dea0199b4cd8.tar.gz";
|
|
sha256 = "0vngf4g468qd5fqch85nzyvn7bpa6p2i6rdmzc6ws2653x868w3g";
|
|
}) { inherit (pkgs) system; };
|
|
in
|
|
{
|
|
inherit (pinnedPkgs) papermc papermcServers;
|
|
}
|
|
)
|
|
];
|
|
services.minecraft-server = {
|
|
enable = true;
|
|
package = pkgs.papermcServers.papermc-1_21;
|
|
eula = true;
|
|
openFirewall = true;
|
|
declarative = true;
|
|
jvmOpts = "-Xmx4G -Xms4G";
|
|
whitelist = {
|
|
"pixelifytica" = "b1848d60-4ddd-4fa4-a328-fb269910b6ae";
|
|
"HomeInTheClouds" = "d49f0aee-f217-477b-9516-9d5906f7fc87";
|
|
};
|
|
serverProperties = {
|
|
server-port = 25565;
|
|
difficulty = "easy";
|
|
gamemode = "survival";
|
|
force-gamemode = true;
|
|
max-players = 10;
|
|
# level-seed = 238902389203;
|
|
motd = "NixOS Minecraft server!";
|
|
white-list = true;
|
|
};
|
|
};
|
|
|
|
# Caddy forwarding
|
|
services.caddy.virtualHosts."craft.xenia.me.uk".extraConfig = "reverse_proxy http://localhost:${toString config.services.minecraft-server.serverProperties.server-port}";
|
|
}
|