Forge server not starting

Hey I have been trying to start a forge server in 1.16.5 and it does not seem to want to start. I have selected the correct profiles but it just gives me error messages on startup. It will run on the normal 1.16.5 minecraft jar but not the forge one. If anyone has any advice or can understand the error messages that would be amazing. I have read a few other posts but I cannot find anything that works. I have tried java 17, java 11, and java 8 but none work. The jar I am trying to use is forge-1.16.5-36.2.20.jar and the one that will run it but not the mods is minecraft_server.1.16.5.jar.

Here are the logs for any who can understand them

[07Mar2022 22:14:39.096] ain/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target ‘fmlserver’ with arguments [–gameDir, ., nogui]
[07Mar2022 22:14:39.135] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: java.lang.NoSuchMethodError: ‘void sun.security.util.ManifestEntryVerifier.(java.util.jar.Manifest)’
[07Mar2022 22:14:39.136] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at cpw.mods.modlauncher.SecureJarHandler.createCodeSource(SecureJarHandler.java:66)
[07Mar2022 22:14:39.136] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at cpw.mods.modlauncher.TransformingClassLoader$DelegatedClassLoader.findClass(TransformingClassLoader.java:275)
[07Mar2022 22:14:39.136] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:136)
[07Mar2022 22:14:39.137] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:98)
[07Mar2022 22:14:39.137] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
[07Mar2022 22:14:39.137] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at java.base/java.lang.Class.forName0(Native Method)
[07Mar2022 22:14:39.137] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at java.base/java.lang.Class.forName(Class.java:398)
[07Mar2022 22:14:39.137] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at net.minecraftforge.fml.loading.FMLServerLaunchProvider.lambda$launchService$0(FMLServerLaunchProvider.java:51)
[07Mar2022 22:14:39.138] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37)
[07Mar2022 22:14:39.138] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54)
[07Mar2022 22:14:39.138] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72)
[07Mar2022 22:14:39.138] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at cpw.mods.modlauncher.Launcher.run(Launcher.java:82)
[07Mar2022 22:14:39.138] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at cpw.mods.modlauncher.Launcher.main(Launcher.java:66)
[07Mar2022 22:14:39.139] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at net.minecraftforge.server.ServerMain$Runner.runLauncher(ServerMain.java:63)
[07Mar2022 22:14:39.139] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at net.minecraftforge.server.ServerMain$Runner.access$100(ServerMain.java:60)
[07Mar2022 22:14:39.139] ain/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1050]: at net.minecraftforge.server.ServerMain.main(ServerMain.java:57)

What version java are you using?

On my desktop I’m using java 17 though I am assuming that doesn’t matter when starting the server. On the server I have java 8 at the moment though I have also tried java 11 and java 17.

Try removing your mods and then launch, if it works insert them one by one, resetting as you go to ensure the server still works. Remember some mods rely on others, some are client only.

Try and stick with Java 11 as I think that was the recommended at the time. I ran into issues trying to use 15.

This happens even when I am just starting up the server fresh from the webUI with no mods. As it is creating the directory in the server it still happens. I select forge jar and the forge installer in the webUI, after that it creates the forge jar and minecraft server jar in the directory but as it is doing so the server still goes down and no logs are created in the webUI. I will stick to java 11 and hopefully it will work in the future. If you have any other ideas that would be amazing. If I can give you any other info just let me know.

can you show me your server.config?
Another thing to try is to use the command line and after navigating to the server directory type java -jar <the_server>.jar
sometimes doing that shows different output.
Do you have a link to the modpack?

I didn’t see you list Java 15, you could give it a go. Apparently some versions could use it.

Apparently the fix is to run an earlier version of JDK 8.
https://github.com/McModLauncher/modlauncher/issues/91

Possibly you could install this Archive | Adoptium - Open source, prebuilt OpenJDK binaries and choose 8u312

2 Likes

I can confirm that 8u312 works.

2 Likes

I have been trying to downgrade to 8u312 but I cannot seem to do it. It just keeps reinstalling 8u322. I pretty sure it is error on my part, maybe I am uninstalling it incorrectly? I have tried looking it up but if you know how to downgrade to 8u312 that would be great. I will probably figure it out eventually just by searching around but your knowledge would definitely speed the process.

EDIT:

Ok I figured out how to remove java 8 properly I believe. Now I only have java 11 on the server, however, now I have to install java 8u312. I know how to use wget to download 8u312 but I do not know how to install it. Any pointers on that?

It doesn’t have to be installed. It can be extracted and use the java_binary setting in the server.config and use the absolute path to the java binary
e.g. /path_to_java_folder/bin/java
I think the folders need to at least allow reading and executing for your user.

How would you extract it and from where. I am really just learning as I go which is probably why I struggle so much.

EDIT:
I was able to look up and figure out how to edit the server.config so I can use the java_binary setting. So all I need now is to figure out how to extract it and figure out where it is so that I can set the absolute path. I’ll keep using my shotgun research method and see if that works lol.

Good on you for researching.
You could download the linux version on the windows computer, then extract it with 7-zip, then use sftp to upload the extracted copy.

Ok cool got 7-zip downloaded and am ready to extract but after I do where would I upload the files to? Does it matter since I am going to use the absolute path in the java_binary settings?
I extracted it to a .tar file is that correct?

Alright I believe I have gone wrong somewhere. I extracted the file and just placed it in the first folder. I guess that would be /OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar. I went into server.config and changed the java_binary to say /OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar. Now when I try to start the server nothing happens. Any pointers on where I went wrong?

Extract it one more time, it’s tar and gzip (.tar.gz). Then you can pretty much put it wherever and there is the folder inside it called bin and a file called java hence the /bin/java

I still seem to be having issues and I do not know why. Here are some screenshots to show what I have done.

Even when I try the regular minecraft server jar it doesn’t work anymore so I must have done something wrong with the java_binary path or something? Not sure.

The absolute path means from the very root of the server, So your /jdk8u3…. Would indicate that folder is at the very root of your drive. If you’ve used root for that you’d likely have to allow your user (mc if using mineos tkl) to execute and read doing a chmod. You can navigate to your java directory and do pwd Then copy that to your java_binary esuring you’ve got the bin/java aswell.

Ok so for java_binary I have it set at /jdk8u312-b07/bin/java and I have java set to read, write, and execute for all users just to make sure that it includes mc. However, it still does not seem to work. Is there anything else I should do? When I run cd /jdk8u312-b07/bin/java it comes up as no such directory but just cd /jdk8u312-b07/bin brings up the directory and I can edit java from there. I tried leaving it just as /jdk8u312-b07/bin and /jdk8u312-b07/bin/ in java_binary but those did not work either. Is there anything that you do without thinking that makes it work that I wouldn’t know not knowing or really even understanding linux or mineos?

What do you mean edit java? It’s a binary so shouldn’t need to edit it. Unless you mean the permissions. that java file needs to be accessible by the user you’re using in the webui. So in the command line you need to be able to log in and navigate there with the particular user.
Now if you can do that you could then navigate to your server directory and then try

/jdk8u312-b07/bin/java -jar <your forge jar>.jar

This is pretty close to what mineos will do in the background to run it.