From d81e93b5831a531dd92b53faa4209518cbf8e0da Mon Sep 17 00:00:00 2001 From: ME1312 Date: Tue, 29 Jan 2019 22:32:28 -0500 Subject: [PATCH] Only launch the auto-starter thread when needed --- .../net/ME1312/SubServers/Bungee/Library/Files/config.yml | 1 + .../src/net/ME1312/SubServers/Bungee/SubPlugin.java | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/config.yml b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/config.yml index 48fc0f12..5fdb7ece 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/config.yml +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/config.yml @@ -1,6 +1,7 @@ Settings: Version: '2.11.2a+' Override-Bungee-Commands: true + Run-On-Launch-Timeout: 0 UPnP: Forward-Proxy: true Forward-SubData: false diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java index 465e3e36..e63abbfb 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java @@ -520,14 +520,14 @@ public final class SubPlugin extends BungeeCord implements Listener { System.out.println("SubServers > " + ((plugins > 0)?plugins+" Plugin"+((plugins == 1)?"":"s")+", ":"") + ((proxies > 1)?proxies+" Proxies, ":"") + hosts + " Host"+((hosts == 1)?"":"s")+", " + servers + " Server"+((servers == 1)?"":"s")+", and " + subservers + " SubServer"+((subservers == 1)?"":"s")+" "+((status)?"re":"")+"loaded in " + new DecimalFormat("0.000").format((Calendar.getInstance().getTime().getTime() - begin) / 1000D) + "s"); long scd = TimeUnit.SECONDS.toMillis(config.get().getSection("Settings").getLong("Run-On-Launch-Timeout", 0L)); - for (Host host : api.getHosts().values()) { - new Thread(() -> { + if (autorun.size() > 0) for (Host host : api.getHosts().values()) { + List ar = new LinkedList(); + for (String name : autorun) if (host.getSubServer(name) != null) ar.add(name); + if (ar.size() > 0) new Thread(() -> { try { while (running && begin == resetDate && !host.isAvailable()) { Thread.sleep(250); } - List ar = new LinkedList(); - ar.addAll(autorun); long init = Calendar.getInstance().getTime().getTime(); while (running && begin == resetDate && ar.size() > 0) { SubServer server = host.getSubServer(ar.get(0));