From 2cb531c4c46bd8dc7c90919e5e815b37ec454878 Mon Sep 17 00:00:00 2001 From: Schmarni Date: Wed, 8 Jul 2026 19:38:05 +0200 Subject: [PATCH 1/2] unset preferIPv4Stack after installer, fixing ipv6 only servers Signed-off-by: Schmarni --- .../zekerzhayard/forgewrapper/installer/Installer.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/github/zekerzhayard/forgewrapper/installer/Installer.java b/src/main/java/io/github/zekerzhayard/forgewrapper/installer/Installer.java index 98b9d1a..e31428c 100644 --- a/src/main/java/io/github/zekerzhayard/forgewrapper/installer/Installer.java +++ b/src/main/java/io/github/zekerzhayard/forgewrapper/installer/Installer.java @@ -42,7 +42,8 @@ public static Map getData(File librariesDir) { public static boolean install(File libraryDir, File minecraftJar, File installerJar) throws Throwable { ProgressCallback monitor = ProgressCallback.withOutputs(System.out); - if (System.getProperty("java.net.preferIPv4Stack") == null) { + boolean prefer_ipv4_stack_unset = System.getProperty("java.net.preferIPv4Stack") == null; + if (prefer_ipv4_stack_unset) { System.setProperty("java.net.preferIPv4Stack", "true"); } String vendor = System.getProperty("java.vendor", "missing vendor"); @@ -55,6 +56,9 @@ public static boolean install(File libraryDir, File minecraftJar, File installer // MinecraftForge has removed all old installers since 2024/2/27, but they still exist in NeoForge. PostProcessors processors = new PostProcessors(wrapper, true, monitor); Method processMethod = PostProcessors.class.getMethod("process", File.class, File.class, File.class, File.class); + if (prefer_ipv4_stack_unset) { + System.clearProperty("java.net.preferIPv4Stack"); + } if (boolean.class.equals(processMethod.getReturnType())) { return (boolean) processMethod.invoke(processors, libraryDir, minecraftJar, libraryDir.getParentFile(), installerJar); } else { From dcd6ad0420ec078a9ade438f58d80d18232dfa10 Mon Sep 17 00:00:00 2001 From: Schmarni Date: Thu, 9 Jul 2026 01:23:07 +0200 Subject: [PATCH 2/2] use camelCase for preferIpv4StackUnset Signed-off-by: Schmarni --- .../zekerzhayard/forgewrapper/installer/Installer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/github/zekerzhayard/forgewrapper/installer/Installer.java b/src/main/java/io/github/zekerzhayard/forgewrapper/installer/Installer.java index e31428c..b2b2f7f 100644 --- a/src/main/java/io/github/zekerzhayard/forgewrapper/installer/Installer.java +++ b/src/main/java/io/github/zekerzhayard/forgewrapper/installer/Installer.java @@ -42,8 +42,8 @@ public static Map getData(File librariesDir) { public static boolean install(File libraryDir, File minecraftJar, File installerJar) throws Throwable { ProgressCallback monitor = ProgressCallback.withOutputs(System.out); - boolean prefer_ipv4_stack_unset = System.getProperty("java.net.preferIPv4Stack") == null; - if (prefer_ipv4_stack_unset) { + boolean preferIpv4StackUnset = System.getProperty("java.net.preferIPv4Stack") == null; + if (preferIpv4StackUnset) { System.setProperty("java.net.preferIPv4Stack", "true"); } String vendor = System.getProperty("java.vendor", "missing vendor"); @@ -56,7 +56,7 @@ public static boolean install(File libraryDir, File minecraftJar, File installer // MinecraftForge has removed all old installers since 2024/2/27, but they still exist in NeoForge. PostProcessors processors = new PostProcessors(wrapper, true, monitor); Method processMethod = PostProcessors.class.getMethod("process", File.class, File.class, File.class, File.class); - if (prefer_ipv4_stack_unset) { + if (preferIpv4StackUnset) { System.clearProperty("java.net.preferIPv4Stack"); } if (boolean.class.equals(processMethod.getReturnType())) {