fixed launch args

This commit is contained in:
Timerix22 2024-01-05 21:44:51 +06:00
parent edfbd4b22d
commit 46dce9d6c7
2 changed files with 50 additions and 17 deletions

View File

@ -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}";
}

View File

@ -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();