configurations for my servers and desktops
nix nixos flake dots dotfiles

fix: whatever

+73 -13
+73 -13
hosts/bluepill-proxy/modules/socat.nix
··· 5 5 allowedUDPPorts = [25565 23343 24454 22232]; 6 6 }; 7 7 8 - systemd.services.minecraft-forward = { 9 - description = "Minecraft TCP+UDP forward"; 8 + # TCP ports 9 + systemd.services.minecraft-tcp-25565 = { 10 + description = "Minecraft TCP 25565 forward"; 10 11 wants = ["network-online.target"]; 11 12 after = ["network-online.target"]; 12 13 serviceConfig = { 13 - ExecStart = '' 14 - ${pkgs.bash}/bin/bash -c " 15 - ${pkgs.socat}/bin/socat TCP-LISTEN:25565,reuseaddr,fork TCP:100.108.47.83:25565 & 16 - ${pkgs.socat}/bin/socat UDP-LISTEN:25565,reuseaddr,fork UDP:100.108.47.83:25565 & 17 - ${pkgs.socat}/bin/socat UDP-LISTEN:24454,reuseaddr,fork UDP:100.108.47.83:24454 & 14 + ExecStart = "${pkgs.socat}/bin/socat TCP-LISTEN:25565,reuseaddr,fork TCP:100.108.47.83:25565"; 15 + Restart = "always"; 16 + User = "nobody"; 17 + StandardOutput = "journal"; 18 + StandardError = "journal"; 19 + }; 20 + wantedBy = ["multi-user.target"]; 21 + }; 18 22 19 - ${pkgs.socat}/bin/socat TCP-LISTEN:23343,reuseaddr,fork TCP:100.108.47.83:23343 & 20 - ${pkgs.socat}/bin/socat UDP-LISTEN:23343,reuseaddr,fork UDP:100.108.47.83:23343 & 21 - ${pkgs.socat}/bin/socat UDP-LISTEN:22232,reuseaddr,fork UDP:100.108.47.83:22232 & 23 + systemd.services.minecraft-tcp-23343 = { 24 + description = "Minecraft TCP 23343 forward"; 25 + wants = ["network-online.target"]; 26 + after = ["network-online.target"]; 27 + serviceConfig = { 28 + ExecStart = "${pkgs.socat}/bin/socat TCP-LISTEN:23343,reuseaddr,fork TCP:100.108.47.83:23343"; 29 + Restart = "always"; 30 + User = "nobody"; 31 + StandardOutput = "journal"; 32 + StandardError = "journal"; 33 + }; 34 + wantedBy = ["multi-user.target"]; 35 + }; 22 36 23 - wait 24 - " 25 - ''; 37 + # UDP ports 38 + systemd.services.minecraft-udp-25565 = { 39 + description = "Minecraft UDP 25565 forward"; 40 + wants = ["network-online.target"]; 41 + after = ["network-online.target"]; 42 + serviceConfig = { 43 + ExecStart = "${pkgs.socat}/bin/socat UDP-LISTEN:25565,reuseaddr,fork UDP:100.108.47.83:25565"; 44 + Restart = "always"; 45 + User = "nobody"; 46 + StandardOutput = "journal"; 47 + StandardError = "journal"; 48 + }; 49 + wantedBy = ["multi-user.target"]; 50 + }; 51 + 52 + systemd.services.minecraft-udp-24454 = { 53 + description = "Minecraft UDP 24454 forward"; 54 + wants = ["network-online.target"]; 55 + after = ["network-online.target"]; 56 + serviceConfig = { 57 + ExecStart = "${pkgs.socat}/bin/socat UDP-LISTEN:24454,reuseaddr,fork UDP:100.108.47.83:24454"; 58 + Restart = "always"; 59 + User = "nobody"; 60 + StandardOutput = "journal"; 61 + StandardError = "journal"; 62 + }; 63 + wantedBy = ["multi-user.target"]; 64 + }; 65 + 66 + systemd.services.minecraft-udp-23343 = { 67 + description = "Minecraft UDP 23343 forward"; 68 + wants = ["network-online.target"]; 69 + after = ["network-online.target"]; 70 + serviceConfig = { 71 + ExecStart = "${pkgs.socat}/bin/socat UDP-LISTEN:23343,reuseaddr,fork UDP:100.108.47.83:23343"; 72 + Restart = "always"; 73 + User = "nobody"; 74 + StandardOutput = "journal"; 75 + StandardError = "journal"; 76 + }; 77 + wantedBy = ["multi-user.target"]; 78 + }; 79 + 80 + systemd.services.minecraft-udp-22232 = { 81 + description = "Minecraft UDP 22232 forward"; 82 + wants = ["network-online.target"]; 83 + after = ["network-online.target"]; 84 + serviceConfig = { 85 + ExecStart = "${pkgs.socat}/bin/socat UDP-LISTEN:22232,reuseaddr,fork UDP:100.108.47.83:22232"; 26 86 Restart = "always"; 27 87 User = "nobody"; 28 88 StandardOutput = "journal";