Add minecraft server config

This commit is contained in:
ktkk 2025-10-20 17:55:16 +00:00
parent f16f696036
commit de6e1cb168
4 changed files with 59 additions and 0 deletions

View file

@ -8,6 +8,8 @@
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
}; };
outputs = outputs =

View file

@ -12,6 +12,7 @@
../../modules/forgejo ../../modules/forgejo
../../modules/nginx ../../modules/nginx
../../modules/grafana ../../modules/grafana
../../modules/minecraft
]; ];
boot.loader = { boot.loader = {

View file

@ -0,0 +1,55 @@
{ pkgs, config, inputs, ... }:
{
imports = [
inputs.nix-minecraft.nixosModules.minecraft-servers
];
nixpkgs.overlays = [
inputs.nix-minecraft.overlay
];
services.nginx.virtualHosts."minecraft.katkak.dev" = {
forceSSL = true;
enableACME = true;
locations."/vanilla" =
let
serverProperties = config.services.minecraft-servers.servers.vanilla-server.serverProperties;
in
{
proxyPass = "http://${toString serverProperties.server-ip}:${serverProperties.server-port}";
};
proxyWebsockets = true;
extraConfig = ''
proxy_pass_header Authorization;
'';
};
services.minecraft-servers = {
enable = true;
eula = true;
servers = {
vanilla-server = {
enable = true;
package = pkgs.vanillaServers.vanilla-1_21_10;
serverProperties = {
motd = "KatKak's Vanilla Server";
white-list = true;
max-players = 5;
enable-command-block = true;
server-ip = "127.0.0.1";
server-port = 43000;
};
jvmOpts = "-Xms4096M -Xmx4096M -XX:+UseG1GC";
};
};
};
}

View file

@ -4,6 +4,7 @@
networking.firewall.allowedTCPPorts = [ networking.firewall.allowedTCPPorts = [
80 80
443 443
25565
]; ];
services.nginx = { services.nginx = {