refactor(hosts/taygeta/minecraft): parametize better

This commit is contained in:
Gabriel Fontes
2025-05-29 10:20:48 +02:00
parent 5e0e69de55
commit 355d2215f8
4 changed files with 40 additions and 15 deletions
@@ -16,6 +16,7 @@ in {
jvmOpts = "start";
whitelist = import ../../whitelist.nix;
serverProperties = {
server-ip = "127.0.0.1";
server-port = 25575;
online-mode = false;
level-type = "biomesoplenty";
@@ -31,14 +32,18 @@ in {
files = {
"lazymc.toml".value = {
config.version = pkgs.lazymc.version;
public.address = "127.0.0.1:${toString cfg.serverProperties.server-port}";
public.address = "${cfg.serverProperties.server-ip}:${toString cfg.serverProperties.server-port}";
server = {
address = "127.0.0.1:${toString (cfg.serverProperties.server-port + 10000)}";
address = "127.0.0.1:${toString (cfg.serverProperties.server-port + 1)}";
command = "${lib.getExe forgeServer} ${(import ../../aikar-flags.nix) "8G"}";
directory = ".";
probe_on_start = true;
forge = true;
};
rcon = {
enabled = true;
port = cfg.serverProperties.server-port + 2;
};
join.methods = ["kick"];
join.kick = {
starting = "Iniciando servidor... Aguarde alguns minutos.";
@@ -1,10 +1,21 @@
{pkgs, ...}: {
{pkgs, config, ...}: let
cfg = config.services.minecraft-servers.servers.limbo;
in {
services.minecraft-servers.servers.limbo = {
enable = true;
serverProperties = {
server-ip = "127.0.0.1";
server-port = 25560;
};
package = pkgs.callPackage ./nano-limbo-server.nix {};
jvmOpts = "";
files."settings.yml".value = {
bind.port = 25560;
bind = {
ip = cfg.serverProperties.server-ip;
port = cfg.serverProperties.server-port;
};
maxPlayers = -1;
ping = {
description = "Limbo";
@@ -4,6 +4,7 @@
...
}: let
servers = config.services.minecraft-servers.servers;
cfg = servers.proxy;
proxyFlags = memory: "-Xms${memory} -Xmx${memory} -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15";
in {
imports = [
@@ -15,8 +16,8 @@ in {
];
networking.firewall = {
allowedTCPPorts = [25565];
allowedUDPPorts = [25565];
allowedTCPPorts = [cfg.serverProperties.server-port];
allowedUDPPorts = [cfg.serverProperties.server-port];
};
services.minecraft-servers.servers.proxy = {
@@ -28,20 +29,28 @@ in {
echo 'velocity reload' > /run/minecraft/proxy.stdin
'';
serverProperties = {
server-ip = "0.0.0.0";
server-port = 25565;
online-mode = true;
motd = "Server do Mr. GELOS";
};
package = pkgs.inputs.nix-minecraft.velocity-server; # Latest build
jvmOpts = proxyFlags "1G";
files = {
"velocity.toml".value = {
inherit (cfg.serverProperties) motd online-mode;
config-version = "2.5";
bind = "0.0.0.0:25565";
motd = "Server do Mr. GELOS";
bind = "${cfg.serverProperties.server-ip}:${toString cfg.serverProperties.server-port}";
player-info-forwarding-mode = "legacy";
online-mode = true;
servers = {
limbo = "localhost:${toString servers.limbo.files."settings.yml".value.bind.port}";
auth = "localhost:${toString servers.limbo.files."settings.yml".value.bind.port}";
create-ab = "localhost:${toString servers.create-ab.serverProperties.server-port}";
servers = let
mkIp = server: "${server.serverProperties.server-ip}:${toString server.serverProperties.server-port}";
in {
limbo = mkIp servers.limbo;
auth = mkIp servers.limbo;
create-ab = mkIp servers.create-ab;
try = ["limbo"];
};
forced-hosts = {
@@ -50,7 +59,7 @@ in {
};
query = {
enabled = true;
port = 25565;
port = cfg.serverProperties.server-port;
};
advanced = {
login-ratelimite = 500;
@@ -32,7 +32,7 @@ in {
host = "localhost";
max-life-time = 600000;
password = "@DATABASE_PASSWORD@";
port = 3306;
port = config.services.mysql.port;
user = "minecraft";
};
debug = false;