package launchserver.plugin; import java.nio.file.Path; import java.time.Duration; import java.time.Instant; import launcher.helper.JVMHelper; import launcher.helper.LogHelper; import launchserver.LaunchServer; public final class LaunchServerPluginBridge implements Runnable, AutoCloseable { private final LaunchServer server; public LaunchServerPluginBridge(Path dir) throws Throwable { LogHelper.addOutput(dir.resolve("LaunchServer.log")); LogHelper.printVersion("LaunchServer"); // Create new LaunchServer Instant start = Instant.now(); try { server = new LaunchServer(dir, true); } catch (Throwable exc) { LogHelper.error(exc); throw exc; } Instant end = Instant.now(); LogHelper.debug("LaunchServer started in %dms", Duration.between(start, end).toMillis()); } @Override public void close() { server.close(); } @Override public void run() { server.run(); } public void eval(String... command) { server.commandHandler.eval(command, false); } static { //SecurityHelper.verifyCertificates(LaunchServer.class); JVMHelper.verifySystemProperties(LaunchServer.class, false); } }