BloodyMods / ServerStarter

MIT License
99 stars 62 forks source link

ramdisk no longer working #54

Open ZenithAstralis opened 2 years ago

ZenithAstralis commented 2 years ago

I'd been playing on the server with friends for a few days, and in an effort to increase chunk generation rate I enabled the ramdisk feature in server-setup-config.yaml by setting ramDisk: true and for a while it worked fine, but I think a power flicker took down the machine it was running on (a hazard when using volatile memory, I know) and when I tried to boot it up again it gave me the below. I disabled the ramdisk feature and it boots fine, but even after gracefully bringing it down again and re-enabling it, it just gave the same error.

I'm rather new to bash scripting, but perhaps as it's shuffling the $SAVE_DIR var around between the disk location and memory it was set to the ramdisk location when it crashed, and since it never shutdown properly that var got stuck in the wrong state? It seems like it can't find the server.properties file, because nothing changed in it or where it was located. (I'm using the default world level name.)

Thank you for making such a cool tool by the way! Every modpack server I've downloaded this month has used it, and it really give a lot of neat and useful features!

Supplemental: can I change the size of the ramdisk as specified in startserver.sh? The machine has 70G available, and I don't think I've seen it go over 10 since I started using it.

Server log output:

.../atm7$ ./startserver.sh
Skipping download. Using existing serverstarter-2.2.0.jar
[09:42:45] [INFO] :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
[09:42:45] [INFO]    Minecraft ServerStarter install/launcher jar
[09:42:45] [INFO]    (Created by BloodWorkXGaming with the help of Contributors)
[09:42:45] [INFO] :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
[09:42:45] [INFO]
[09:42:45] [INFO]    This jar will launch a Minecraft Forge/Fabric Modded server
[09:42:45] [INFO]
[09:42:45] [INFO]    Github:    https://github.com/BloodyMods/ServerStarter
[09:42:45] [INFO]    Discord:   https://discord.gg/A3c5YfV
[09:42:45] [INFO]
[09:42:45] [INFO] You are playing All the Mods 7
[09:42:45] [INFO] Starting to install/launch the server, lean back!
[09:42:45] [INFO] :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
[09:42:45] [INFO]
[09:42:45] [INFO] Testing http://example.com.
[09:42:45] [INFO] Reached http://example.com: true
[09:42:45] [INFO] Testing http://google.com.
[09:42:46] [INFO] Reached http://google.com: true
[09:42:46] [INFO] Reached 2 out of 2 IPs.
[09:42:46] [INFO] Server is already installed to correct version, to force install delete the serverstarter.lock File.
[09:42:46] [ERROR] The level-name in the server.properties is empty, therefore we can't create a ramdisk
[09:42:46] [INFO] Starting Loader, output incoming
[09:42:46] [ERROR] Some uncaught error happened.

java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1094)
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
        at atm.bloodworkxgaming.serverstarter.LoaderManager.startAndWaitForProcess(LoaderManager.kt:306)
        at atm.bloodworkxgaming.serverstarter.LoaderManager.startServer(LoaderManager.kt:278)
        at atm.bloodworkxgaming.serverstarter.LoaderManager.handleServer(LoaderManager.kt:60)
        at atm.bloodworkxgaming.serverstarter.ServerStarter.startLoading(ServerStarter.kt:192)
        at atm.bloodworkxgaming.serverstarter.ServerStarterKt.main(ServerStarter.kt:204)
YipNZ commented 2 years ago

The ServerStarter Launcher looks for server.properties in the root directory, not the 'setup' folder or whatever you called it. If you copy server.properties to the same location as serverstarter.sh it will work.

That's how I got it working on my server in any case. YMMV