diff --git a/src/de/steamwar/bungeecore/Node.java b/src/de/steamwar/bungeecore/Node.java index 267cd42..f9a9e0c 100644 --- a/src/de/steamwar/bungeecore/Node.java +++ b/src/de/steamwar/bungeecore/Node.java @@ -32,6 +32,7 @@ import java.util.logging.Level; public abstract class Node { + private static final List OPENJDK8_ARGS = Arrays.asList("-Dlog4j.configurationFile=log4j2.xml", "-server", "-Xms128M", "-XX:+UseCompressedOops", "-XX:+TieredCompilation", "-XX:TargetSurvivorRatio=90", "-XX:SurvivorRatio=8", "-XX:MaxTenuringThreshold=15", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseBiasedLocking", "-XX:UseSSE=3", "-XX:+UseCodeCacheFlushing", "-XX:+UseThreadPriorities", "-XX:+AggressiveOpts", "-XX:+ReduceSignalUsage", "-XX:+UseInterpreter", "-XX:+UseSharedSpaces", "-XX:AllocatePrefetchStyle=1", "-XX:+AlwaysCompileLoopMethods", "-XX:+UseConcMarkSweepGC", "-XX:+RewriteFrequentPairs", "-XX:+OptimizeStringConcat", "-XX:+CMSCleanOnEnter", "-XX:+UseInlineCaches", "-XX:ThreadPriorityPolicy=42", "-XX:SharedReadOnlySize=30m", "-XX:+UseFastEmptyMethods", "-XX:+UseFastAccessorMethods"); private static final List OPENJ9_ARGS = Arrays.asList("-Xsyslog:none", "-Xtrace:none", "-Xdisableexplicitgc", "-XX:+AlwaysPreTouch", "-XX:+CompactStrings", "-Dlog4j.configurationFile=log4j2.xml"); private static final double MIN_FREE_MEM = 4.0 * 1024 * 1024; // 4 GiB @@ -74,14 +75,22 @@ public abstract class Node { public abstract double getLoad(); protected void constructServerstart(File directory, List cmd, String serverJar, String worldDir, String levelName, int port, String xmx, String... dParams) { - cmd.add("/usr/lib/jvm/java-16-openj9-amd64/bin/java"); + boolean openjdk8 = !serverJar.contains("1.8.9") && !serverJar.contains("1.15.2"); + if(openjdk8) + cmd.add("java"); + else + cmd.add("/usr/lib/jvm/java-16-openj9-amd64/bin/java"); for(String param : dParams){ cmd.add("-D" + param); } cmd.add("-Xmx" + xmx); - cmd.add("-Xshareclasses:nonfatal,name=" + directory.getName()); - cmd.addAll(OPENJ9_ARGS); + if(openjdk8) + cmd.addAll(OPENJDK8_ARGS); + else { + cmd.add("-Xshareclasses:nonfatal,name=" + directory.getName()); + cmd.addAll(OPENJ9_ARGS); + } cmd.add("-jar"); cmd.add("/binarys/" + serverJar); cmd.add("--log-strip-color");