Olipro / PZHook

Java Hook for Project Zomboid
6 stars 1 forks source link

Class not found ZomboidJavaHook.zomboid.SteamWorkshop #1

Closed VozdyxDev closed 1 year ago

VozdyxDev commented 1 year ago

What happened?

Server won't start with error Could not find or load main class ZomboidJavaHook.zomboid.SteamWorkshop

Reproduction steps

Add argument -javaagent:ZomboidJavaHook.jar and modify zombie.network.GameServer to ZomboidJavaHook.Main in ProjectZomboidServer.bat (I'm also tryed run with --server option) Run Batch file

Additional info

Terminal copy

D:\SteamLibrary\steamapps\common\ProjectZomboid>SET _JAVA_OPTIONS=

D:\SteamLibrary\steamapps\common\ProjectZomboid>SET PZ_CLASSPATH=commons-compress-1.18.jar;istack-commons-runtime.jar;jassimp.jar;javacord-2.0.17-shaded.jar;javax.activation-api.jar;jaxb-api.jar;jaxb-runtime.jar;lwjgl.jar;lwjgl-natives-windows.jar;lwjgl-glfw.jar;lwjgl-glfw-natives-windows.jar;lwjgl-jemalloc.jar;lwjgl-jemalloc-natives-windows.jar;lwjgl-opengl.jar;lwjgl-opengl-natives-windows.jar;lwjgl_util.jar;sqlite-jdbc-3.27.2.1.jar;trove-3.0.3.jar;uncommons-maths-1.2.3.jar;./

D:\SteamLibrary\steamapps\common\ProjectZomboid>".\jre64\bin\java.exe" -XX:+UseZGC -XX:-CreateCoredumpOnCrash -XX:-OmitStackTraceInFastThrow -Xmx3072m -XX:+UseZGC -Djava.library.path=./natives/;./natives/win64/;./ -javaagent:ZomboidJavaHook.jar -cp commons-compress-1.18.jar;istack-commons-runtime.jar;jassimp.jar;javacord-2.0.17-shaded.jar;javax.activation-api.jar;jaxb-api.jar;jaxb-runtime.jar;lwjgl.jar;lwjgl-natives-windows.jar;lwjgl-glfw.jar;lwjgl-glfw-natives-windows.jar;lwjgl-jemalloc.jar;lwjgl-jemalloc-natives-windows.jar;lwjgl-opengl.jar;lwjgl-opengl-natives-windows.jar;lwjgl_util.jar;sqlite-jdbc-3.27.2.1.jar;trove-3.0.3.jar;uncommons-maths-1.2.3.jar;./ ZomboidJavaHook.Main
null
Error: Could not find or load main class ZomboidJavaHook.zomboid.SteamWorkshop
Caused by: java.lang.ClassNotFoundException: ZomboidJavaHook.zomboid.SteamWorkshop
Did not get success string from spawned process
java.io.IOException: Did not get success string from spawned process
        at ZomboidJavaHook.zomboid.SteamWorkshop.getWorkshopPaths(SteamWorkshop.java:74)
        at ZomboidJavaHook.zomboid.SteamWorkshop.<init>(SteamWorkshop.java:85)
        at ZomboidJavaHook.config.HookConfig.initMods(HookConfig.java:108)
        at ZomboidJavaHook.config.HookConfig.<init>(HookConfig.java:33)
        at ZomboidJavaHook.config.HookConfig.<init>(HookConfig.java:42)
        at ZomboidJavaHook.ui.UIManager.main(UIManager.java:77)
        at ZomboidJavaHook.Main.main(Main.java:10)
11.05.2022 11:38:17 AM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @11531931'
Cannot invoke "ZomboidJavaHook.config.HookConfig.getMods()" because "cfg" is null
java.lang.NullPointerException: Cannot invoke "ZomboidJavaHook.config.HookConfig.getMods()" because "cfg" is null
        at ZomboidJavaHook.ui.ModsDialogController.setConfig(ModsDialogController.java:37)
        at ZomboidJavaHook.ui.UIManager.lambda$showModsDialog$7(UIManager.java:163)
        at ZomboidJavaHook.ui.UIManager.showStage(UIManager.java:141)
        at ZomboidJavaHook.ui.UIManager.lambda$showModsDialog$8(UIManager.java:163)
        at ZomboidJavaHook.config.TrustedDigests.transaction(TrustedDigests.java:46)
        at ZomboidJavaHook.ui.UIManager.showModsDialog(UIManager.java:162)
        at ZomboidJavaHook.ui.UIManager.start(UIManager.java:177)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
        at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
        at java.base/java.security.AccessController.doPrivileged(Unknown Source)
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
        at java.base/java.lang.Thread.run(Unknown Source)

D:\SteamLibrary\steamapps\common\ProjectZomboid>PAUSE
VozdyxDev commented 1 year ago

Problem solved. It turned out that using manual installation me need to add ZomboidJavaHook.jar in classpath in JSON file or in PZ_CLASSPATH in script file