From 46dce9d6c791aaeb1270bdb0f7451c245804b7b3 Mon Sep 17 00:00:00 2001 From: Timerix22 Date: Fri, 5 Jan 2024 21:44:51 +0600 Subject: [PATCH] fixed launch args --- .../Launcher.LaunchGame.cs | 62 ++++++++++++++----- minecraft-launcher-client/Launcher.cs | 5 +- 2 files changed, 50 insertions(+), 17 deletions(-) diff --git a/minecraft-launcher-client/Launcher.LaunchGame.cs b/minecraft-launcher-client/Launcher.LaunchGame.cs index 0b3616b..ac9c73b 100644 --- a/minecraft-launcher-client/Launcher.LaunchGame.cs +++ b/minecraft-launcher-client/Launcher.LaunchGame.cs @@ -4,10 +4,33 @@ namespace launcher_client; internal static partial class Launcher { - static string ConstructGameOptions(string username, string uuid, int maxmemory, int width, int height) - => @"-Djava.net.preferIPv4Stack=true ""-Dos.name=Windows 10"" -Dos.version=10.0 " + - $@"-Xmn256M -Xmx{maxmemory}M -Djava.library.path=version\natives -cp " + - @"libraries\net\minecraftforge\forge\1.12.2-14.23.5.2855\forge-1.12.2-14.23.5.2855.jar;" + + static string ConstructGameLaunchArgs(string username, string uuid, int maxmemory, int width, int height, + string gameDir) + => "-XX:+UnlockExperimentalVMOptions " + + "-XX:+UseG1GC " + + "-XX:G1NewSizePercent=20 " + + "-XX:G1ReservePercent=20 " + + "-XX:MaxGCPauseMillis=50 " + + "-XX:G1HeapRegionSize=32M " + + "-XX:+DisableExplicitGC " + + "-XX:+AlwaysPreTouch " + + "-XX:+ParallelRefProcEnabled " + + "-Xms512M " + + $"-Xmx{maxmemory}M " + + "-Dfile.encoding=UTF-8 " + + "-Dfml.ignoreInvalidMinecraftCertificates=true " + + "-Dfml.ignorePatchDiscrepancies=true " + + "-Djava.net.useSystemProxies=true " + + "-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump " + + "\"-Dos.name=Windows 10\" " + + "-Dos.version=10.0 " + + @"-Djava.library.path=versions\1.12.2-forge-14.23.5.2860\natives " + + "-Dminecraft.launcher.brand=java-minecraft-launcher " + + "-Dminecraft.launcher.version=1.6.84-j " + + @"-Dminecraft.client.jar=versions\1.12.2-forge-14.23.5.2860\1.12.2-forge-14.23.5.2860.jar " + + "-cp " + + @"libraries\com\turikhay\ca-fixer\1.0\ca-fixer-1.0.jar;" + + @"libraries\net\minecraftforge\forge\1.12.2-14.23.5.2860\forge-1.12.2-14.23.5.2860.jar;" + @"libraries\org\ow2\asm\asm-debug-all\5.2\asm-debug-all-5.2.jar;" + @"libraries\net\minecraft\launchwrapper\1.12\launchwrapper-1.12.jar;" + @"libraries\org\jline\jline\3.5.1\jline-3.5.1.jar;" + @@ -15,8 +38,8 @@ internal static partial class Launcher @"libraries\com\typesafe\config\1.2.1\config-1.2.1.jar;" + @"libraries\org\scala-lang\scala-actors-migration_2.11\1.1.0\scala-actors-migration_2.11-1.1.0.jar;" + @"libraries\org\scala-lang\scala-compiler\2.11.1\scala-compiler-2.11.1.jar;" + - @"libraries\org\scala-lang\plugins\scala-continuations-library_2.11\1.0.2_mc\scala-continuations-library_2.11-1.0.2_mc.jar;l" + - @"ibraries\org\scala-lang\plugins\scala-continuations-plugin_2.11.1\1.0.2_mc\scala-continuations-plugin_2.11.1-1.0.2_mc.jar;" + + @"libraries\org\scala-lang\plugins\scala-continuations-library_2.11\1.0.2_mc\scala-continuations-library_2.11-1.0.2_mc.jar;" + + @"libraries\org\scala-lang\plugins\scala-continuations-plugin_2.11.1\1.0.2_mc\scala-continuations-plugin_2.11.1-1.0.2_mc.jar;" + @"libraries\org\scala-lang\scala-library\2.11.1\scala-library-2.11.1.jar;" + @"libraries\org\scala-lang\scala-parser-combinators_2.11\1.0.1\scala-parser-combinators_2.11-1.0.1.jar;" + @"libraries\org\scala-lang\scala-reflect\2.11.1\scala-reflect-2.11.1.jar;" + @@ -27,11 +50,13 @@ internal static partial class Launcher @"libraries\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar;" + @"libraries\org\apache\maven\maven-artifact\3.5.3\maven-artifact-3.5.3.jar;" + @"libraries\net\sf\jopt-simple\jopt-simple\5.0.3\jopt-simple-5.0.3.jar;" + + @"libraries\org\apache\logging\log4j\log4j-api\2.15.0\log4j-api-2.15.0.jar;" + + @"libraries\org\apache\logging\log4j\log4j-core\2.15.0\log4j-core-2.15.0.jar;" + + @"libraries\ru\tlauncher\patchy\1.0.0\patchy-1.0.0.jar;" + @"libraries\oshi-project\oshi-core\1.1\oshi-core-1.1.jar;" + @"libraries\net\java\dev\jna\jna\4.4.0\jna-4.4.0.jar;" + @"libraries\net\java\dev\jna\platform\3.4.0\platform-3.4.0.jar;" + @"libraries\com\ibm\icu\icu4j-core-mojang\51.2\icu4j-core-mojang-51.2.jar;" + - @"libraries\net\sf\jopt-simple\jopt-simple\5.0.3\jopt-simple-5.0.3.jar;" + @"libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;" + @"libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;" + @"libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;" + @@ -45,7 +70,7 @@ internal static partial class Launcher @"libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;" + @"libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;" + @"libraries\com\google\code\gson\gson\2.8.0\gson-2.8.0.jar;" + - @"libraries\com\mojang\authlib\1.5.25\authlib-1.5.25.jar;" + + @"libraries\by\ely\authlib\3.11.49.2\authlib-3.11.49.2.jar;" + @"libraries\com\mojang\realms\1.10.22\realms-1.10.22.jar;" + @"libraries\org\apache\commons\commons-compress\1.8.1\commons-compress-1.8.1.jar;" + @"libraries\org\apache\httpcomponents\httpclient\4.3.3\httpclient-4.3.3.jar;" + @@ -57,11 +82,18 @@ internal static partial class Launcher @"libraries\org\lwjgl\lwjgl\lwjgl\2.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar;" + @"libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar;" + @"libraries\com\mojang\text2speech\1.10.3\text2speech-1.10.3.jar;" + - @"version\1.12.2-forge-14.23.5.2855.jar " + - @"-Dminecraft.applet.TargetDirectory=.\ " + - "-Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true " + - $"net.minecraft.launchwrapper.Launch --username {username} --version 1.12.2-forge-14.23.5.2855 " + - @"--gameDir .\ --assetsDir assets --assetIndex 1.12 " + - $"--uuid {uuid} --accessToken null --userType mojang --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker " + - $"--versionType Forge --width {width} --height {height}"; + @"versions\1.12.2-forge-14.23.5.2860\1.12.2-forge-14.23.5.2860.jar " + + "-Xss2M net.minecraft.launchwrapper.Launch " + + $"--username {username} " + + "--version 1.12.2-forge-14.23.5.2860 " + + $"--gameDir {gameDir} " + + "--assetsDir assets " + + "--assetIndex 1.12 " + + $"--uuid {uuid} " + + "--accessToken null " + + "--userType mojang " + + "--tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker " + + "--versionType Forge " + + $"--width {width} " + + $"--height {height}"; } \ No newline at end of file diff --git a/minecraft-launcher-client/Launcher.cs b/minecraft-launcher-client/Launcher.cs index bc3960a..1c9f103 100644 --- a/minecraft-launcher-client/Launcher.cs +++ b/minecraft-launcher-client/Launcher.cs @@ -142,11 +142,12 @@ internal static partial class Launcher // запуск майнкрафта logger.LogInfo("Main", "launching minecraft"); - string gameOptions = ConstructGameOptions(config.Username, + string gameOptions = ConstructGameLaunchArgs(config.Username, NameUUIDFromString("OfflinePlayer:" + config.Username), config.GameMemory, config.GameWindowWidth, - config.GameWindowHeight); + config.GameWindowHeight, + Directory.GetCurrent()); logger.LogDebug("LaunchGame", gameOptions); var gameProcess = Process.Start($"{config.JavaPath}\\java.exe", gameOptions); gameProcess.WaitForExit();