Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server installation is broken #15

Open
leo60228 opened this issue Apr 20, 2022 · 5 comments
Open

Server installation is broken #15

leo60228 opened this issue Apr 20, 2022 · 5 comments

Comments

@leo60228
Copy link

leo60228 commented Apr 20, 2022

(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:?]
@TheEpicBlock
Copy link
Contributor

TheEpicBlock commented Apr 21, 2022

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.

@TheGlitch76
Copy link
Contributor

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.

@Khikki
Copy link

Khikki commented May 3, 2022

Good afternoon, can you tell me if the fix will be uploaded to the site? The problem is current.

@tennox
Copy link

tennox commented May 16, 2022

Possible workaround: use CLI method as described here

@jschenke488
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants