quilt-installer
quilt-installer copied to clipboard
Server installation is broken
(I wasn't sure whether to file this here or in quilt-loader)
Following the official server directions:
It’ll also create a set of scripts you can use to launch the server - a .bat script for Windows and a .sh script for Mac and Linux.
This doesn't happen, which is a TODO.
java -jar quilt-server-launch.jar
doesn't work:
Error: Could not find or load main class org.quiltmc.loader.impl.launch.server.QuiltServerLauncher
Caused by: java.lang.ClassNotFoundException: org.quiltmc.loader.impl.launch.server.QuiltServerLauncher
This is because that class was not actually renamed/repackaged for quilt-loader, and is still net.fabricmc.loader.launch.server.FabricServerLauncher
. java -cp quilt-server-launch.jar net.fabricmc.loader.launch.server.FabricServerLauncher
gives another error:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
This can be solved by channeling your modding skills of 10 years ago and deleting META-INF/FABRIC1.SF
and META-INF/FABRIC1.RSA
from the jar. At this point, Quilt will work... as long as no mods are installed. Adding QSL into the mix gives this error, which I wasn't able to work around:
java.lang.RuntimeException: An exception occurred when launching the server!
at net.fabricmc.loader.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:64) ~[quilt-server-launch.jar:?]
Caused by: java.lang.reflect.InvocationTargetException
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.fabricmc.loader.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:62) ~[quilt-server-launch.jar:?]
Caused by: java.lang.RuntimeException: Error creating Mixin config quilt_item_setting.mixins.json for mod quilt_item_setting
at net.fabricmc.loader.launch.common.FabricMixinBootstrap.init(FabricMixinBootstrap.java:113) ~[quilt-server-launch.jar:?]
at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:147) ~[quilt-server-launch.jar:?]
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:70) ~[quilt-server-launch.jar:?]
at org.quiltmc.loader.launch.knot.KnotHelper.launchServer(KnotHelper.java:32) ~[quilt-server-launch.jar:?]
at net.fabricmc.loader.launch.knot.KnotServer.main(KnotServer.java:23) ~[quilt-server-launch.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.fabricmc.loader.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:62) ~[quilt-server-launch.jar:?]
Caused by: org.spongepowered.asm.launch.MixinInitialisationError: Error initialising mixin config quilt_item_setting.mixins.json
at org.spongepowered.asm.mixin.transformer.Config.create(Config.java:153) ~[quilt-server-launch.jar:?]
at org.spongepowered.asm.mixin.Mixins.createConfiguration(Mixins.java:100) ~[quilt-server-launch.jar:?]
at org.spongepowered.asm.mixin.Mixins.addConfiguration(Mixins.java:87) ~[quilt-server-launch.jar:?]
at net.fabricmc.loader.launch.common.FabricMixinBootstrap.init(FabricMixinBootstrap.java:111) ~[quilt-server-launch.jar:?]
at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:147) ~[quilt-server-launch.jar:?]
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:70) ~[quilt-server-launch.jar:?]
at org.quiltmc.loader.launch.knot.KnotHelper.launchServer(KnotHelper.java:32) ~[quilt-server-launch.jar:?]
at net.fabricmc.loader.launch.knot.KnotServer.main(KnotServer.java:23) ~[quilt-server-launch.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.fabricmc.loader.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:62) ~[quilt-server-launch.jar:?]
Caused by: java.lang.IllegalArgumentException: The requested compatibility level JAVA_17 could not be set. Level is not supported by the active JRE or ASM version (Java 17.0, ASM 9.0 (ASM10_EXPERIMENTAL))
at org.spongepowered.asm.mixin.MixinEnvironment.setCompatibilityLevel(MixinEnvironment.java:1570) ~[quilt-server-launch.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinConfig.initCompatibilityLevel(MixinConfig.java:557) ~[quilt-server-launch.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinConfig.postInit(MixinConfig.java:502) ~[quilt-server-launch.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinConfig.onLoad(MixinConfig.java:430) ~[quilt-server-launch.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinConfig.create(MixinConfig.java:1293) ~[quilt-server-launch.jar:?]
at org.spongepowered.asm.mixin.transformer.Config.create(Config.java:148) ~[quilt-server-launch.jar:?]
at org.spongepowered.asm.mixin.Mixins.createConfiguration(Mixins.java:100) ~[quilt-server-launch.jar:?]
at org.spongepowered.asm.mixin.Mixins.addConfiguration(Mixins.java:87) ~[quilt-server-launch.jar:?]
at net.fabricmc.loader.launch.common.FabricMixinBootstrap.init(FabricMixinBootstrap.java:111) ~[quilt-server-launch.jar:?]
at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:147) ~[quilt-server-launch.jar:?]
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:70) ~[quilt-server-launch.jar:?]
at org.quiltmc.loader.launch.knot.KnotHelper.launchServer(KnotHelper.java:32) ~[quilt-server-launch.jar:?]
at net.fabricmc.loader.launch.knot.KnotServer.main(KnotServer.java:23) ~[quilt-server-launch.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.fabricmc.loader.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:62) ~[quilt-server-launch.jar:?]
The org.quiltmc.loader.impl.launch.server.QuiltServerLauncher
appears to be a bug in the installer. The invalid signature issue I've had myself with regular fabric too, not sure what causes that. The mixin error is weird, isn't it supposed to be ASM 9.2? Maybe the ASM version is detected wrongly, not sure.
Edit: looking at the asm lib inside quilt-server-launch.jar using javap using the same method Mixin uses here it appears to be 9.0? This might also very well be Mixin that's using a borked way of getting the version.
I have fixed the first two parts of your issue in the latest commit.
As for the last issue, it's due to the approach originally taken by the installer to create the quilt-server-installer
being inadequate for Mixin. It completely erases the META-INF of all of Loader's libraries (because it's extremely naively merging them into one jar), which breaks a Mixin assumption that it can read ASM's meta-inf to find the current ASM version.
This will have to wait a couple days to be fixed by me, but, as always, i'd love it if someone could find a way to tackle it themselves.
Good afternoon, can you tell me if the fix will be uploaded to the site? The problem is current.
Possible workaround: use CLI method as described here
I got the server to work by first running java -cp quilt-server-launch.jar org.quiltmc.loader.impl.launch.server.QuiltServerLauncher
, then stopping the server, after which it could be launched normally.