3arthqu4ke / headlessmc

Minecraft on the command line
https://3arthqu4ke.github.io/headlessmc/
MIT License
145 stars 17 forks source link

Breaking changes in Fabric Loader 0.16.2 #199

Open snoobiegoobert opened 5 days ago

snoobiegoobert commented 5 days ago

When passing headlessmc-lwjgl as a javaagent on Fabric Loader 0.16.2 the client fails to initialize, under vanilla and loader versions below 0.16.2 it works as expected

PolyMC version: 6.1

authserver.mojang.com resolves to:
    [N/A]

session.minecraft.net resolves to:
    [13.107.246.41]

textures.minecraft.net resolves to:
    [13.107.246.41]

api.mojang.com resolves to:
    [13.107.246.41]

Minecraft folder is:
C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/instances/headless/.minecraft

Java path is:
C:/Program Files/Eclipse Adoptium/jdk-17.0.12.7-hotspot/bin/javaw.exe

Checking Java version...
Java is version 17.0.12, using 64 (amd64) architecture, from Eclipse Adoptium.

Main Class:
  net.fabricmc.loader.impl.launch.knot.KnotClient

Native path:
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/instances/headless/natives

Traits:
traits XR:Initial
traits FirstThreadOnMacOS

Libraries:
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-freetype-natives-windows-arm64/3.3.2/lwjgl-freetype-natives-windows-arm64-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-freetype-natives-windows-x86/3.3.2/lwjgl-freetype-natives-windows-x86-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-freetype-natives-windows/3.3.2/lwjgl-freetype-natives-windows-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-freetype/3.3.2/lwjgl-freetype-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-glfw-natives-windows-arm64/3.3.2/lwjgl-glfw-natives-windows-arm64-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-glfw-natives-windows-x86/3.3.2/lwjgl-glfw-natives-windows-x86-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-glfw-natives-windows/3.3.2/lwjgl-glfw-natives-windows-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-glfw/3.3.2/lwjgl-glfw-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-jemalloc-natives-windows-arm64/3.3.2/lwjgl-jemalloc-natives-windows-arm64-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-jemalloc-natives-windows-x86/3.3.2/lwjgl-jemalloc-natives-windows-x86-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-jemalloc-natives-windows/3.3.2/lwjgl-jemalloc-natives-windows-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-jemalloc/3.3.2/lwjgl-jemalloc-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-natives-windows-arm64/3.3.2/lwjgl-natives-windows-arm64-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-natives-windows-x86/3.3.2/lwjgl-natives-windows-x86-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-natives-windows/3.3.2/lwjgl-natives-windows-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-openal-natives-windows-arm64/3.3.2/lwjgl-openal-natives-windows-arm64-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-openal-natives-windows-x86/3.3.2/lwjgl-openal-natives-windows-x86-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-openal-natives-windows/3.3.2/lwjgl-openal-natives-windows-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-openal/3.3.2/lwjgl-openal-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-opengl-natives-windows-arm64/3.3.2/lwjgl-opengl-natives-windows-arm64-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-opengl-natives-windows-x86/3.3.2/lwjgl-opengl-natives-windows-x86-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-opengl-natives-windows/3.3.2/lwjgl-opengl-natives-windows-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-opengl/3.3.2/lwjgl-opengl-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-stb-natives-windows-arm64/3.3.2/lwjgl-stb-natives-windows-arm64-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-stb-natives-windows-x86/3.3.2/lwjgl-stb-natives-windows-x86-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-stb-natives-windows/3.3.2/lwjgl-stb-natives-windows-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-stb/3.3.2/lwjgl-stb-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-tinyfd-natives-windows-arm64/3.3.2/lwjgl-tinyfd-natives-windows-arm64-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-tinyfd-natives-windows-x86/3.3.2/lwjgl-tinyfd-natives-windows-x86-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-tinyfd-natives-windows/3.3.2/lwjgl-tinyfd-natives-windows-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl-tinyfd/3.3.2/lwjgl-tinyfd-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/lwjgl/lwjgl/3.3.2/lwjgl-3.3.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/github/oshi/oshi-core/6.4.5/oshi-core-6.4.5.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/ibm/icu/icu4j/73.2/icu4j-73.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/mojang/authlib/6.0.52/authlib-6.0.52.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/mojang/brigadier/1.2.9/brigadier-1.2.9.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/mojang/datafixerupper/6.0.8/datafixerupper-6.0.8.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/mojang/logging/1.1.1/logging-1.1.1.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/mojang/text2speech/1.17.9/text2speech-1.17.9.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/commons-codec/commons-codec/1.16.0/commons-codec-1.16.0.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/commons-io/commons-io/2.13.0/commons-io-2.13.0.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/io/netty/netty-buffer/4.1.97.Final/netty-buffer-4.1.97.Final.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/io/netty/netty-codec/4.1.97.Final/netty-codec-4.1.97.Final.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/io/netty/netty-common/4.1.97.Final/netty-common-4.1.97.Final.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/io/netty/netty-handler/4.1.97.Final/netty-handler-4.1.97.Final.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/io/netty/netty-resolver/4.1.97.Final/netty-resolver-4.1.97.Final.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/io/netty/netty-transport-classes-epoll/4.1.97.Final/netty-transport-classes-epoll-4.1.97.Final.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/io/netty/netty-transport-native-unix-common/4.1.97.Final/netty-transport-native-unix-common-4.1.97.Final.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/io/netty/netty-transport/4.1.97.Final/netty-transport-4.1.97.Final.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/it/unimi/dsi/fastutil/8.5.12/fastutil-8.5.12.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/apache/commons/commons-compress/1.22/commons-compress-1.22.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/apache/commons/commons-lang3/3.13.0/commons-lang3-3.13.0.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/apache/logging/log4j/log4j-slf4j2-impl/2.19.0/log4j-slf4j2-impl-2.19.0.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/joml/joml/1.10.5/joml-1.10.5.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/slf4j/slf4j-api/2.0.7/slf4j-api-2.0.7.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/net/fabricmc/intermediary/1.20.4/intermediary-1.20.4.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/ow2/asm/asm/9.6/asm-9.6.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/ow2/asm/asm-analysis/9.6/asm-analysis-9.6.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/ow2/asm/asm-commons/9.6/asm-commons-9.6.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/ow2/asm/asm-tree/9.6/asm-tree-9.6.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/ow2/asm/asm-util/9.6/asm-util-9.6.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/net/fabricmc/sponge-mixin/0.15.2+mixin.0.8.7/sponge-mixin-0.15.2+mixin.0.8.7.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/net/fabricmc/fabric-loader/0.16.2/fabric-loader-0.16.2.jar
  C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/com/mojang/minecraft/1.20.4/minecraft-1.20.4-client.jar

Native libraries:

Params:
  --username  --version 1.20.4 --gameDir C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/instances/headless/.minecraft --assetsDir C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/assets --assetIndex 12 --uuid  --accessToken  --userType  --versionType release

Window size: 854 x 480

Java Arguments:
[-Djoml.nounsafe=true, -Dfabric.systemLibraries=C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/headlessmc-lwjgl-2.3.0.jar, -javaagent:C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/headlessmc-lwjgl-2.3.0.jar, -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump, -Xms512m, -Xmx2048m, -Duser.language=en]

SEVERE: Exception caught from launcher.
java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:569)
    at org.polymc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104)
    at org.polymc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:176)
    at org.polymc.impl.OneSixLauncher.launch(OneSixLauncher.java:186)
    at org.polymc.EntryPoint.listen(EntryPoint.java:144)
    at org.polymc.EntryPoint.main(EntryPoint.java:74)
Caused by: java.lang.ExceptionInInitializerError
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
    ... 9 more
Caused by: java.lang.IllegalStateException: duplicate ASM classes found on classpath: jar:file:/C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/org/ow2/asm/asm/9.6/asm-9.6.jar!/org/objectweb/asm/ClassReader.class, jar:file:/C:/Users/snoobie/Downloads/PolyMC-Windows-Portable-6.1/libraries/headlessmc-lwjgl-2.3.0.jar!/org/objectweb/asm/ClassReader.class
    at net.fabricmc.loader.impl.util.LoaderUtil.verifyClasspath(LoaderUtil.java:71)
    at net.fabricmc.loader.impl.launch.knot.Knot.<clinit>(Knot.java:345)
    ... 10 more
INFO: Exiting with 1
Process exited with code 1.
3arthqu4ke commented 4 days ago

Ok, could you try to remove the org/objectweb/asm package from the headlessmc-lwjgl.jar? Simply delete it with like 7zip or something.

snoobiegoobert commented 4 days ago

Launched successfully with no errors or warnings with org/objectweb/asm removed