diff --git a/LaunchServer/resources/launchserver/defaults/profile1.10.2.cfg b/LaunchServer/resources/launchserver/defaults/profile1.10.2.cfg index 8aeeb3a..7a3dff4 100644 --- a/LaunchServer/resources/launchserver/defaults/profile1.10.2.cfg +++ b/LaunchServer/resources/launchserver/defaults/profile1.10.2.cfg @@ -30,12 +30,16 @@ "-Dfml.ignoreInvalidMinecraftCertificates=true", # Some options from Mojang's launcher - "-XX:+UseConcMarkSweepGC", - "-XX:+CMSIncrementalMode", - "-XX:-UseAdaptiveSizePolicy", - "-Xmn128M", + "-XX:+UseG1GC", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1NewSizePercent=20", + "-XX:G1ReservePercent=20", + "-XX:MaxGCPauseMillis=50", + "-XX:G1HeapRegionSize=32M", - # JVM Attach protection + # Some options from me + "-XX:+AlwaysPreTouch", + "-XX:-TieredCompilation", "-XX:+DisableAttachMechanism" ]; clientArgs: [ diff --git a/LaunchServer/resources/launchserver/defaults/profile1.11.2.cfg b/LaunchServer/resources/launchserver/defaults/profile1.11.2.cfg index d224593..a5abca6 100644 --- a/LaunchServer/resources/launchserver/defaults/profile1.11.2.cfg +++ b/LaunchServer/resources/launchserver/defaults/profile1.11.2.cfg @@ -30,12 +30,16 @@ "-Dfml.ignoreInvalidMinecraftCertificates=true", # Some options from Mojang's launcher - "-XX:+UseConcMarkSweepGC", - "-XX:+CMSIncrementalMode", - "-XX:-UseAdaptiveSizePolicy", - "-Xmn128M", + "-XX:+UseG1GC", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1NewSizePercent=20", + "-XX:G1ReservePercent=20", + "-XX:MaxGCPauseMillis=50", + "-XX:G1HeapRegionSize=32M", - # JVM Attach protection + # Some options from me + "-XX:+AlwaysPreTouch", + "-XX:-TieredCompilation", "-XX:+DisableAttachMechanism" ]; clientArgs: [ diff --git a/LaunchServer/resources/launchserver/defaults/profile1.12.2.cfg b/LaunchServer/resources/launchserver/defaults/profile1.12.2.cfg index 7232a90..b5a52bf 100644 --- a/LaunchServer/resources/launchserver/defaults/profile1.12.2.cfg +++ b/LaunchServer/resources/launchserver/defaults/profile1.12.2.cfg @@ -30,12 +30,16 @@ "-Dfml.ignoreInvalidMinecraftCertificates=true", # Some options from Mojang's launcher - "-XX:+UseConcMarkSweepGC", - "-XX:+CMSIncrementalMode", - "-XX:-UseAdaptiveSizePolicy", - "-Xmn128M", + "-XX:+UseG1GC", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1NewSizePercent=20", + "-XX:G1ReservePercent=20", + "-XX:MaxGCPauseMillis=50", + "-XX:G1HeapRegionSize=32M", - # JVM Attach protection + # Some options from me + "-XX:+AlwaysPreTouch", + "-XX:-TieredCompilation", "-XX:+DisableAttachMechanism" ]; clientArgs: [ diff --git a/LaunchServer/resources/launchserver/defaults/profile1.13.2.cfg b/LaunchServer/resources/launchserver/defaults/profile1.13.2.cfg index 5ab4ff0..48e09d5 100644 --- a/LaunchServer/resources/launchserver/defaults/profile1.13.2.cfg +++ b/LaunchServer/resources/launchserver/defaults/profile1.13.2.cfg @@ -27,12 +27,16 @@ classPath: [ "minecraft.jar", "libraries" ]; jvmArgs: [ # Some options from Mojang's launcher - "-XX:+UseConcMarkSweepGC", - "-XX:+CMSIncrementalMode", - "-XX:-UseAdaptiveSizePolicy", - "-Xmn128M", + "-XX:+UseG1GC", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1NewSizePercent=20", + "-XX:G1ReservePercent=20", + "-XX:MaxGCPauseMillis=50", + "-XX:G1HeapRegionSize=32M", - # JVM Attach protection + # Some options from me + "-XX:+AlwaysPreTouch", + "-XX:-TieredCompilation", "-XX:+DisableAttachMechanism" ]; clientArgs: [ diff --git a/LaunchServer/resources/launchserver/defaults/profile1.4.7.cfg b/LaunchServer/resources/launchserver/defaults/profile1.4.7.cfg index 4726cd5..12563f2 100644 --- a/LaunchServer/resources/launchserver/defaults/profile1.4.7.cfg +++ b/LaunchServer/resources/launchserver/defaults/profile1.4.7.cfg @@ -26,12 +26,16 @@ classPath: [ "minecraft.jar", "libraries" ]; jvmArgs: [ # Some options from Mojang's launcher - "-XX:+UseConcMarkSweepGC", - "-XX:+CMSIncrementalMode", - "-XX:-UseAdaptiveSizePolicy", - "-Xmn128M", + "-XX:+UseG1GC", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1NewSizePercent=20", + "-XX:G1ReservePercent=20", + "-XX:MaxGCPauseMillis=50", + "-XX:G1HeapRegionSize=32M", - # JVM Attach protection + # Some options from me + "-XX:+AlwaysPreTouch", + "-XX:-TieredCompilation", "-XX:+DisableAttachMechanism", # Legacy bridge (for 1.6.4 & lower) settings diff --git a/LaunchServer/resources/launchserver/defaults/profile1.5.2.cfg b/LaunchServer/resources/launchserver/defaults/profile1.5.2.cfg index 0e00dc9..142209b 100644 --- a/LaunchServer/resources/launchserver/defaults/profile1.5.2.cfg +++ b/LaunchServer/resources/launchserver/defaults/profile1.5.2.cfg @@ -26,12 +26,16 @@ classPath: [ "minecraft.jar", "libraries" ]; jvmArgs: [ # Some options from Mojang's launcher - "-XX:+UseConcMarkSweepGC", - "-XX:+CMSIncrementalMode", - "-XX:-UseAdaptiveSizePolicy", - "-Xmn128M", + "-XX:+UseG1GC", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1NewSizePercent=20", + "-XX:G1ReservePercent=20", + "-XX:MaxGCPauseMillis=50", + "-XX:G1HeapRegionSize=32M", - # JVM Attach protection + # Some options from me + "-XX:+AlwaysPreTouch", + "-XX:-TieredCompilation", "-XX:+DisableAttachMechanism", # Legacy bridge (for 1.6.4 & lower) settings diff --git a/LaunchServer/resources/launchserver/defaults/profile1.6.4.cfg b/LaunchServer/resources/launchserver/defaults/profile1.6.4.cfg index 1d62640..a90be9f 100644 --- a/LaunchServer/resources/launchserver/defaults/profile1.6.4.cfg +++ b/LaunchServer/resources/launchserver/defaults/profile1.6.4.cfg @@ -30,12 +30,16 @@ "-Dfml.ignoreInvalidMinecraftCertificates=true", # Some options from Mojang's launcher - "-XX:+UseConcMarkSweepGC", - "-XX:+CMSIncrementalMode", - "-XX:-UseAdaptiveSizePolicy", - "-Xmn128M", + "-XX:+UseG1GC", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1NewSizePercent=20", + "-XX:G1ReservePercent=20", + "-XX:MaxGCPauseMillis=50", + "-XX:G1HeapRegionSize=32M", - # JVM Attach protection + # Some options from me + "-XX:+AlwaysPreTouch", + "-XX:-TieredCompilation", "-XX:+DisableAttachMechanism", # Legacy bridge (for 1.6.4 & lower) settings diff --git a/LaunchServer/resources/launchserver/defaults/profile1.7.10.cfg b/LaunchServer/resources/launchserver/defaults/profile1.7.10.cfg index 62af14a..e07895d 100644 --- a/LaunchServer/resources/launchserver/defaults/profile1.7.10.cfg +++ b/LaunchServer/resources/launchserver/defaults/profile1.7.10.cfg @@ -34,12 +34,16 @@ "-Dfml.ignoreInvalidMinecraftCertificates=true", # Some options from Mojang's launcher - "-XX:+UseConcMarkSweepGC", - "-XX:+CMSIncrementalMode", - "-XX:-UseAdaptiveSizePolicy", - "-Xmn128M", + "-XX:+UseG1GC", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1NewSizePercent=20", + "-XX:G1ReservePercent=20", + "-XX:MaxGCPauseMillis=50", + "-XX:G1HeapRegionSize=32M", - # JVM Attach protection + # Some options from me + "-XX:+AlwaysPreTouch", + "-XX:-TieredCompilation", "-XX:+DisableAttachMechanism" ]; clientArgs: [ diff --git a/LaunchServer/resources/launchserver/defaults/profile1.7.2.cfg b/LaunchServer/resources/launchserver/defaults/profile1.7.2.cfg index a9d73e0..bdddeaa 100644 --- a/LaunchServer/resources/launchserver/defaults/profile1.7.2.cfg +++ b/LaunchServer/resources/launchserver/defaults/profile1.7.2.cfg @@ -30,12 +30,16 @@ "-Dfml.ignoreInvalidMinecraftCertificates=true", # Some options from Mojang's launcher - "-XX:+UseConcMarkSweepGC", - "-XX:+CMSIncrementalMode", - "-XX:-UseAdaptiveSizePolicy", - "-Xmn128M", + "-XX:+UseG1GC", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1NewSizePercent=20", + "-XX:G1ReservePercent=20", + "-XX:MaxGCPauseMillis=50", + "-XX:G1HeapRegionSize=32M", - # JVM Attach protection + # Some options from me + "-XX:+AlwaysPreTouch", + "-XX:-TieredCompilation", "-XX:+DisableAttachMechanism" ]; clientArgs: [ diff --git a/LaunchServer/resources/launchserver/defaults/profile1.8.9.cfg b/LaunchServer/resources/launchserver/defaults/profile1.8.9.cfg index 5e93176..9f911ca 100644 --- a/LaunchServer/resources/launchserver/defaults/profile1.8.9.cfg +++ b/LaunchServer/resources/launchserver/defaults/profile1.8.9.cfg @@ -30,12 +30,16 @@ "-Dfml.ignoreInvalidMinecraftCertificates=true", # Some options from Mojang's launcher - "-XX:+UseConcMarkSweepGC", - "-XX:+CMSIncrementalMode", - "-XX:-UseAdaptiveSizePolicy", - "-Xmn128M", + "-XX:+UseG1GC", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1NewSizePercent=20", + "-XX:G1ReservePercent=20", + "-XX:MaxGCPauseMillis=50", + "-XX:G1HeapRegionSize=32M", - # JVM Attach protection + # Some options from me + "-XX:+AlwaysPreTouch", + "-XX:-TieredCompilation", "-XX:+DisableAttachMechanism" ]; clientArgs: [ diff --git a/LaunchServer/resources/launchserver/defaults/profile1.9.4.cfg b/LaunchServer/resources/launchserver/defaults/profile1.9.4.cfg index cfdeefa..d350651 100644 --- a/LaunchServer/resources/launchserver/defaults/profile1.9.4.cfg +++ b/LaunchServer/resources/launchserver/defaults/profile1.9.4.cfg @@ -30,12 +30,16 @@ "-Dfml.ignoreInvalidMinecraftCertificates=true", # Some options from Mojang's launcher - "-XX:+UseConcMarkSweepGC", - "-XX:+CMSIncrementalMode", - "-XX:-UseAdaptiveSizePolicy", - "-Xmn128M", + "-XX:+UseG1GC", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1NewSizePercent=20", + "-XX:G1ReservePercent=20", + "-XX:MaxGCPauseMillis=50", + "-XX:G1HeapRegionSize=32M", - # JVM Attach protection + # Some options from me + "-XX:+AlwaysPreTouch", + "-XX:-TieredCompilation", "-XX:+DisableAttachMechanism" ]; clientArgs: [ diff --git a/LaunchServer/source/auth/provider/MojangAuthProvider.java b/LaunchServer/source/auth/provider/MojangAuthProvider.java index 0532baa..c4d577c 100644 --- a/LaunchServer/source/auth/provider/MojangAuthProvider.java +++ b/LaunchServer/source/auth/provider/MojangAuthProvider.java @@ -16,6 +16,7 @@ import com.eclipsesource.json.JsonValue; import com.eclipsesource.json.WriterConfig; import launcher.helper.IOHelper; +import launcher.helper.LogHelper; import launcher.serialize.config.entry.BlockConfigEntry; public final class MojangAuthProvider extends AuthProvider { @@ -76,6 +77,7 @@ // Parse response String json = new String(IOHelper.read(input), charsetObject); + LogHelper.subDebug("Raw Mojang response: '" + json + '\''); return json.isEmpty() ? null : Json.parse(json).asObject(); } } diff --git a/Launcher/source/client/ClientLauncher.java b/Launcher/source/client/ClientLauncher.java index 79f289e..d26da3c 100644 --- a/Launcher/source/client/ClientLauncher.java +++ b/Launcher/source/client/ClientLauncher.java @@ -317,6 +317,8 @@ // Invoke main method with exception wrapping LAUNCHED.set(true); JVMHelper.fullGC(); + System.setProperty("minecraft.launcher.brand", "sashok724's Launcher v3"); + System.setProperty("minecraft.launcher.version", Launcher.VERSION); System.setProperty("minecraft.applet.TargetDirectory", params.clientDir.toString()); // For 1.5.2 mainMethod.invoke((Object) args.toArray(EMPTY_ARRAY)); } diff --git a/Launcher/source/helper/JVMHelper.java b/Launcher/source/helper/JVMHelper.java index 9c72ba4..7bdc687 100644 --- a/Launcher/source/helper/JVMHelper.java +++ b/Launcher/source/helper/JVMHelper.java @@ -154,7 +154,7 @@ private static int getRAMAmount() { int physicalRam = (int) (OPERATING_SYSTEM_MXBEAN.getTotalPhysicalMemorySize() >> 20); - return Math.min(physicalRam, OS_BITS == 32 ? 1536 : 8192); // Limit 32-bit OS to 1536 MiB, and 64-bit OS to 4096 MiB (because it's enough) + return Math.min(physicalRam, OS_BITS == 32 ? 1536 : 8192); // Limit 32-bit OS to 1536 MiB, and 64-bit OS to 8192 MiB (because it's enough) } public static Class firstClass(String... names) throws ClassNotFoundException { diff --git a/compat/auth/dle10.php b/compat/auth/dle10.php new file mode 100644 index 0000000..cc2e69f --- /dev/null +++ b/compat/auth/dle10.php @@ -0,0 +1,41 @@ +safesql((string) $login); + +// Verify password +$is_logged = false; +$member_id = $db->super_query("SELECT * FROM " . USERPREFIX . "_users WHERE name='{$login}' OR email='{$login}' LIMIT 1"); +if($member_id['user_id'] AND $member_id['password']) { + if(is_md5hash($member_id['password'])) { + if($member_id['password'] == md5(md5($password))) { + $is_logged = true; + } + } else if(password_verify($password, $member_id['password'] ) ) { + $is_logged = true; + } +} + +// We're done +echo($is_logged ? 'OK:' . $member_id['name'] : 'Incorrect login or password'); +?> diff --git a/compat/auth/ipb4.php b/compat/auth/ipb4.php new file mode 100644 index 0000000..03b76ab --- /dev/null +++ b/compat/auth/ipb4.php @@ -0,0 +1,32 @@ + $handler) { + try { + $member = $handler->authenticate(array('auth' => $login, 'password' => $password)); + if (!$member->member_id) { + $member = NULL; + continue; + } + break; + } catch (\Exception $e) { + // Do nothing + } +} + +// We're done +echo($member ? 'OK:' . $member->name : 'Incorrect login or password'); +?> diff --git a/compat/auth/joomla.php b/compat/auth/joomla.php new file mode 100644 index 0000000..7f85707 --- /dev/null +++ b/compat/auth/joomla.php @@ -0,0 +1,33 @@ +login($credentials, $options) === true; + +// We're done +echo($logged_in ? 'OK:' . $login : 'Incorrect login or password'); +?> diff --git a/compat/auth/xenforo.php b/compat/auth/xenforo.php index b40e796..49e6ab5 100644 --- a/compat/auth/xenforo.php +++ b/compat/auth/xenforo.php @@ -38,7 +38,9 @@ $auth = new XenForo_Authentication_Core12; } else if(class_exists('XenForo_Authentication_Core')) { $auth = new XenForo_Authentication_Core; -} else exit('Unable to select authentication core'); +} else { + exit('Unable to select authentication core'); +} // Try authenticate $auth->setData($data); diff --git a/compat/auth/xenforo2.php b/compat/auth/xenforo2.php new file mode 100644 index 0000000..32ff74b --- /dev/null +++ b/compat/auth/xenforo2.php @@ -0,0 +1,22 @@ +service('XF:User\Login', $login, $app->request->getIp()); + +// Try authenticate user +$error = null; +$user = $loginService->validate($password, $error); +echo($user ? 'OK:' . $user->username : 'Incorrect login or password'); +?>