Forge server not starting

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.

Yes that was what I meant about editing java. When I do cd /jdk8u312-b07/bin it lets me into the directory. I can then use

ls -l java

-rwxrwxrwx 1 root root 8640 Mar 9 00:52 java

That shows that it is read write and execute for everyone if I am correct.

However when I run /jdk8u312-b07/bin/java -jar forge-1.16.5-36.2.20-installer.jar or run the same with the regular forge jar that I manually placed in there I get Error: Unable to access jarfile forge-1.16.5-36.2.20-installer.jar

Wait actually I just typed out the absolute path to the .jar file and it spit out this instead.

JVM info: Temurin - 1.8.0_312 - 25.312-b07
java.net.preferIPv4Stack=true
Found java version 1.8.0_312
Exception in thread "main"
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
        at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
        at java.awt.Window.<init>(Window.java:536)
        at java.awt.Frame.<init>(Frame.java:420)
        at java.awt.Frame.<init>(Frame.java:385)
        at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1763)
        at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1838)
        at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1696)
        at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:863)
        at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:666)
        at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:637)
        at net.minecraftforge.installer.SimpleInstaller.launchGui(SimpleInstaller.java:177)
        at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:147)

I suppose it is using the correct java so that is great but it seems like something is still going wrong since I cannot start it via the WebUI.

From what I know of JDK and JRE should I be using JRE instead, I am pretty sure JDK can do everything that the JRE can but when it brings up headlessexception I don’t know if that has anything to do with the JRE.

Sorry I should have tested a few more things before responding because now I am responding a lot. So I ran it again with the absolute path but with the .jar instead of the installer.jar because I noticed that it was trying to launch the launcher gui and that was throwing it off maybe because my server doesn’t have a monitor. So when I ran the regular forge jar it ran correctly (I think) a lot of green lines of text appeared but the last line said, you need to agree to the EULA before it will run, I already have the EULA set to true so I am not sure why it isn’t working.

I got it to work!!! I just got back home and decided to delete the old server I had been messing with and create a new one going through all the steps to see if that would work and it did! I created the new server and before accepting the EULA or clicking start I went in and set java_binary to the correct path. After I did that the server started once I accepted the EULA. I made sure the mod list matched the client mod list and it let me join the server. It seems like everything is working now. Though it is a little arrogant saying that I got it work because I did not, it was all you ElPres. Thanks for all the help! I definitely would not have figured it out on my own so if it were not for your help I would probably just have given it up after a few weeks.

1 Like

It makes it much easier to help when you’re willing to put in some work of your own to research and try.
In many cases I’ll download things and test stuff out to provide my answers.

Thanks for also being a part of the solution.