From eb0f89aea2f62355083c71cacab60fed54fdca45 Mon Sep 17 00:00:00 2001 From: Gabriel Fontes Date: Sun, 1 Jun 2025 05:52:10 +0200 Subject: [PATCH] fix(taygeta/minecraft): disable proxy and limbo for now --- hosts/taygeta/services/minecraft/default.nix | 2 - .../minecraft/servers/gtnh/default.nix | 13 +- .../minecraft/servers/limbo/default.nix | 50 ------ .../servers/limbo/nano-limbo-server.nix | 26 --- .../minecraft/servers/proxy/default.nix | 69 -------- .../minecraft/servers/proxy/huskchat.nix | 158 ------------------ .../minecraft/servers/proxy/luckperms.nix | 77 --------- .../servers/proxy/messages.properties | 44 ----- .../minecraft/servers/proxy/velocitab.nix | 38 ----- 9 files changed, 10 insertions(+), 467 deletions(-) delete mode 100644 hosts/taygeta/services/minecraft/servers/limbo/default.nix delete mode 100644 hosts/taygeta/services/minecraft/servers/limbo/nano-limbo-server.nix delete mode 100644 hosts/taygeta/services/minecraft/servers/proxy/default.nix delete mode 100644 hosts/taygeta/services/minecraft/servers/proxy/huskchat.nix delete mode 100644 hosts/taygeta/services/minecraft/servers/proxy/luckperms.nix delete mode 100644 hosts/taygeta/services/minecraft/servers/proxy/messages.properties delete mode 100644 hosts/taygeta/services/minecraft/servers/proxy/velocitab.nix diff --git a/hosts/taygeta/services/minecraft/default.nix b/hosts/taygeta/services/minecraft/default.nix index ebf81bb0..af5d5f2f 100644 --- a/hosts/taygeta/services/minecraft/default.nix +++ b/hosts/taygeta/services/minecraft/default.nix @@ -6,8 +6,6 @@ }: { imports = [ inputs.nix-minecraft.nixosModules.minecraft-servers - ./servers/proxy - ./servers/limbo ./servers/gtnh ]; diff --git a/hosts/taygeta/services/minecraft/servers/gtnh/default.nix b/hosts/taygeta/services/minecraft/servers/gtnh/default.nix index f10dff24..6d934023 100644 --- a/hosts/taygeta/services/minecraft/servers/gtnh/default.nix +++ b/hosts/taygeta/services/minecraft/servers/gtnh/default.nix @@ -1,4 +1,11 @@ -{pkgs, ...}: { +{pkgs, config, ...}: let + cfg = config.services.minecraft-servers.servers.gtnh; +in { + networking.firewall = { + allowedTCPPorts = [cfg.serverProperties.server-port]; + allowedUDPPorts = [cfg.serverProperties.server-port]; + }; + services.minecraft-servers.servers.gtnh = rec { enable = true; package = pkgs.callPackage ./gtnh.nix { }; @@ -8,8 +15,8 @@ level-type = "rwg"; difficulty = 3; spawn-protection = 1; - server-port = 5001; - online-mode = false; + server-port = 25565; + online-mode = true; }; files = { config = "${package}/lib/config"; diff --git a/hosts/taygeta/services/minecraft/servers/limbo/default.nix b/hosts/taygeta/services/minecraft/servers/limbo/default.nix deleted file mode 100644 index 38260518..00000000 --- a/hosts/taygeta/services/minecraft/servers/limbo/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{pkgs, config, ...}: let - cfg = config.services.minecraft-servers.servers.limbo; -in { - services.minecraft-servers.servers.limbo = { - enable = true; - serverProperties = { - server-ip = "0.0.0.0"; - server-port = 25560; - }; - - package = pkgs.callPackage ./nano-limbo-server.nix {}; - jvmOpts = ""; - - files."settings.yml".value = { - bind = { - ip = cfg.serverProperties.server-ip; - port = cfg.serverProperties.server-port; - }; - maxPlayers = -1; - ping = { - description = "Limbo"; - version = "1.5"; - }; - dimension = "THE_END"; - playerList = { - enable = false; - username = "NanoLimbo"; - }; - headerAndFooter.enable = false; - gameMode = 3; - brandName.enable = false; - joinMessage.enable = false; - bossBar.enable = false; - title.enable = false; - infoForwarding = { - type = "LEGACY"; - }; - readTimeout = 30000; - debugLevel = 2; - netty = { - useEpoll = true; - threads = { - bossGroup = 1; - workerGroup = 4; - }; - }; - traffic.enable = false; - }; - }; -} diff --git a/hosts/taygeta/services/minecraft/servers/limbo/nano-limbo-server.nix b/hosts/taygeta/services/minecraft/servers/limbo/nano-limbo-server.nix deleted file mode 100644 index 83d17b78..00000000 --- a/hosts/taygeta/services/minecraft/servers/limbo/nano-limbo-server.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - stdenv, - fetchurl, - jre_headless, -}: -stdenv.mkDerivation rec { - pname = "nano-limbo"; - version = "1.8.1"; - src = fetchurl { - url = "https://github.com/Nan1t/NanoLimbo/releases/download/v${version}/NanoLimbo-${version}-all.jar"; - sha256 = "sha256-HA7PFV+TiJYKT9XUuI0117OJNaCskUYXuVVLi4jXVsM="; - }; - preferLocalBuild = true; - dontUnpack = true; - installPhase = '' - mkdir -p $out/bin $out/lib/minecraft - cp -v $src $out/lib/minecraft/server.jar - cat > $out/bin/${pname} << EOF - #!/bin/sh - exec ${jre_headless}/bin/java \$@ -jar $out/lib/minecraft/server.jar nogui - EOF - chmod +x $out/bin/${pname} - ''; - - meta.mainProgram = pname; -} diff --git a/hosts/taygeta/services/minecraft/servers/proxy/default.nix b/hosts/taygeta/services/minecraft/servers/proxy/default.nix deleted file mode 100644 index 0d71eb24..00000000 --- a/hosts/taygeta/services/minecraft/servers/proxy/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ - pkgs, - config, - ... -}: 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 = [ - ./luckperms.nix - ./huskchat.nix - ./velocitab.nix - ]; - - networking.firewall = { - allowedTCPPorts = [cfg.serverProperties.server-port]; - allowedUDPPorts = [cfg.serverProperties.server-port]; - }; - - services.minecraft-servers.servers.proxy = { - enable = true; - - enableReload = true; - stopCommand = "end"; - extraReload = '' - 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 = "${cfg.serverProperties.server-ip}:${toString cfg.serverProperties.server-port}"; - player-info-forwarding-mode = "legacy"; - servers = let - mkIp = server: "localhost:${toString server.serverProperties.server-port}"; - in { - limbo = mkIp servers.limbo; - gtnh = mkIp servers.gtnh; - try = ["limbo"]; - }; - forced-hosts = { - "gtnh.mc.m7.rs" = ["gtnh" "limbo"]; - "limbo.mc.m7.rs" = ["limbo"]; - "lobby.mc.m7.rs" = ["limbo"]; - }; - query = { - enabled = true; - port = cfg.serverProperties.server-port; - }; - advanced = { - login-ratelimite = 500; - }; - }; - "lang/messages.properties" = ./messages.properties; - }; - }; -} diff --git a/hosts/taygeta/services/minecraft/servers/proxy/huskchat.nix b/hosts/taygeta/services/minecraft/servers/proxy/huskchat.nix deleted file mode 100644 index c26ef752..00000000 --- a/hosts/taygeta/services/minecraft/servers/proxy/huskchat.nix +++ /dev/null @@ -1,158 +0,0 @@ -{pkgs, ...}: { - services.minecraft-servers.servers.proxy = { - extraReload = '' - echo 'huskchat reload' > /run/minecraft/proxy.stdin - ''; - symlinks = { - "plugins/HuskChat.jar" = pkgs.fetchurl rec { - pname = "HuskChat"; - version = "2.7.1"; - url = "https://github.com/WiIIiam278/${pname}/releases/download/${version}/${pname}-${version}.jar"; - hash = "sha256-Vg0xu2Z7WeeabK1r5qOw9STcK9kxA5ApshljyXDUy7M="; - }; - "plugins/UnSignedVelocity.jar" = pkgs.fetchurl rec { - pname = "UnSignedVelocity"; - version = "1.4.2"; - url = "https://github.com/4drian3d/${pname}/releases/download/${version}/${pname}-${version}.jar"; - hash = "sha256-i6S05M4mGxnp4tJmR4AKFOBgEQb7d5mTH95nryA7v0A="; - }; - "plugins/VPacketEvents.jar" = pkgs.fetchurl rec { - pname = "VPacketEvents"; - version = "1.1.0"; - url = "https://github.com/4drian3d/${pname}/releases/download/${version}/${pname}-${version}.jar"; - hash = "sha256-qWHR8hn56vf8csUDhuzV8WPBhZtaJE+uLNqupcJvGEI="; - }; - }; - files = { - "plugins/huskchat/config.yml".value = { - config-version = 2; - check_for_updates = false; - default_channel = "default"; - channel_log_format = "[CHAT] [%channel%] %sender%: "; - channel_command_aliases = [ - "/channel" - "/c" - ]; - - channels = { - default = { - format = "&7[%servername%] %fullname%&r&f: "; - broadcast_scope = "GLOBAL"; - log_to_console = true; - shortcut_commands = [ - "/global" - "/g" - "/default" - "/d" - ]; - }; - internal = { - format = "%fullname%&r&0: "; - broadcast_scope = "PASSTHROUGH"; - shortcut_commands = [ - "/i" - "/internal" - ]; - }; - }; - broadcast_command = { - enabled = true; - broadcast_aliases = [ - "/broadcast" - "/alert" - ]; - format = "&4[SERVER]&e "; - log_to_console = true; - log_format = "[SERVER]: "; - }; - message_command = { - enabled = true; - msg_aliases = [ - "/msg" - "/m" - "/tell" - "/whisper" - "/w" - "/pm" - ]; - reply_aliases = [ - "/reply" - "/r" - ]; - log_to_console = true; - log_format = "[MSG] [%sender% -> %receiver%]: "; - group_messages.enabled = false; - format = { - inbound = "�fb9a&%name% &8→ �fb9a&Você&8: &f"; - outbound = "�fb9a&Você &8→ �fb9a&%name%&8: &f"; - }; - }; - social_spy.enabled = false; - local_spy.enabled = false; - chat_filters = { - advertising_filter.enabled = false; - caps_filter.enabled = false; - spam_filter.enabled = false; - profanity_filter.enabled = false; - repeat_filter.enabled = false; - ascii_filter.enabled = false; - }; - message_replacers.emoji_replacer.enabled = false; - discord.enabled = false; - join_and_quit_messages = { - join = { - enabled = true; - format = "&f%name%&e entrou no servidor"; - }; - quit = { - enabled = true; - format = "&f%name%&e saiu do servidor"; - }; - broadcast_scope = "GLOBAL"; - }; - }; - "plugins/huskchat/messages-en-gb.yml".value = { - error_no_permission = "[Erro:](#ff3300) [Você não tem permissão para usar esse comando.](#ff7e5e)"; - error_invalid_syntax = "[Erro:](#ff3300) [Sintaxe inválida. Usagem: %1%](#ff7e5e)"; - channel_switched = "[Você agora está no canal](#00fb9a) [%1%](#eecc55 bold) [!](#00fb9a)"; - error_no_permission_send = "[Erro:](#ff3300) [Você não tem permissão para usar esse chat.](#ff7e5e)"; - error_invalid_channel = "[Erro:](#ff3300) [Especifique um canal válido.](#ff7e5e)"; - error_invalid_channel_command = "[Erro:](#ff3300) [Esse canal é inválido.](#ff7e5e)"; - error_no_channel = "[Erro:](#ff3300) [Você tentou falar em um canal inválido.](#ff7e5e) [Use /channel para trocar.](#ff7e5e show_text=&#ff7e5e&Click here to suggest command suggest_command=/channel )"; - error_player_not_found = "[Erro:](#ff3300) [Jogador não encontrado.](#ff7e5e)"; - error_cannot_message_self = "[Erro:](#ff3300) [Você não pode conversar com si mesmo, esquisito!](#ff7e5e)"; - error_reply_no_messages = "[Erro:](#ff3300) [Não há nenhuma mensagem para responder.](#ff7e5e)"; - error_reply_not_online = "[Erro:](#ff3300) [Essa pessoa não está mais online.](#ff7e5e)"; - error_message_restricted_server = "[Erro:](#ff3300) [Você não pode enviar mensagens enquanto está nesse servidor.](#ff7e5e)"; - error_message_recipient_restricted_server = "[Erro:](#ff3300) [Esse jogador está em um servidor onde mensagens não podem ser lidas.](#ff7e5e)"; - error_channel_restricted_server = "[Erro:](#ff3300) [Você não pode usar o chat %1% enquanto está nesse servidor.](#ff7e5e)"; - social_spy_toggled_on = "[Você agora está espionando chats privados.](#00fb9a)"; - social_spy_toggled_on_color = "[Você agora está espionando chats privados em](#00fb9a) %1%%2%"; - social_spy_toggled_off = "[Você não está mais espionando chats privados.](#00fb9a)"; - local_spy_toggled_on = "[Você agora está espionando mensagens locais de outros servidores.](#00fb9a)"; - local_spy_toggled_on_color = "[Você agora está mais espionando mensagens locais de](#00fb9a) %1%%2%"; - local_spy_toggled_off = "[Você não está mais espionando mensagens locais.](#00fb9a)"; - error_chat_filter_advertising = "[Você não pode fazer propagandas ou enviar links nesse chat.](#ff7e5e)"; - error_chat_filter_profanity = "[Você não pode xingar nesse chat.](#ff7e5e)"; - error_chat_filter_caps = "[Cuidado com o caps.](#ff7e5e)"; - error_chat_filter_spam = "[Opa! Mande mensagens um pouco mais devagarinho.](#ff7e5e)"; - error_chat_filter_ascii = "[Você não pode usar caracteres especiais no chat.](#ff7e5e)"; - error_chat_filter_repeat = "[Você já enviou essa mensagem recentemente!](#ff7e5e)"; - error_in_game_only = "Erro: Esse comando só pode ser usado dentro do jogo."; - error_console_local_scope = "Erro: Enviar mensagens do console para chats locais não é possível."; - error_console_switch_channels = "Erro: Você não pode mudar de canal pelo console."; - error_group_messages_disabled = "[Erro:](#ff3300) [Você não pode enviar mensagens para múltiplas pessoas.](#ff7e5e)"; - error_group_messages_max = "[Erro:](#ff3300) [Seu chat pode ter no máximo %1% pessoas.](#ff7e5e)"; - error_players_not_found = "[Erro:](#ff3300) [Jogadores não encontrados.](#ff7e5e)"; - error_reply_none_online = "[Erro:](#ff3300) [Ninguém no último chat está online.](#ff7e5e)"; - error_last_message_not_group = "[Erro:](#ff3300) [A última mensagem não foi um chat de grupo.](#ff7e5e)"; - error_no_messages_opt_out = "[Erro:](#ff3300) [Você ainda não enviou ou recebeu mensagens em grupo.](#ff7e5e)"; - removed_from_group_message = "[Você saiu do chat em grupo com:](#00fb9a) %1%"; - list_conjunction = "e"; - error_passthrough_shortcut_command_error = "[Erro:](#ff3300) [Enviar mensagens para canais de passthrough usando atalhos não é possível. Troque para o canal usando o comando /channel](#ff7e5e)"; - up_to_date = "HuskChat: Você está na última versão (v%1%)."; - update_available = "HuskChat: Uma nova versão (v%1%) está disponível (atual: v%2%)."; - }; - }; - }; -} diff --git a/hosts/taygeta/services/minecraft/servers/proxy/luckperms.nix b/hosts/taygeta/services/minecraft/servers/proxy/luckperms.nix deleted file mode 100644 index e783a945..00000000 --- a/hosts/taygeta/services/minecraft/servers/proxy/luckperms.nix +++ /dev/null @@ -1,77 +0,0 @@ -{ - pkgs, - lib, - ... -}: { - services.minecraft-servers.servers.proxy = rec { - extraStartPost = '' - echo 'lpv import initial.json.gz' > /run/minecraft/proxy.stdin - ''; - extraReload = extraStartPost; - - symlinks = { - "plugins/LuckPerms.jar" = let - build = "1584"; - in - pkgs.fetchurl rec { - pname = "LuckPerms"; - version = "5.5.0"; - url = "https://download.luckperms.net/${build}/velocity/${pname}-Velocity-${version}.jar"; - hash = "sha256-yMfwT/AtuJV46+QbjNot5HGFeEr1vJsE53Kx3yZPFHg="; - }; - "plugins/luckperms/initial.json.gz".format = pkgs.formats.gzipJson {}; - "plugins/luckperms/initial.json.gz".value = let - mkPermissions = lib.mapAttrsToList (key: value: {inherit key value;}); - in { - groups = { - owner.nodes = mkPermissions { - "group.admin" = true; - "prefix.1000.&5" = true; - "weight.1000" = true; - - "librelogin.*" = true; - "luckperms.*" = true; - "velocity.command.*" = true; - }; - admin.nodes = mkPermissions { - "group.default" = true; - "prefix.900.&6" = true; - "weight.900" = true; - - "huskchat.command.broadcast" = true; - }; - default.nodes = mkPermissions { - "huskchat.command.channel" = true; - "huskchat.command.msg" = true; - "huskchat.command.msg.reply" = true; - }; - }; - users = { - "3fc76c64-b1b2-4a95-b3cf-0d7d94db2d75" = { - username = "misterio7x"; - nodes = mkPermissions {"group.owner" = true;}; - }; - "10ffa557-322a-4b6c-9b3e-cdc2792163ae" = { - username = "kirao"; - nodes = mkPermissions {"group.admin" = true;}; - }; - }; - }; - }; - - files = { - "plugins/luckperms/config.yml".value = { - server = "proxy"; - storage-method = "mysql"; - data = { - address = "127.0.0.1"; - database = "minecraft"; - username = "minecraft"; - password = "@DATABASE_PASSWORD@"; - table-prefix = "luckperms_"; - }; - messaging-service = "sql"; - }; - }; - }; -} diff --git a/hosts/taygeta/services/minecraft/servers/proxy/messages.properties b/hosts/taygeta/services/minecraft/servers/proxy/messages.properties deleted file mode 100644 index 3354e32d..00000000 --- a/hosts/taygeta/services/minecraft/servers/proxy/messages.properties +++ /dev/null @@ -1,44 +0,0 @@ -velocity.command.command-does-not-exist=Esse comando não existe. -velocity.command.dump-offline=Causa provável: DNS inválido ou sem conexão com a internet -velocity.command.dump-send-error=Um erro ocorreu ao comunicar-se com os servidores do Velocity. Os servidores podem estar temporariamente indisponíveis ou há um erro com sua conexão. Cheque o log ou console para mais informações. -velocity.command.dump-server-error=Um erro ocorreu nos servidores do Velocity e o upload não foi completo. -velocity.command.dump-success=Um relatório anônimo contendo informações sobre o proxy foi criado. Se um desenvolvedor pediu, você pode compartilhar o seguinte link com ele: -velocity.command.dump-uploading=Enviando informações... -velocity.command.dump-will-expire=Esse link vai expirar em alguns dias. -velocity.command.generic-error=Um erro inesperado aconteceu ao executar esse comando. -velocity.command.glist-player-plural={0} jogadores estão conectados na network. -velocity.command.glist-player-singular={0} jogador está conectado na network. -velocity.command.glist-view-all=Para ver todos os jogadores nos servidores, use /glist all. -velocity.command.no-plugins=Não há nenhum plugin instalado. -velocity.command.players-only=Apenas jogadores podem usar esse comando. -velocity.command.plugin-tooltip-author=Autor: {0} -velocity.command.plugin-tooltip-authors=Autores: {0} -velocity.command.plugin-tooltip-website=Site: {0} -velocity.command.plugins-list=Plugins: {0} -velocity.command.reload-failure=Não foi possível recarregar sua configuração do Velocity. Olhe o console para mais detalhes. -velocity.command.reload-success=Configuração do velocity recarregada. -velocity.command.server-available=Servidores disponíveis: -velocity.command.server-current-server=Conectado a {0}. -velocity.command.server-does-not-exist=O servidor {0} não existe. -velocity.command.server-too-many=Há muitos servidores disponíveis, use tab complete para escolher um. -velocity.command.server-tooltip-current-server=Seu servidor atual -velocity.command.server-tooltip-offer-connect-server=Clique para conectar -velocity.command.server-tooltip-player-online={0} jogador online -velocity.command.server-tooltip-players-online={0} jogadores online -velocity.command.version-copyright=Copyright 2018-2023 {0}. {1} is licensed under the terms of the GNU General Public License v3. -velocity.error.already-connected=Você já está conectado a esse servidor -velocity.error.already-connected-proxy=Você já está conectado a esse proxy -velocity.error.already-connecting=Ainda conectando... -velocity.error.cant-connect=Não foi possível conectar a {0}: {1} -velocity.error.connected-server-error=Ocorreu um erro com a sua conexão a {0}. -velocity.error.connecting-server-error=Não foi possível conectar a {0}. Tente novamente mais tarde. -velocity.error.illegal-chat-characters=Caracteres inválidos no chat -velocity.error.internal-server-connection-error=Um erro inesperado aconteceu. -velocity.error.logging-in-too-fast=Você está logando muito rápido, tente novamente em um momento. -velocity.error.modern-forwarding-failed=O servidor não enviou um pedido de encaminhamento ao proxy. Verifique que o servidor está configurado para usar o Velocity. -velocity.error.modern-forwarding-needs-new-client=Esse servidor só é compatível com Minecraft 1.13+. -velocity.error.moved-to-new-server=Desconectado de {0}: {1} -velocity.error.no-available-servers=Não há servidores disponíveis para conectar. Tente novamente mais tarde ou contate um admin. -velocity.error.online-mode-only=Você não está logado na sua conta do Minecraft. Se o erro persistir, tente reiniciar o client. -velocity.error.player-connection-error=Um erro inesperado aconteceu com sua conexão. -velocity.kick.shutdown=Reiniciando proxy... Aguarde uns 10 segundos e já pode entrar! diff --git a/hosts/taygeta/services/minecraft/servers/proxy/velocitab.nix b/hosts/taygeta/services/minecraft/servers/proxy/velocitab.nix deleted file mode 100644 index d67fc67a..00000000 --- a/hosts/taygeta/services/minecraft/servers/proxy/velocitab.nix +++ /dev/null @@ -1,38 +0,0 @@ -{pkgs, ...}: { - services.minecraft-servers.servers.proxy = { - extraReload = '' - echo 'velocitab reload' > /run/minecraft/proxy.stdin - ''; - symlinks = { - "plugins/Velocitab.jar" = pkgs.fetchurl rec { - pname = "Velocitab"; - version = "1.6.2"; - url = "https://github.com/WiIIiam278/${pname}/releases/download/${version}/${pname}-${version}.jar"; - hash = "sha256-BHJqF7781Lys/LAwlW89UKStPx3hlOy9vV9Tyo2teFs="; - }; - }; - files = { - "plugins/velocitab/config.yml".value = { - fallback_enabled = true; - fallback_group = "default"; - only_list_players_in_same_group = false; - remove_spectator_effect = true; - sort_players = false; - server_display_names = {}; - }; - "plugins/velocitab/tab_groups.yml".value = { - groups = [ - { - name = "default"; - headers = []; - footers = []; - format = "&7[%server%] &r%prefix%%username%"; - servers = []; - header_footer_update_rate = 1000; - placeholder_update_rate = 1000; - } - ]; - }; - }; - }; -}