diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/External/ExternalSubLogger.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/External/ExternalSubLogger.java index fdd9a52c..dff28645 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/External/ExternalSubLogger.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/External/ExternalSubLogger.java @@ -134,6 +134,9 @@ public class ExternalSubLogger extends SubLogger { writer.println(line); writer.flush(); } + + gc++; + gc(); } } diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.java index 92c27dd9..3b3537b8 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.java @@ -125,6 +125,9 @@ public class InternalSubLogger extends SubLogger { writer.println(line); writer.flush(); } + + gc++; + gc(); } } } catch (IOException e) {} finally { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubLogger.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubLogger.java index b2b2ef2c..059e684d 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubLogger.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubLogger.java @@ -1,16 +1,20 @@ package net.ME1312.SubServers.Bungee.Host; -import net.ME1312.SubServers.Bungee.Library.Util; - -import java.util.Calendar; -import java.util.Date; -import java.util.List; -import java.util.logging.Level; - /** * SubLogger Layout Class */ public abstract class SubLogger { + public static final int MAX_GC = Integer.getInteger("subservers.logging.max_gc", 4096); + private static boolean gc_running = false; + protected static int gc = 0; + protected static void gc() { + if (!gc_running && MAX_GC > 0 && gc >= MAX_GC) { + gc_running = true; + System.gc(); + gc = 0; + gc_running = false; + } + } /** * Gets the Name of the task logging diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java index ffb344bc..e82ab494 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java @@ -57,7 +57,7 @@ public final class SubPlugin extends BungeeCord implements Listener { public final SubAPI api = new SubAPI(this); public SubDataServer subdata = null; public SubServer sudo = null; - public static final Version version = Version.fromString("2.13.2b"); + public static final Version version = Version.fromString("2.13.2c"); public Proxy redis = null; public boolean canSudo = false; diff --git a/SubServers.Client/Bukkit/src/plugin.yml b/SubServers.Client/Bukkit/src/plugin.yml index e7a04366..b2bd593b 100644 --- a/SubServers.Client/Bukkit/src/plugin.yml +++ b/SubServers.Client/Bukkit/src/plugin.yml @@ -1,6 +1,6 @@ name: 'SubServers-Client-Bukkit' main: 'net.ME1312.SubServers.Client.Bukkit.SubPlugin' -version: '2.13.2b' +version: '2.13.2c' authors: [ME1312] softdepend: [Vault, TitleManager] website: 'https://github.com/ME1312/SubServers-2' diff --git a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/SubPlugin.java b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/SubPlugin.java index 89d4d4af..d43d0f19 100644 --- a/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/SubPlugin.java +++ b/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/SubPlugin.java @@ -46,7 +46,7 @@ import java.util.concurrent.TimeUnit; /** * SubServers Client Plugin Class */ -@Plugin(id = "subservers-client-sponge", name = "SubServers-Client-Sponge", authors = "ME1312", version = "2.13.2b", url = "https://github.com/ME1312/SubServers-2", description = "Access your SubServers from Anywhere") +@Plugin(id = "subservers-client-sponge", name = "SubServers-Client-Sponge", authors = "ME1312", version = "2.13.2c", url = "https://github.com/ME1312/SubServers-2", description = "Access your SubServers from Anywhere") public final class SubPlugin { protected NamedContainer>> lang = null; public YAMLConfig config; diff --git a/SubServers.Host/pom.xml b/SubServers.Host/pom.xml index f9e09d70..98240639 100644 --- a/SubServers.Host/pom.xml +++ b/SubServers.Host/pom.xml @@ -20,7 +20,7 @@ net.ME1312.Galaxi GalaxiEngine - 18w51a + 19w01a compile diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java b/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java index 9d9c41b5..b03ab5e5 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/ExHost.java @@ -34,7 +34,7 @@ import java.util.jar.Manifest; /** * SubServers.Host Main Class */ -@Plugin(name = "SubServers.Host", version = "2.13.2b", authors = "ME1312", description = "Host SubServers from other Machines", website = "https://github.com/ME1312/SubServers-2") +@Plugin(name = "SubServers.Host", version = "2.13.2c", authors = "ME1312", description = "Host SubServers from other Machines", website = "https://github.com/ME1312/SubServers-2") public final class ExHost { protected NamedContainer>> lang = null; public HashMap templates = new HashMap(); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubLogger.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubLogger.java index 9b1fb5a3..c68bc710 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubLogger.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubLogger.java @@ -17,6 +17,7 @@ import java.util.regex.Pattern; * Internal Process Logger Class */ public class SubLogger { + public static final int MAX_GC = Integer.getInteger("subservers.logging.max_gc", 4096); protected Process process; private Object handle; protected final Logger logger; @@ -49,6 +50,17 @@ public class SubLogger { this.file = file; } + private static boolean gc_running = false; + private static int gc = 0; + private static void gc() { + if (!gc_running && MAX_GC > 0 && gc >= MAX_GC) { + gc_running = true; + System.gc(); + gc = 0; + gc_running = false; + } + } + /** * Start Logger */ @@ -116,6 +128,9 @@ public class SubLogger { writer.println(line); writer.flush(); } + + gc++; + gc(); } } } catch (IOException e) {} finally { diff --git a/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java b/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java index 4cdd6d8b..2060f47a 100644 --- a/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java +++ b/SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java @@ -44,7 +44,7 @@ public final class SubPlugin extends BungeeCord implements Listener { public boolean redis = false; public final SubAPI api = new SubAPI(this); public SubDataClient subdata = null; - public static final Version version = Version.fromString("2.13.2b"); + public static final Version version = Version.fromString("2.13.2c"); public final boolean isPatched; public long lastReload = -1;