[zomboid] Added two more exec bit changes
start-server.sh requires jre64/bin/java and ProjectZomboid64 to be executable as well
Based on our testing, they do not need +x applied.
2024-04-23T13:43:09.4173588Z Depot 380873 - Downloaded 38329824 bytes (166065715 bytes uncompressed)
2024-04-23T13:43:09.4174337Z Total downloaded: 787205728 bytes (5303283844 bytes uncompressed) from 3 depots
2024-04-23T13:43:09.7253676Z Disconnected from Steam
2024-04-23T13:43:09.7710720Z [DEBUG] 2024/04/23 13:43:09 [zomboid] exit status 0
2024-04-23T13:43:09.8282530Z [INFO] 2024/04/23 13:43:09 Writing data to file: ProjectZomboid64.json
2024-04-23T13:43:09.8283780Z [INFO] 2024/04/23 13:43:09 Executing command: chmod +x start-server.sh
2024-04-23T13:43:09.8284965Z [INFO] 2024/04/23 13:43:09 [zomboid] Starting process: /usr/bin/chmod +x start-server.sh
2024-04-23T13:43:09.8290041Z [DEBUG] 2024/04/23 13:43:09 [zomboid] exit status 0
2024-04-23T13:43:09.8290893Z [INFO] 2024/04/23 13:43:09 [zomboid] Starting server zomboid
2024-04-23T13:43:09.8292808Z [INFO] 2024/04/23 13:43:09 [zomboid] Starting process: ./start-server.sh -servername pufferserver -adminpassword password -steamvac true -port 16261
2024-04-23T13:43:09.8663365Z 64-bit java detected
2024-04-23T13:43:09.8668246Z ERROR: ld.so: object 'libjsig.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
2024-04-23T13:43:09.8681651Z pzexe: looking for PZXInitThreads.so
2024-04-23T13:43:09.8683314Z pzexe: libPZXInitThreads64.so was not found. This is ok for a server, but multi-core rendering won't work on a client without it.
2024-04-23T13:43:09.8684984Z pzexe: about to run java hack to locate libjvm.so...
2024-04-23T13:43:09.8686378Z pzexe: executing "java -classpath pzexe.jar -Djava.library.path=. zombie.pzexe"
2024-04-23T13:43:09.8688064Z ERROR: ld.so: object 'libjsig.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
2024-04-23T13:43:09.9088852Z pzexe.java: loading shared library "pzexe_jni64"
2024-04-23T13:43:09.9100218Z JVM=/tmp/pufferpanel-tester/servers/zomboid/jre64/lib/server/libjvm.so
2024-04-23T13:43:09.9138007Z pxexe: /proc/self/exe=/tmp/pufferpanel-tester/servers/zomboid/ProjectZomboid64
2024-04-23T13:43:09.9139134Z pzexe config file: /tmp/pufferpanel-tester/servers/zomboid/ProjectZomboid64.json
2024-04-23T13:43:09.9139722Z pzexe: mainClass: zombie/network/GameServer
2024-04-23T13:43:09.9148775Z pzexe: classpath: -Djava.class.path=java/.:java/istack-commons-runtime.jar:java/jassimp.jar:java/javacord-2.0.17-shaded.jar:java/javax.activation-api.jar:java/jaxb-api.jar:java/jaxb-runtime.jar:java/lwjgl.jar:java/lwjgl-natives-linux.jar:java/lwjgl-glfw.jar:java/lwjgl-glfw-natives-linux.jar:java/lwjgl-jemalloc.jar:java/lwjgl-jemalloc-natives-linux.jar:java/lwjgl-opengl.jar:java/lwjgl-opengl-natives-linux.jar:java/lwjgl_util.jar:java/sqlite-jdbc-3.27.2.1.jar:java/trove-3.0.3.jar:java/commons-compress-1.18.jar:java/uncommons-maths-1.2.3.jar
2024-04-23T13:43:09.9153473Z pzexe: vmArg (json) 1: -Djava.awt.headless=true
2024-04-23T13:43:09.9154256Z pzexe: vmArg (json) 2: -Xmx4096M
2024-04-23T13:43:09.9154956Z pzexe: vmArg (json) 3: -Dzomboid.steam=1
2024-04-23T13:43:09.9155730Z pzexe: vmArg (json) 4: -Dzomboid.znetlog=1
2024-04-23T13:43:09.9156621Z pzexe: vmArg (json) 5: -Djava.library.path=linux64/:natives/
2024-04-23T13:43:09.9157447Z pzexe: vmArg (json) 6: -Duser.home=./
2024-04-23T13:43:09.9158253Z pzexe: vmArg (json) 7: -Djava.security.egd=file:/dev/urandom
2024-04-23T13:43:09.9159052Z pzexe: vmArg (json) 8: -XX:+UseZGC
2024-04-23T13:43:09.9159812Z pzexe: vmArg (json) 9: -XX:-OmitStackTraceInFastThrow
2024-04-23T13:43:09.9161017Z pzexe: using jvm "/tmp/pufferpanel-tester/servers/zomboid/jre64/lib/server/libjvm.so"
The bug seems to exist for pufferpanel running on Ubuntu 22.04.3 LTS, a fresh server instance from my VPS provider provisioned for this test, after following the instructions from here down https://docs.pufferpanel.com/en/2.x/installing.html#installing, and using the zomboid template from this repository.
https://gist.github.com/alyssadev/5c6332dc42a0b2abffb7b124f3efdf65
It does need the additional chmod command, otherwise you'll get the following error when attempting to run the server after installation using the template.
couldn't determine 32/64 bit of java
Below is the startup script Project Zomboid uses:
#!/bin/bash
#
###############################################################################
#
# Edit memory option -Xmx in ProjectZomboid64.json for 64bit servers (common)
# or ProjectZomboid32.json for 32bit servers (rare)
#
############
INSTDIR="`dirname $0`" ; cd "${INSTDIR}" ; INSTDIR="`pwd`"
if "${INSTDIR}/jre64/bin/java" -version > /dev/null 2>&1; then
echo "64-bit java detected"
export PATH="${INSTDIR}/jre64/bin:$PATH"
export LD_LIBRARY_PATH="${INSTDIR}/linux64:${INSTDIR}/natives:${INSTDIR}:${INSTDIR}/jre64/lib/amd64:${LD_LIBRARY_PATH}"
JSIG="libjsig.so"
LD_PRELOAD="${LD_PRELOAD}:${JSIG}" ./ProjectZomboid64 "$@"
elif "${INSTDIR}/jre/bin/java" -client -version > /dev/null 2>&1; then
echo "32-bit java detected"
export PATH="${INSTDIR}/jre/bin:$PATH"
export LD_LIBRARY_PATH="${INSTDIR}/linux32:${INSTDIR}/natives:${INSTDIR}:${INSTDIR}/jre/lib/i386:${LD_LIBRARY_PATH}"
JSIG="libjsig.so"
LD_PRELOAD="${LD_PRELOAD}:${JSIG}" ./ProjectZomboid32 "$@"
else
echo "couldn't determine 32/64 bit of java"
fi
exit 0
#
# EOF
#
###############################################################################