From 689d8c9e482296ebce954a4a0ee0cb3b3f4d5885 Mon Sep 17 00:00:00 2001 From: BalaM314 <71201189+BalaM314@users.noreply.github.com> Date: Sat, 4 Jul 2026 06:00:38 +0530 Subject: [PATCH] Blacklist UDP address along with TCP address (#12274) --- core/src/mindustry/core/NetClient.java | 2 +- core/src/mindustry/net/ArcNetProvider.java | 13 ++++++++++++- core/src/mindustry/net/NetConnection.java | 4 ++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/core/NetClient.java b/core/src/mindustry/core/NetClient.java index 7a72b558d7..bf335576b6 100644 --- a/core/src/mindustry/core/NetClient.java +++ b/core/src/mindustry/core/NetClient.java @@ -319,7 +319,7 @@ public class NetClient implements ApplicationListener{ //detect and kick for foul play if(player != null && player.con != null && !player.con.chatRate.allow(2000, Config.chatSpamLimit.num())){ player.con.kick(KickReason.kick); - netServer.admins.blacklistDos(player.con.address); + player.con.blacklist(); return; } diff --git a/core/src/mindustry/net/ArcNetProvider.java b/core/src/mindustry/net/ArcNetProvider.java index 6a78149728..c1e753bc7e 100644 --- a/core/src/mindustry/net/ArcNetProvider.java +++ b/core/src/mindustry/net/ArcNetProvider.java @@ -162,7 +162,7 @@ public class ArcNetProvider implements NetProvider{ if(packetSpamLimit > 0 && !k.packetRate.allow(3000, packetSpamLimit)){ Log.warn("Blacklisting IP '@' as potential DOS attack - packet spam.", k.address); connection.close(DcReason.closed); - netServer.admins.blacklistDos(k.address); + k.blacklist(); return; } @@ -366,6 +366,17 @@ public class ArcNetProvider implements NetProvider{ return connection.isConnected(); } + @Override + public void blacklist(){ + //Blacklist TCP address + super.blacklist(); + //Blacklist UDP address + var address = connection.getRemoteAddressUDP(); + if(address != null){ + netServer.admins.blacklistDos(address.getAddress().getHostAddress()); + } + } + @Override public void sendStream(Streamable stream){ connection.addListener(new InputStreamSender(stream.stream, 1024){ diff --git a/core/src/mindustry/net/NetConnection.java b/core/src/mindustry/net/NetConnection.java index 3df0c54447..e379d1c73d 100644 --- a/core/src/mindustry/net/NetConnection.java +++ b/core/src/mindustry/net/NetConnection.java @@ -129,6 +129,10 @@ public abstract class NetConnection{ } } + public void blacklist(){ + netServer.admins.blacklistDos(address); + } + public abstract void send(Object object, boolean reliable); public abstract void close();