templates icon indicating copy to clipboard operation
templates copied to clipboard

[zomboid] Added two more exec bit changes

Open alyssadev opened this issue 1 year ago • 2 comments

start-server.sh requires jre64/bin/java and ProjectZomboid64 to be executable as well

alyssadev avatar May 19 '24 08:05 alyssadev

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"

LordRalex avatar May 19 '24 13:05 LordRalex

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

alyssadev avatar May 19 '24 14:05 alyssadev

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
#
###############################################################################

weiw11 avatar Feb 20 '25 02:02 weiw11