From 8fe68b7e3b647fe7c859c9841e6a1538b800ca9d Mon Sep 17 00:00:00 2001 From: zaxar163 Date: Sun, 28 Apr 2019 10:46:36 +0300 Subject: [PATCH] =?UTF-8?q?[FEATURE]=20=D0=A7=D0=B8=D1=81=D1=82=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/gravit/launchserver/LaunchServer.java | 16 ++++++++++------ .../binary/EXEL4JLauncherBinary.java | 2 +- .../launchserver/binary/EXELauncherBinary.java | 2 +- .../launchserver/binary/JARLauncherBinary.java | 3 +-- .../launchserver/binary/LauncherBinary.java | 10 +++++----- .../websocket/LauncherNettyServer.java | 2 +- .../gravit/launcher/ssl/LauncherSSLContext.java | 2 -- 7 files changed, 19 insertions(+), 18 deletions(-) diff --git a/LaunchServer/src/main/java/ru/gravit/launchserver/LaunchServer.java b/LaunchServer/src/main/java/ru/gravit/launchserver/LaunchServer.java index dc483640..7ca5517b 100644 --- a/LaunchServer/src/main/java/ru/gravit/launchserver/LaunchServer.java +++ b/LaunchServer/src/main/java/ru/gravit/launchserver/LaunchServer.java @@ -79,6 +79,8 @@ public static final class Config { public String[] mirrors; public String binaryName; + + public boolean copyBinaries = true; public LauncherConfig.LauncherEnvironment env; @@ -269,7 +271,7 @@ public class LauncherConf } public class NettyConfig { - public boolean clientEnabled; + public boolean fileServerEnabled; public boolean sendExceptionEnabled; public String launcherURL; public String downloadURL; @@ -704,11 +706,7 @@ private void generateConfigIfNotExists(boolean testEnv) throws IOException { newConfig.whitelistRejectString = "Вас нет в белом списке"; newConfig.netty = new NettyConfig(); - newConfig.netty.address = "ws://localhost:9274/api"; - newConfig.netty.downloadURL = "http://localhost:9274/%dirname%/"; - newConfig.netty.launcherURL = "http://localhost:9274/Launcher.jar"; - newConfig.netty.launcherEXEURL = "http://localhost:9274/Launcher.exe"; - newConfig.netty.clientEnabled = false; + newConfig.netty.fileServerEnabled = true; newConfig.netty.binds = new NettyBindAddress[]{ new NettyBindAddress("0.0.0.0", 9274) }; newConfig.netty.performance = new NettyPerformanceConfig(); newConfig.netty.performance.bossThread = 2; @@ -753,6 +751,12 @@ private void generateConfigIfNotExists(boolean testEnv) throws IOException { LogHelper.error("ProjectName null. Using MineCraft"); newConfig.projectName = "MineCraft"; } + + newConfig.netty.address = "ws://" + newConfig.legacyAddress + ":9274/api"; + newConfig.netty.downloadURL = "http://" + newConfig.legacyAddress + ":9274/%dirname%/"; + newConfig.netty.launcherURL = "http://" + newConfig.legacyAddress + ":9274/internal/Launcher.jar"; + newConfig.netty.launcherEXEURL = "http://" + newConfig.legacyAddress + ":9274/internal/Launcher.exe"; + newConfig.netty.sendExceptionEnabled = true; // Write LaunchServer config LogHelper.info("Writing LaunchServer config file"); diff --git a/LaunchServer/src/main/java/ru/gravit/launchserver/binary/EXEL4JLauncherBinary.java b/LaunchServer/src/main/java/ru/gravit/launchserver/binary/EXEL4JLauncherBinary.java index 8be92cf1..ba669376 100644 --- a/LaunchServer/src/main/java/ru/gravit/launchserver/binary/EXEL4JLauncherBinary.java +++ b/LaunchServer/src/main/java/ru/gravit/launchserver/binary/EXEL4JLauncherBinary.java @@ -35,7 +35,7 @@ public void clear() { public EXEL4JLauncherBinary(LaunchServer server) { - super(server, server.dir.resolve(server.config.binaryName + ".exe")); + super(server, LauncherBinary.resolve(server, ".exe")); faviconFile = server.dir.resolve("favicon.ico"); } diff --git a/LaunchServer/src/main/java/ru/gravit/launchserver/binary/EXELauncherBinary.java b/LaunchServer/src/main/java/ru/gravit/launchserver/binary/EXELauncherBinary.java index 16c68a2d..77b785ea 100644 --- a/LaunchServer/src/main/java/ru/gravit/launchserver/binary/EXELauncherBinary.java +++ b/LaunchServer/src/main/java/ru/gravit/launchserver/binary/EXELauncherBinary.java @@ -10,7 +10,7 @@ public class EXELauncherBinary extends LauncherBinary { public EXELauncherBinary(LaunchServer server) { - super(server, server.dir.resolve(server.config.binaryName + ".exe")); + super(server, LauncherBinary.resolve(server, ".exe")); } @Override diff --git a/LaunchServer/src/main/java/ru/gravit/launchserver/binary/JARLauncherBinary.java b/LaunchServer/src/main/java/ru/gravit/launchserver/binary/JARLauncherBinary.java index 605d3675..839976f1 100644 --- a/LaunchServer/src/main/java/ru/gravit/launchserver/binary/JARLauncherBinary.java +++ b/LaunchServer/src/main/java/ru/gravit/launchserver/binary/JARLauncherBinary.java @@ -24,9 +24,8 @@ public final class JARLauncherBinary extends LauncherBinary { public List addonLibs; public JARLauncherBinary(LaunchServer server) throws IOException { - super(server); + super(server, LauncherBinary.resolve(server, ".jar")); count = new AtomicLong(0); - syncBinaryFile = server.dir.resolve(server.config.binaryName + ".jar"); runtimeDir = server.dir.resolve(Launcher.RUNTIME_DIR); guardDir = server.dir.resolve(Launcher.GUARD_DIR); buildDir = server.dir.resolve("build"); diff --git a/LaunchServer/src/main/java/ru/gravit/launchserver/binary/LauncherBinary.java b/LaunchServer/src/main/java/ru/gravit/launchserver/binary/LauncherBinary.java index da9a9be4..1e37d764 100644 --- a/LaunchServer/src/main/java/ru/gravit/launchserver/binary/LauncherBinary.java +++ b/LaunchServer/src/main/java/ru/gravit/launchserver/binary/LauncherBinary.java @@ -10,7 +10,7 @@ public abstract class LauncherBinary { public final LaunchServer server; - public Path syncBinaryFile; + public final Path syncBinaryFile; private volatile DigestBytesHolder binary; private volatile byte[] sign; @@ -19,10 +19,6 @@ protected LauncherBinary(LaunchServer server, Path binaryFile) { syncBinaryFile = binaryFile; } - protected LauncherBinary(LaunchServer server) { - this.server = server; - } - public abstract void build() throws IOException; @@ -49,4 +45,8 @@ public final boolean sync() throws IOException { return exists; } + + public static final Path resolve(LaunchServer server, String ext) { + return server.config.copyBinaries ? server.updatesDir.resolve(server.config.binaryName + ext) : server.dir.resolve(server.config.binaryName + ext); + } } diff --git a/LaunchServer/src/main/java/ru/gravit/launchserver/websocket/LauncherNettyServer.java b/LaunchServer/src/main/java/ru/gravit/launchserver/websocket/LauncherNettyServer.java index 29725e9c..0df2a864 100644 --- a/LaunchServer/src/main/java/ru/gravit/launchserver/websocket/LauncherNettyServer.java +++ b/LaunchServer/src/main/java/ru/gravit/launchserver/websocket/LauncherNettyServer.java @@ -42,7 +42,7 @@ public void initChannel(NioSocketChannel ch) { pipeline.addLast(new HttpObjectAggregator(65536)); pipeline.addLast(new WebSocketServerCompressionHandler()); pipeline.addLast(new WebSocketServerProtocolHandler(WEBSOCKET_PATH, null, true)); - pipeline.addLast(new FileServerHandler(LaunchServer.server.updatesDir, true)); + if (LaunchServer.server.config.netty.fileServerEnabled) pipeline.addLast(new FileServerHandler(LaunchServer.server.updatesDir, true)); pipeline.addLast(new WebSocketFrameHandler()); } }); diff --git a/libLauncher/src/main/java/ru/gravit/launcher/ssl/LauncherSSLContext.java b/libLauncher/src/main/java/ru/gravit/launcher/ssl/LauncherSSLContext.java index eaa6ba8a..480f52ce 100644 --- a/libLauncher/src/main/java/ru/gravit/launcher/ssl/LauncherSSLContext.java +++ b/libLauncher/src/main/java/ru/gravit/launcher/ssl/LauncherSSLContext.java @@ -6,8 +6,6 @@ public class LauncherSSLContext { public SSLServerSocketFactory ssf; public SSLSocketFactory sf; - @SuppressWarnings("unused") - private SSLContext sc; public LauncherSSLContext(KeyStore ks, String keypassword) throws NoSuchAlgorithmException, KeyStoreException, UnrecoverableKeyException, KeyManagementException { TrustManager[] trustAllCerts = new TrustManager[]{