From bb4d5b99c6522add9845355ca6219c769d02a469 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Sat, 1 Jun 2024 00:13:00 +0700 Subject: [PATCH 01/26] [ANY] 5.6.3-dev --- LauncherCore/src/main/java/pro/gravit/utils/Version.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LauncherCore/src/main/java/pro/gravit/utils/Version.java b/LauncherCore/src/main/java/pro/gravit/utils/Version.java index 7356b3ec..6c9a7360 100644 --- a/LauncherCore/src/main/java/pro/gravit/utils/Version.java +++ b/LauncherCore/src/main/java/pro/gravit/utils/Version.java @@ -6,9 +6,9 @@ public final class Version implements Comparable { public static final int MAJOR = 5; public static final int MINOR = 6; - public static final int PATCH = 2; + public static final int PATCH = 3; public static final int BUILD = 1; - public static final Version.Type RELEASE = Type.STABLE; + public static final Version.Type RELEASE = Type.DEV; public final int major; public final int minor; public final int patch; From 01cd50840aacf9c226705195d21bbc2a25ff7e88 Mon Sep 17 00:00:00 2001 From: luckybl0ck <79654924+luckybl0ck@users.noreply.github.com> Date: Sat, 1 Jun 2024 18:21:35 +0300 Subject: [PATCH 02/26] [ANY] Update actions versions (#713) --- .github/workflows/push.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 00c8687f..1e2c4303 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -6,18 +6,18 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: submodules: recursive - name: Cache Gradle - uses: actions/cache@v1 + uses: actions/cache@v4 with: path: ~/.gradle/caches key: gravit-${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}-launcher - name: Set up JDK 21 - uses: actions/setup-java@v1 + uses: actions/setup-java@v4 with: java-version: 21 @@ -26,6 +26,7 @@ jobs: - name: Build with Gradle run: ./gradlew build + - name: Generate and submit dependency graph uses: gradle/actions/dependency-submission@417ae3ccd767c252f5661f1ace9f835f9654f2b5 @@ -42,7 +43,7 @@ jobs: cp modules/*_lmodule/build/libs/*.jar artifacts/modules || true - name: Upload artifacts - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: name: Launcher path: artifacts @@ -63,7 +64,7 @@ jobs: - name: Create release id: create_release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 if: startsWith(github.event.ref, 'refs/tags') env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From c2a6a408c4e8388bc96b2aa807584b7e9d16194e Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Sat, 1 Jun 2024 23:10:50 +0700 Subject: [PATCH 03/26] [FIX] Hikari getConnection() deadlock when with using user_permissions table --- .../auth/core/AbstractSQLCoreProvider.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/auth/core/AbstractSQLCoreProvider.java b/LaunchServer/src/main/java/pro/gravit/launchserver/auth/core/AbstractSQLCoreProvider.java index 857f9b7f..4e732542 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/auth/core/AbstractSQLCoreProvider.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/auth/core/AbstractSQLCoreProvider.java @@ -276,7 +276,7 @@ public void close() { protected SQLUser constructUser(ResultSet set) throws SQLException { return set.next() ? new SQLUser(UUID.fromString(set.getString(uuidColumn)), set.getString(usernameColumn), - set.getString(accessTokenColumn), set.getString(serverIDColumn), set.getString(passwordColumn), requestPermissions(set.getString(uuidColumn))) : null; + set.getString(accessTokenColumn), set.getString(serverIDColumn), set.getString(passwordColumn)) : null; } public ClientPermissions requestPermissions (String uuid) throws SQLException @@ -286,14 +286,17 @@ public ClientPermissions requestPermissions (String uuid) throws SQLException } private SQLUser queryUser(String sql, String value) throws SQLException { + SQLUser user; try (Connection c = getSQLConfig().getConnection()) { PreparedStatement s = c.prepareStatement(sql); s.setString(1, value); s.setQueryTimeout(MySQLSourceConfig.TIMEOUT); try (ResultSet set = s.executeQuery()) { - return constructUser(set); + user = constructUser(set); } } + user.permissions = requestPermissions(user.uuid.toString()); + return user; } private List queryPermissions(String sql, String value) throws SQLException { @@ -340,15 +343,14 @@ public static class SQLUser implements User { protected String accessToken; protected String serverId; protected final String password; - protected final ClientPermissions permissions; + protected ClientPermissions permissions; - public SQLUser(UUID uuid, String username, String accessToken, String serverId, String password, ClientPermissions permissions) { + public SQLUser(UUID uuid, String username, String accessToken, String serverId, String password) { this.uuid = uuid; this.username = username; this.accessToken = accessToken; this.serverId = serverId; this.password = password; - this.permissions = permissions; } @Override From c6930ded74467d7e3588e5c3556e849121a1004f Mon Sep 17 00:00:00 2001 From: luckybl0ck <79654924+luckybl0ck@users.noreply.github.com> Date: Sat, 1 Jun 2024 19:11:50 +0300 Subject: [PATCH 04/26] [FIX] Set Java distrubution in Actions workflow (#714) --- .github/workflows/push.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 1e2c4303..813b58d3 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -20,6 +20,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: 21 + distribution: temurin - name: Grant execute permission for gradlew run: chmod +x gradlew From 7f6a645dd7ceea7502575a18ee05152ffdf1893c Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Sat, 1 Jun 2024 23:16:28 +0700 Subject: [PATCH 05/26] [FIX] Compile fix --- .../gravit/launchserver/auth/core/MySQLCoreProvider.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/auth/core/MySQLCoreProvider.java b/LaunchServer/src/main/java/pro/gravit/launchserver/auth/core/MySQLCoreProvider.java index 84c0ce3c..af1045ca 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/auth/core/MySQLCoreProvider.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/auth/core/MySQLCoreProvider.java @@ -72,7 +72,7 @@ protected String makeUserCols() { @Override protected MySQLUser constructUser(ResultSet set) throws SQLException { return set.next() ? new MySQLUser(UUID.fromString(set.getString(uuidColumn)), set.getString(usernameColumn), - set.getString(accessTokenColumn), set.getString(serverIDColumn), set.getString(passwordColumn), requestPermissions(set.getString(uuidColumn)), set.getLong(hardwareIdColumn)) : null; + set.getString(accessTokenColumn), set.getString(serverIDColumn), set.getString(passwordColumn), set.getLong(hardwareIdColumn)) : null; } private MySQLUserHardware fetchHardwareInfo(ResultSet set) throws SQLException, IOException { @@ -336,8 +336,8 @@ public String toString() { public static class MySQLUser extends SQLUser { protected long hwidId; - public MySQLUser(UUID uuid, String username, String accessToken, String serverId, String password, ClientPermissions permissions, long hwidId) { - super(uuid, username, accessToken, serverId, password, permissions); + public MySQLUser(UUID uuid, String username, String accessToken, String serverId, String password, long hwidId) { + super(uuid, username, accessToken, serverId, password); this.hwidId = hwidId; } From 584acdb8c382e63ed2eb8faab953ed5b52dd5fdb Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Fri, 5 Jul 2024 14:15:22 +0700 Subject: [PATCH 06/26] [ANY] Update dependencies --- LaunchServer/build.gradle | 10 ++-------- .../manangers/LaunchServerGsonManager.java | 4 ---- LauncherCore/build.gradle | 1 - props.gradle | 6 ++---- 4 files changed, 4 insertions(+), 17 deletions(-) diff --git a/LaunchServer/build.gradle b/LaunchServer/build.gradle index fbf36cdc..bfed90ec 100644 --- a/LaunchServer/build.gradle +++ b/LaunchServer/build.gradle @@ -71,7 +71,6 @@ dependencies { pack project(':LauncherAPI') bundle group: 'me.tongfei', name: 'progressbar', version: '0.10.1' - bundle group: 'com.github.Marcono1234', name: 'gson-record-type-adapter-factory', version: 'v0.3.0' bundle group: 'org.fusesource.jansi', name: 'jansi', version: rootProject['verJansi'] bundle group: 'org.jline', name: 'jline', version: rootProject['verJline'] bundle group: 'org.jline', name: 'jline-reader', version: rootProject['verJline'] @@ -96,17 +95,12 @@ pack project(':LauncherAPI') annotationProcessor(group: 'org.apache.logging.log4j', name: 'log4j-core', version: rootProject['verLog4j']) testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter', version: rootProject['verJunit'] - hikari 'io.micrometer:micrometer-core:1.8.4' - hikari('com.zaxxer:HikariCP:5.0.1') { + hikari 'io.micrometer:micrometer-core:1.13.1' + hikari('com.zaxxer:HikariCP:5.1.0') { exclude group: 'javassist' exclude group: 'io.micrometer' exclude group: 'org.slf4j' } - - compileOnlyA group: 'com.google.guava', name: 'guava', version: rootProject['verGuavaC'] - // Do not update (laggy deps). - compileOnlyA 'log4j:log4j:1.2.17' - compileOnlyA 'org.apache.logging.log4j:log4j-core:2.14.1' } tasks.register('hikari', Copy) { diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/manangers/LaunchServerGsonManager.java b/LaunchServer/src/main/java/pro/gravit/launchserver/manangers/LaunchServerGsonManager.java index 07deb093..7f26c486 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/manangers/LaunchServerGsonManager.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/manangers/LaunchServerGsonManager.java @@ -1,7 +1,6 @@ package pro.gravit.launchserver.manangers; import com.google.gson.GsonBuilder; -import marcono1234.gson.recordadapter.RecordTypeAdapterFactory; import pro.gravit.launcher.base.events.request.GetAvailabilityAuthRequestEvent; import pro.gravit.launcher.core.managers.GsonManager; import pro.gravit.launcher.base.modules.events.PreGsonPhase; @@ -34,9 +33,6 @@ public LaunchServerGsonManager(LaunchServerModulesManager modulesManager) { @Override public void registerAdapters(GsonBuilder builder) { super.registerAdapters(builder); - builder.registerTypeAdapterFactory(RecordTypeAdapterFactory.builder() - .allowMissingComponentValues() - .create()); builder.registerTypeAdapter(ClientProfile.Version.class, new ClientProfile.Version.GsonSerializer()); builder.registerTypeAdapter(TextureProvider.class, new UniversalJsonAdapter<>(TextureProvider.providers)); builder.registerTypeAdapter(AuthCoreProvider.class, new UniversalJsonAdapter<>(AuthCoreProvider.providers)); diff --git a/LauncherCore/build.gradle b/LauncherCore/build.gradle index efd55c0a..068bbf70 100644 --- a/LauncherCore/build.gradle +++ b/LauncherCore/build.gradle @@ -6,7 +6,6 @@ compileOnly group: 'org.jline', name: 'jline', version: rootProject['verJline'] compileOnly group: 'org.jline', name: 'jline-reader', version: rootProject['verJline'] compileOnly group: 'org.jline', name: 'jline-terminal', version: rootProject['verJline'] - compileOnly group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: rootProject['verBcprov'] compileOnly group: 'org.slf4j', name: 'slf4j-api', version: rootProject['verSlf4j'] api group: 'com.google.code.gson', name: 'gson', version: rootProject['verGson'] testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter', version: rootProject['verJunit'] diff --git a/props.gradle b/props.gradle index 8b85574d..af811c06 100644 --- a/props.gradle +++ b/props.gradle @@ -1,18 +1,16 @@ project.ext { verAsm = '9.7' - verNetty = '4.1.110.Final' + verNetty = '4.1.111.Final' verOshiCore = '6.6.1' verJunit = '5.10.2' - verGuavaC = '30.1.1-jre' verJansi = '2.4.1' verJline = '3.26.1' verJwt = '0.12.5' - verBcprov = '1.70' verGson = '2.11.0' verBcpkix = '1.78.1' verSlf4j = '2.0.13' verLog4j = '2.23.1' - verMySQLConn = '8.4.0' + verMySQLConn = '9.0.0' verMariaDBConn = '3.4.0' verPostgreSQLConn = '42.7.3' verH2Conn = '2.2.224' From 78be60602904459a08086e62a77324c05cd70c70 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Fri, 5 Jul 2024 14:27:45 +0700 Subject: [PATCH 07/26] [FIX] FabricLoader main class --- .../java/pro/gravit/launchserver/helper/MakeProfileHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/helper/MakeProfileHelper.java b/LaunchServer/src/main/java/pro/gravit/launchserver/helper/MakeProfileHelper.java index 50cf3ba9..4423cc1b 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/helper/MakeProfileHelper.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/helper/MakeProfileHelper.java @@ -203,7 +203,7 @@ public static String getMainClassByVersion(ClientProfile.Version version, MakePr return "cpw.mods.modlauncher.Launcher"; } if (findOption(options, MakeProfileOptionFabric.class).isPresent()) { - return "net.fabricmc.loader.launch.knot.KnotClient"; + return "net.fabricmc.loader.impl.launch.knot.KnotClient"; } if(findOption(options, MakeProfilesOptionsQuilt.class).isPresent()) { return "org.quiltmc.loader.impl.launch.knot.KnotClient"; From 353b663e123b28c9613b5a0ccf3aa1fc401ba7c8 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Fri, 5 Jul 2024 14:38:45 +0700 Subject: [PATCH 08/26] [FEATURE] Support command execute by args --- LaunchServer/build.gradle | 1 - .../launchserver/LaunchServerStarter.java | 20 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/LaunchServer/build.gradle b/LaunchServer/build.gradle index bfed90ec..c12ca9a3 100644 --- a/LaunchServer/build.gradle +++ b/LaunchServer/build.gradle @@ -61,7 +61,6 @@ dependsOn jar archiveClassifier.set('clean') manifest.attributes("Main-Class": mainClassName, - "Premain-Class": mainAgentName, "Automatic-Module-Name": "launchserver" ) from sourceSets.main.output diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java index addab8f3..0ddb43b3 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java @@ -34,6 +34,7 @@ import java.nio.file.Path; import java.security.Security; import java.security.cert.CertificateException; +import java.util.ArrayList; import java.util.List; public class LaunchServerStarter { @@ -135,7 +136,24 @@ public static void main(String[] args) throws Exception { .setLaunchServerConfigManager(launchServerConfigManager) .setCertificateManager(certificateManager) .build(); - if (!prepareMode) { + List allArgs = List.of(args); + boolean isPrepareMode = prepareMode || allArgs.contains("--prepare"); + boolean isRunCommand = false; + String runCommand = null; + for(var e : allArgs) { + if(e.equals("--run")) { + isRunCommand = true; + continue; + } + if(isRunCommand) { + runCommand = e; + isRunCommand = false; + } + } + if(runCommand != null) { + localCommandHandler.eval(runCommand, false); + } + if (!isPrepareMode) { server.run(); } else { server.close(); From ef9cbfe0dad0bb2e355d6f582798300a0643cf85 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Fri, 5 Jul 2024 14:38:57 +0700 Subject: [PATCH 09/26] [ANY] Update modules --- modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules b/modules index a52b9cc8..a7719962 160000 --- a/modules +++ b/modules @@ -1 +1 @@ -Subproject commit a52b9cc8552445167b95e8933f4289bbaa70677d +Subproject commit a771996282dc64c0227ce7c5f4057bc8ed143dbc From 3b22b76278b963cc32ba1b8816990f4e1cafc655 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Fri, 5 Jul 2024 14:55:10 +0700 Subject: [PATCH 10/26] [FIX] Cleanroom install --- .../java/pro/gravit/launchserver/helper/MakeProfileHelper.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/helper/MakeProfileHelper.java b/LaunchServer/src/main/java/pro/gravit/launchserver/helper/MakeProfileHelper.java index 4423cc1b..cf09323a 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/helper/MakeProfileHelper.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/helper/MakeProfileHelper.java @@ -196,6 +196,9 @@ public static String getMainClassByVersion(ClientProfile.Version version, MakePr if(version.compareTo(ClientProfileVersions.MINECRAFT_1_7_10) == 0) { return "com.gtnewhorizons.retrofuturabootstrap.Main"; } + if(version.compareTo(ClientProfileVersions.MINECRAFT_1_12_2) == 0) { + return "top.outlands.foundation.boot.Foundation"; // Cleanroom + } if (findOption(options, MakeProfileOptionLaunchWrapper.class).isPresent()) { return "net.minecraft.launchwrapper.Launch"; } From 51411c5838e9ad348dbe1eddf3d3b7c0bffb490c Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Fri, 5 Jul 2024 14:55:21 +0700 Subject: [PATCH 11/26] [ANY] Update modules --- modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules b/modules index a7719962..cd2e4cbc 160000 --- a/modules +++ b/modules @@ -1 +1 @@ -Subproject commit a771996282dc64c0227ce7c5f4057bc8ed143dbc +Subproject commit cd2e4cbcec932601e4f6814b92da5ee9edf9f8dc From bbc5f1722b7aad48a7e5db590c3aafa404b0fc98 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Fri, 5 Jul 2024 15:30:03 +0700 Subject: [PATCH 12/26] [ANY] Update modules --- modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules b/modules index cd2e4cbc..d0e00fd0 160000 --- a/modules +++ b/modules @@ -1 +1 @@ -Subproject commit cd2e4cbcec932601e4f6814b92da5ee9edf9f8dc +Subproject commit d0e00fd09c6f9192976b62bbf5909947afb95b08 From 78b4f1e3aa870d1a7a0b8dc18f1da844820fe878 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Fri, 5 Jul 2024 15:55:54 +0700 Subject: [PATCH 13/26] [FIX] Gson version --- LaunchServer/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/LaunchServer/build.gradle b/LaunchServer/build.gradle index c12ca9a3..303c086f 100644 --- a/LaunchServer/build.gradle +++ b/LaunchServer/build.gradle @@ -91,6 +91,7 @@ pack project(':LauncherAPI') bundle group: 'io.jsonwebtoken', name: 'jjwt-api', version: rootProject['verJwt'] bundle group: 'io.jsonwebtoken', name: 'jjwt-impl', version: rootProject['verJwt'] bundle group: 'io.jsonwebtoken', name: 'jjwt-gson', version: rootProject['verJwt'] + bundle group: 'com.google.code.gson', name: 'gson', version: rootProject['verGson'] annotationProcessor(group: 'org.apache.logging.log4j', name: 'log4j-core', version: rootProject['verLog4j']) testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter', version: rootProject['verJunit'] From 8c11ab0cbebc23b70ea4d8cdb5108c37c83dac2f Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Fri, 5 Jul 2024 16:27:50 +0700 Subject: [PATCH 14/26] [FIX] Disable Sodium lwjgl check --- .../java/pro/gravit/launchserver/helper/MakeProfileHelper.java | 1 + 1 file changed, 1 insertion(+) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/helper/MakeProfileHelper.java b/LaunchServer/src/main/java/pro/gravit/launchserver/helper/MakeProfileHelper.java index cf09323a..5b139d12 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/helper/MakeProfileHelper.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/helper/MakeProfileHelper.java @@ -103,6 +103,7 @@ public static ClientProfile makeProfile(ClientProfile.Version version, String ti } if (fabric.isPresent()) { builder.setAltClassPath(fabric.orElseThrow().getAltClassPath()); + jvmArgs.add("-Dsodium.checks.issue2561=false"); // Please don't check LWJL3 version (Sodium: https://github.com/CaffeineMC/sodium-fabric/issues/2561 ) } if(quilt.isPresent()) { builder.setClassLoaderConfig(ClientProfile.ClassLoaderConfig.SYSTEM_ARGS); From c261496af88555d44e05eeb7dfc8614cb574f45e Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Sat, 6 Jul 2024 01:55:10 +0700 Subject: [PATCH 15/26] [ANY] Update modules --- modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules b/modules index d0e00fd0..b6efad9a 160000 --- a/modules +++ b/modules @@ -1 +1 @@ -Subproject commit d0e00fd09c6f9192976b62bbf5909947afb95b08 +Subproject commit b6efad9aa66b5df9b6d59def76aeb7d3c82a79d1 From 03d53d4a097bb495728f878eb941181893c9b9cd Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Sat, 6 Jul 2024 02:59:36 +0700 Subject: [PATCH 16/26] [FEATURE] Support -Dlaunchserver.dir.libraries --- LaunchServer/src/main/java/pro/gravit/launchserver/Main.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/Main.java b/LaunchServer/src/main/java/pro/gravit/launchserver/Main.java index 8ca8b467..aabf4fe1 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/Main.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/Main.java @@ -21,6 +21,7 @@ public class Main { private static final List classpathOnly = List.of("proguard", "jline", "progressbar", "kotlin", "epoll"); private static final String LOG4J_PROPERTY = "log4j2.configurationFile"; private static final String DEBUG_PROPERTY = "launchserver.main.debug"; + private static final String LIBRARIES_PROPERTY = "launchserver.dir.libraries"; private static boolean isClasspathOnly(Path path) { var fileName = path.getFileName().toString(); for(var e : classpathOnly) { @@ -56,8 +57,9 @@ public static void main(String[] args) throws Throwable { ModuleLaunch launch = new ModuleLaunch(); LaunchOptions options = new LaunchOptions(); options.moduleConf = new LaunchOptions.ModuleConf(); + Path librariesPath = Path.of(System.getProperty(LIBRARIES_PROPERTY, "libraries")); List libraries; - try(Stream files = Files.walk(Path.of("libraries"), FileVisitOption.FOLLOW_LINKS)) { + try(Stream files = Files.walk(librariesPath, FileVisitOption.FOLLOW_LINKS)) { libraries = new ArrayList<>(files.filter(e -> e.getFileName().toString().endsWith(".jar")).toList()); } List classpath = new ArrayList<>(); From df9d05a49c33b85a0708944c1eb0a579f6ba25a6 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Sat, 6 Jul 2024 03:24:02 +0700 Subject: [PATCH 17/26] [FEATURE] Support -Dlaunchserver.dir.modules and -Dlaunchserver.dir.launcher-modules --- .../java/pro/gravit/launchserver/LaunchServer.java | 10 +++++++++- .../pro/gravit/launchserver/LaunchServerStarter.java | 9 +++++---- .../launchermodules/LauncherModuleLoader.java | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java index d3a435ea..1e283ffd 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java @@ -82,6 +82,8 @@ public final class LaunchServer implements Runnable, AutoCloseable, Reconfigurab */ public final Path profilesDir; public final Path tmpDir; + public final Path modulesDir; + public final Path launcherModulesDir; /** * This object contains runtime configuration */ @@ -136,6 +138,8 @@ public LaunchServer(LaunchServerDirectories directories, LaunchServerEnv env, La launcherLibraries = directories.launcherLibrariesDir; launcherLibrariesCompile = directories.launcherLibrariesCompileDir; launcherPack = directories.launcherPackDir; + modulesDir = directories.modules; + launcherModulesDir = directories.launcherModules; this.shardId = shardId; if(!Files.isDirectory(launcherPack)) { Files.createDirectories(launcherPack); @@ -488,7 +492,7 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IO public static class LaunchServerDirectories { public static final String UPDATES_NAME = "updates", PROFILES_NAME = "profiles", TRUSTSTORE_NAME = "truststore", LAUNCHERLIBRARIES_NAME = "launcher-libraries", - LAUNCHERLIBRARIESCOMPILE_NAME = "launcher-libraries-compile", LAUNCHERPACK_NAME = "launcher-pack", KEY_NAME = ".keys"; + LAUNCHERLIBRARIESCOMPILE_NAME = "launcher-libraries-compile", LAUNCHERPACK_NAME = "launcher-pack", KEY_NAME = ".keys", MODULES = "modules", LAUNCHER_MODULES = "launcher-modules"; public Path updatesDir; public Path profilesDir; public Path launcherLibrariesDir; @@ -498,6 +502,8 @@ public static class LaunchServerDirectories { public Path dir; public Path trustStore; public Path tmpDir; + public Path modules; + public Path launcherModules; public void collect() { if (updatesDir == null) updatesDir = getPath(UPDATES_NAME); @@ -509,6 +515,8 @@ public void collect() { if(launcherPackDir == null) launcherPackDir = getPath(LAUNCHERPACK_NAME); if (keyDirectory == null) keyDirectory = getPath(KEY_NAME); + if (modules == null) modules = getPath(MODULES); + if (launcherModules == null) launcherModules = getPath(LAUNCHER_MODULES); if (tmpDir == null) tmpDir = Paths.get(System.getProperty("java.io.tmpdir")).resolve("launchserver-%s".formatted(SecurityHelper.randomStringToken())); } diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java index 0ddb43b3..061ebaaa 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java @@ -52,10 +52,13 @@ public static void main(String[] args) throws Exception { try { Class.forName("org.bouncycastle.jce.provider.BouncyCastleProvider"); Security.addProvider(new BouncyCastleProvider()); - } catch (ClassNotFoundException ex) { + } catch (ClassNotFoundException | NoClassDefFoundError ex) { LogHelper.error("Library BouncyCastle not found! Is directory 'libraries' empty?"); return; } + LaunchServer.LaunchServerDirectories directories = new LaunchServer.LaunchServerDirectories(); + directories.dir = dir; + directories.collect(); CertificateManager certificateManager = new CertificateManager(); try { certificateManager.readTrustStore(dir.resolve("truststore")); @@ -79,7 +82,7 @@ public static void main(String[] args) throws Exception { LaunchServerRuntimeConfig runtimeConfig; LaunchServerConfig config; LaunchServer.LaunchServerEnv env = LaunchServer.LaunchServerEnv.PRODUCTION; - LaunchServerModulesManager modulesManager = new LaunchServerModulesManager(dir.resolve("modules"), dir.resolve("config"), certificateManager.trustManager); + LaunchServerModulesManager modulesManager = new LaunchServerModulesManager(directories.modules, dir.resolve("config"), certificateManager.trustManager); modulesManager.autoload(); modulesManager.initModules(null); registerAll(); @@ -124,8 +127,6 @@ public static void main(String[] args) throws Exception { } LaunchServer.LaunchServerConfigManager launchServerConfigManager = new BasicLaunchServerConfigManager(configFile, runtimeConfigFile); - LaunchServer.LaunchServerDirectories directories = new LaunchServer.LaunchServerDirectories(); - directories.dir = dir; LaunchServer server = new LaunchServerBuilder() .setDirectories(directories) .setEnv(env) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/launchermodules/LauncherModuleLoader.java b/LaunchServer/src/main/java/pro/gravit/launchserver/launchermodules/LauncherModuleLoader.java index f50945a5..922efc05 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/launchermodules/LauncherModuleLoader.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/launchermodules/LauncherModuleLoader.java @@ -33,7 +33,7 @@ public class LauncherModuleLoader { public LauncherModuleLoader(LaunchServer server) { this.server = server; - modulesDir = server.dir.resolve("launcher-modules"); + modulesDir = server.launcherModulesDir; } public void init() { From c7781b30bed90d3ef7e9e7b72a840e0a9e1f108c Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Sat, 6 Jul 2024 22:34:20 +0700 Subject: [PATCH 18/26] [FIX] launcher-libraries-compile not found --- .../gravit/launchserver/binary/tasks/PrepareBuildTask.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/binary/tasks/PrepareBuildTask.java b/LaunchServer/src/main/java/pro/gravit/launchserver/binary/tasks/PrepareBuildTask.java index 09473e54..e509edf3 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/binary/tasks/PrepareBuildTask.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/binary/tasks/PrepareBuildTask.java @@ -37,7 +37,9 @@ public Path process(Path inputFile) throws IOException { server.launcherBinary.addonLibs.clear(); server.launcherBinary.files.clear(); IOHelper.walk(server.launcherLibraries, new ListFileVisitor(server.launcherBinary.coreLibs), false); - IOHelper.walk(server.launcherLibrariesCompile, new ListFileVisitor(server.launcherBinary.addonLibs), false); + if(Files.isDirectory(server.launcherLibrariesCompile)) { + IOHelper.walk(server.launcherLibrariesCompile, new ListFileVisitor(server.launcherBinary.addonLibs), false); + } try(Stream stream = Files.walk(server.launcherPack).filter((e) -> { try { return !Files.isDirectory(e) && !Files.isHidden(e); From 1bebd8de2cc2485f65fe22aff3a935c14077fd7c Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Mon, 8 Jul 2024 21:22:44 +0700 Subject: [PATCH 19/26] [FIX] classLoaderConfig is null --- .../pro/gravit/launcher/base/profiles/ClientProfileBuilder.java | 1 + 1 file changed, 1 insertion(+) diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/base/profiles/ClientProfileBuilder.java b/LauncherAPI/src/main/java/pro/gravit/launcher/base/profiles/ClientProfileBuilder.java index 3b156f50..2839dc03 100644 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/base/profiles/ClientProfileBuilder.java +++ b/LauncherAPI/src/main/java/pro/gravit/launcher/base/profiles/ClientProfileBuilder.java @@ -79,6 +79,7 @@ public ClientProfileBuilder(ClientProfile profile) { this.loadNatives = new ArrayList<>(profile.getLoadNatives()); this.properties = new HashMap<>(profile.getProperties()); this.servers = new ArrayList<>(profile.getServers()); + this.classLoaderConfig = profile.getClassLoaderConfig(); this.flags = new ArrayList<>(profile.getFlags()); this.recommendJavaVersion = profile.getRecommendJavaVersion(); this.minJavaVersion = profile.getMinJavaVersion(); From ec526a343d5cb507cd9322f36f3b2771958553ea Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Mon, 8 Jul 2024 21:29:40 +0700 Subject: [PATCH 20/26] [FIX] OptionalView.fixDependencies throw out of range --- .../gravit/launcher/base/profiles/optional/OptionalView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/base/profiles/optional/OptionalView.java b/LauncherAPI/src/main/java/pro/gravit/launcher/base/profiles/optional/OptionalView.java index 80df3666..7837a127 100644 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/base/profiles/optional/OptionalView.java +++ b/LauncherAPI/src/main/java/pro/gravit/launcher/base/profiles/optional/OptionalView.java @@ -88,7 +88,7 @@ public Set getEnabledActions() { public void fixDependencies() { Set disabled = all.stream().filter(t -> !isEnabled(t)).collect(Collectors.toSet()); for (OptionalFile file : disabled) { - if (file.group != null && Arrays.stream(file.group).noneMatch(this::isEnabled)) { + if (file.group != null && file.group.length > 0 && Arrays.stream(file.group).noneMatch(this::isEnabled)) { enable(file.group[0], false, null); } } From 925007015f96a5c2b7a64477f63b071d930be555 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Tue, 9 Jul 2024 20:57:52 +0700 Subject: [PATCH 21/26] [ANY] Update modules --- modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules b/modules index b6efad9a..0b9e8819 160000 --- a/modules +++ b/modules @@ -1 +1 @@ -Subproject commit b6efad9aa66b5df9b6d59def76aeb7d3c82a79d1 +Subproject commit 0b9e8819db5c3d7db874b334cfa629a73daabf01 From 0894e0b9c3e1f06aac7d7ca60fa351711801e821 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Tue, 16 Jul 2024 17:11:12 +0700 Subject: [PATCH 22/26] [FIX] Sync profiles before updates --- .../java/pro/gravit/launchserver/LaunchServer.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java index 1e283ffd..d3adfbae 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java @@ -355,14 +355,17 @@ public void run() { // Sync updates dir CommonHelper.newThread("Profiles and updates sync", true, () -> { try { - if (!IOHelper.isDir(updatesDir)) - Files.createDirectory(updatesDir); - updatesManager.readUpdatesDir(); - // Sync profiles dir if (!IOHelper.isDir(profilesDir)) Files.createDirectory(profilesDir); syncProfilesDir(); + + // Sync updates dir + if (!IOHelper.isDir(updatesDir)) + Files.createDirectory(updatesDir); + updatesManager.readUpdatesDir(); + + modulesManager.invokeEvent(new LaunchServerProfilesSyncEvent(this)); } catch (IOException e) { logger.error("Updates/Profiles not synced", e); From accbbe6b133a42fd431525dcf51f9f63c5f07e9b Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Tue, 16 Jul 2024 21:54:59 +0700 Subject: [PATCH 23/26] [FEATURE] Support port in launchserver address in first run --- .../gravit/launchserver/LaunchServerStarter.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java index 061ebaaa..c3097c0c 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java @@ -220,7 +220,7 @@ public static void generateConfigIfNotExists(Path configFile, CommandHandler com address = System.getProperty("launchserver.address", null); } if (address == null) { - System.out.println("LaunchServer address(default: localhost): "); + System.out.println("External launchServer address:port (default: localhost:9274): "); address = commandHandler.readLine(); } String projectName = System.getenv("PROJECTNAME"); @@ -234,18 +234,18 @@ public static void generateConfigIfNotExists(Path configFile, CommandHandler com newConfig.setProjectName(projectName); } if (address == null || address.isEmpty()) { - logger.error("Address null. Using localhost"); - address = "localhost"; + logger.error("Address null. Using localhost:9274"); + address = "localhost:9274"; } if (newConfig.projectName == null || newConfig.projectName.isEmpty()) { logger.error("ProjectName null. Using MineCraft"); newConfig.projectName = "MineCraft"; } - newConfig.netty.address = "ws://" + address + ":9274/api"; - newConfig.netty.downloadURL = "http://" + address + ":9274/%dirname%/"; - newConfig.netty.launcherURL = "http://" + address + ":9274/Launcher.jar"; - newConfig.netty.launcherEXEURL = "http://" + address + ":9274/Launcher.exe"; + newConfig.netty.address = "ws://" + address + "/api"; + newConfig.netty.downloadURL = "http://" + address + "/%dirname%/"; + newConfig.netty.launcherURL = "http://" + address + "/Launcher.jar"; + newConfig.netty.launcherEXEURL = "http://" + address + "/Launcher.exe"; // Write LaunchServer config logger.info("Writing LaunchServer config file"); From 992d31c8832dbe071756cd52d982a6f8c9df6dc2 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Tue, 16 Jul 2024 22:05:13 +0700 Subject: [PATCH 24/26] [FEATURE] Set netty bind port in first run --- .../gravit/launchserver/LaunchServerStarter.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java index c3097c0c..16542fb6 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java @@ -241,11 +241,22 @@ public static void generateConfigIfNotExists(Path configFile, CommandHandler com logger.error("ProjectName null. Using MineCraft"); newConfig.projectName = "MineCraft"; } - + int port = 9274; + if(address.contains(":")) { + String portString = address.substring(address.indexOf(':')+1); + try { + port = Integer.parseInt(portString); + } catch (NumberFormatException e) { + logger.warn("Unknown port {}, using 9274", portString); + } + } else { + logger.info("Address {} doesn't contains port (you want to use nginx?)", address); + } newConfig.netty.address = "ws://" + address + "/api"; newConfig.netty.downloadURL = "http://" + address + "/%dirname%/"; newConfig.netty.launcherURL = "http://" + address + "/Launcher.jar"; newConfig.netty.launcherEXEURL = "http://" + address + "/Launcher.exe"; + newConfig.netty.binds[0].port = port; // Write LaunchServer config logger.info("Writing LaunchServer config file"); From 1bd5d8854c584eab5c688227247e6194f2040986 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Wed, 17 Jul 2024 01:32:51 +0700 Subject: [PATCH 25/26] [FIX] ProGuard and launchserver.dir.libraries --- .../main/java/pro/gravit/launchserver/LaunchServer.java | 8 ++++++-- .../gravit/launchserver/components/ProGuardComponent.java | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java index d3adfbae..6a50ae8e 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java @@ -84,6 +84,7 @@ public final class LaunchServer implements Runnable, AutoCloseable, Reconfigurab public final Path tmpDir; public final Path modulesDir; public final Path launcherModulesDir; + public final Path librariesDir; /** * This object contains runtime configuration */ @@ -140,6 +141,7 @@ public LaunchServer(LaunchServerDirectories directories, LaunchServerEnv env, La launcherPack = directories.launcherPackDir; modulesDir = directories.modules; launcherModulesDir = directories.launcherModules; + librariesDir = directories.launcherLibrariesDir; this.shardId = shardId; if(!Files.isDirectory(launcherPack)) { Files.createDirectories(launcherPack); @@ -495,9 +497,10 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IO public static class LaunchServerDirectories { public static final String UPDATES_NAME = "updates", PROFILES_NAME = "profiles", TRUSTSTORE_NAME = "truststore", LAUNCHERLIBRARIES_NAME = "launcher-libraries", - LAUNCHERLIBRARIESCOMPILE_NAME = "launcher-libraries-compile", LAUNCHERPACK_NAME = "launcher-pack", KEY_NAME = ".keys", MODULES = "modules", LAUNCHER_MODULES = "launcher-modules"; + LAUNCHERLIBRARIESCOMPILE_NAME = "launcher-libraries-compile", LAUNCHERPACK_NAME = "launcher-pack", KEY_NAME = ".keys", MODULES = "modules", LAUNCHER_MODULES = "launcher-modules", LIBRARIES = "libraries"; public Path updatesDir; public Path profilesDir; + public Path librariesDir; public Path launcherLibrariesDir; public Path launcherLibrariesCompileDir; public Path launcherPackDir; @@ -515,11 +518,12 @@ public void collect() { if (launcherLibrariesDir == null) launcherLibrariesDir = getPath(LAUNCHERLIBRARIES_NAME); if (launcherLibrariesCompileDir == null) launcherLibrariesCompileDir = getPath(LAUNCHERLIBRARIESCOMPILE_NAME); - if(launcherPackDir == null) + if (launcherPackDir == null) launcherPackDir = getPath(LAUNCHERPACK_NAME); if (keyDirectory == null) keyDirectory = getPath(KEY_NAME); if (modules == null) modules = getPath(MODULES); if (launcherModules == null) launcherModules = getPath(LAUNCHER_MODULES); + if (librariesDir == null) librariesDir = getPath(LIBRARIES); if (tmpDir == null) tmpDir = Paths.get(System.getProperty("java.io.tmpdir")).resolve("launchserver-%s".formatted(SecurityHelper.randomStringToken())); } diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/components/ProGuardComponent.java b/LaunchServer/src/main/java/pro/gravit/launchserver/components/ProGuardComponent.java index 97a36b49..9b1586bb 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/components/ProGuardComponent.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/components/ProGuardComponent.java @@ -213,7 +213,7 @@ public Path process(Path inputFile) throws IOException { args.add(IOHelper.resolveJavaBin(IOHelper.JVM_DIR).toAbsolutePath().toString()); args.addAll(component.jvmArgs); args.add("-cp"); - try(Stream files = Files.walk(Path.of("libraries"), FileVisitOption.FOLLOW_LINKS)) { + try(Stream files = Files.walk(server.librariesDir, FileVisitOption.FOLLOW_LINKS)) { args.add(files .filter(e -> e.getFileName().toString().endsWith(".jar")) .map(path -> path.toAbsolutePath().toString()) From c8c83c0dba9ea9076eb4d19dc319fc5830033081 Mon Sep 17 00:00:00 2001 From: Gravita <12893402+gravit0@users.noreply.github.com> Date: Thu, 18 Jul 2024 15:54:45 +0700 Subject: [PATCH 26/26] [ANY] 5.6.3-stable --- LauncherCore/src/main/java/pro/gravit/utils/Version.java | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LauncherCore/src/main/java/pro/gravit/utils/Version.java b/LauncherCore/src/main/java/pro/gravit/utils/Version.java index 6c9a7360..73b08ab8 100644 --- a/LauncherCore/src/main/java/pro/gravit/utils/Version.java +++ b/LauncherCore/src/main/java/pro/gravit/utils/Version.java @@ -8,7 +8,7 @@ public final class Version implements Comparable { public static final int MINOR = 6; public static final int PATCH = 3; public static final int BUILD = 1; - public static final Version.Type RELEASE = Type.DEV; + public static final Version.Type RELEASE = Type.STABLE; public final int major; public final int minor; public final int patch; diff --git a/build.gradle b/build.gradle index 211d7b5d..4de8fcae 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ id 'org.openjfx.javafxplugin' version '0.1.0' apply false } group = 'pro.gravit.launcher' -version = '5.6.2' +version = '5.6.3' apply from: 'props.gradle'