Compare commits
2 commits
5fdbe34741
...
9720ff348c
Author | SHA1 | Date | |
---|---|---|---|
9720ff348c | |||
cbef8398ab |
2 changed files with 114 additions and 74 deletions
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
tcp = {
|
tcp = {
|
||||||
minecraft = 13914;
|
minecraft = 13914;
|
||||||
|
minecraft-fabric-prod-bluemap = 8100;
|
||||||
};
|
};
|
||||||
adguardhome-dns = 53;
|
adguardhome-dns = 53;
|
||||||
adguardhome-http = 3001;
|
adguardhome-http = 3001;
|
||||||
|
|
|
@ -27,7 +27,8 @@ in {
|
||||||
environment.systemPackages = with pkgs; [ mcrcon ];
|
environment.systemPackages = with pkgs; [ mcrcon ];
|
||||||
networking.firewall.allowedTCPPorts = with ports.tcp; [ minecraft ];
|
networking.firewall.allowedTCPPorts = with ports.tcp; [ minecraft ];
|
||||||
nixpkgs.overlays = [ inputs.nix-minecraft.overlay ];
|
nixpkgs.overlays = [ inputs.nix-minecraft.overlay ];
|
||||||
services.minecraft-servers = {
|
services = {
|
||||||
|
minecraft-servers = {
|
||||||
enable = true;
|
enable = true;
|
||||||
eula = true;
|
eula = true;
|
||||||
dataDir = "/mnt/ssd-01/minecraft";
|
dataDir = "/mnt/ssd-01/minecraft";
|
||||||
|
@ -97,6 +98,12 @@ in {
|
||||||
sha512 =
|
sha512 =
|
||||||
"cd991acee93c074912f2934b5a9c3967be2f1e9157ca5a7254fd3fce8d280c5aa9a3ab06d3ee19f06c5111181853cf12048d000bf8b9f722c902c080fe258a97";
|
"cd991acee93c074912f2934b5a9c3967be2f1e9157ca5a7254fd3fce8d280c5aa9a3ab06d3ee19f06c5111181853cf12048d000bf8b9f722c902c080fe258a97";
|
||||||
};
|
};
|
||||||
|
"mods/BlueMap.jar" = pkgs.fetchurl {
|
||||||
|
url =
|
||||||
|
"https://cdn.modrinth.com/data/swbUV1cr/versions/fB6f4XRA/bluemap-5.9-fabric.jar";
|
||||||
|
sha512 =
|
||||||
|
"a76a2b1019efe35175f8df91f69ec7ec58e26f148ea9bba4f1eb9bb1b16ffa6f395b76c1362f452d33f94f0f1045403da3b04f25bc6d40feadbc58f64d34f1e4";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
files = {
|
files = {
|
||||||
"ops.json".value = playersToOps (with players; [ engullejamones ]);
|
"ops.json".value = playersToOps (with players; [ engullejamones ]);
|
||||||
|
@ -108,6 +115,39 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
nginx.virtualHosts."minecraft.rcia.dev" = {
|
||||||
|
extraConfig = "gzip_static always;";
|
||||||
|
locations = {
|
||||||
|
"/".return = "307 scheme://$host/fabric_prod/";
|
||||||
|
"/fabric_prod".return = "308 $scheme://$host/fabric_prod/";
|
||||||
|
"/fabric_prod/" = {
|
||||||
|
alias =
|
||||||
|
"${config.services.minecraft-servers.dataDir}/fabric_prod/bluemap/web/";
|
||||||
|
extraConfig = "error_page 404 = @no-content;";
|
||||||
|
};
|
||||||
|
"~* ^/fabric_prod/(maps/[^/\\s]*/live/.*)" = {
|
||||||
|
proxyPass = "http://127.0.0.1:${
|
||||||
|
toString ports.tcp.minecraft-fabric-prod-bluemap
|
||||||
|
}/$1";
|
||||||
|
extraConfig = ''
|
||||||
|
error_page 502 504 = @server-offline;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"@no-content" = {
|
||||||
|
return = "204";
|
||||||
|
extraConfig = "internal;";
|
||||||
|
};
|
||||||
|
"@server-offline" = {
|
||||||
|
root =
|
||||||
|
"${config.services.minecraft-servers.dataDir}/fabric_prod/bluemap/web";
|
||||||
|
tryFiles = "$uri =410";
|
||||||
|
extraConfig = "internal;";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = "rcia.dev";
|
||||||
|
};
|
||||||
|
};
|
||||||
sops = {
|
sops = {
|
||||||
secrets."minecraft_rcon".owner = "minecraft";
|
secrets."minecraft_rcon".owner = "minecraft";
|
||||||
templates."minecraft.env" = {
|
templates."minecraft.env" = {
|
||||||
|
@ -117,5 +157,5 @@ in {
|
||||||
owner = "minecraft";
|
owner = "minecraft";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
users.groups.minecraft.members = [ "avery" ];
|
users.groups.minecraft.members = [ "avery" "nginx" ];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue