87 lines
2.8 KiB
Bash
87 lines
2.8 KiB
Bash
#!/bin/bash
|
|
echo "---Setting umask to ${UMASK}---"
|
|
umask ${UMASK}
|
|
|
|
if [ ! -f ${STEAMCMD_DIR}/steamcmd.sh ]; then
|
|
echo "SteamCMD not found!"
|
|
wget -q -O ${STEAMCMD_DIR}/steamcmd_linux.tar.gz http://media.steampowered.com/client/steamcmd_linux.tar.gz
|
|
tar --directory ${STEAMCMD_DIR} -xvzf /serverdata/steamcmd/steamcmd_linux.tar.gz
|
|
rm ${STEAMCMD_DIR}/steamcmd_linux.tar.gz
|
|
fi
|
|
|
|
echo "---Update SteamCMD---"
|
|
if [ "${USERNAME}" == "" ]; then
|
|
${STEAMCMD_DIR}/steamcmd.sh \
|
|
+login anonymous \
|
|
+quit
|
|
else
|
|
${STEAMCMD_DIR}/steamcmd.sh \
|
|
+login ${USERNAME} ${PASSWRD} \
|
|
+quit
|
|
fi
|
|
|
|
echo "---Update Server---"
|
|
if [ "${USERNAME}" == "" ]; then
|
|
if [ "${VALIDATE}" == "true" ]; then
|
|
echo "---Validating installation---"
|
|
${STEAMCMD_DIR}/steamcmd.sh \
|
|
+login anonymous \
|
|
+force_install_dir ${SERVER_DIR} \
|
|
+app_update ${GAME_ID} validate \
|
|
+quit
|
|
else
|
|
${STEAMCMD_DIR}/steamcmd.sh \
|
|
+login anonymous \
|
|
+force_install_dir ${SERVER_DIR} \
|
|
+app_update ${GAME_ID} \
|
|
+quit
|
|
fi
|
|
else
|
|
if [ "${VALIDATE}" == "true" ]; then
|
|
echo "---Validating installation---"
|
|
${STEAMCMD_DIR}/steamcmd.sh \
|
|
+login ${USERNAME} ${PASSWRD} \
|
|
+force_install_dir ${SERVER_DIR} \
|
|
+app_update ${GAME_ID} validate \
|
|
+quit
|
|
else
|
|
${STEAMCMD_DIR}/steamcmd.sh \
|
|
+login ${USERNAME} ${PASSWRD} \
|
|
+force_install_dir ${SERVER_DIR} \
|
|
+app_update ${GAME_ID} \
|
|
+quit
|
|
fi
|
|
fi
|
|
|
|
echo "---Prepare Server---"
|
|
echo "---Setting up Environment---"
|
|
export PATH="${SERVER_DIR}/jre64/bin:$PATH"
|
|
export LD_LIBRARY_PATH="${SERVER_DIR}/linux64:${SERVER_DIR}/natives:${SERVER_DIR}:${SERVER_DIR}/jre64/lib/amd64:${LD_LIBRARY_PATH}"
|
|
export JSIG="libjsig.so"
|
|
export JARPATH="java/:java/lwjgl.jar:java/lwjgl_util.jar:java/sqlite-jdbc-3.8.10.1.jar:java/uncommons-maths-1.2.3.jar"
|
|
echo "---Looking for server configuration files---"
|
|
if [ ! -f ${SERVER_DIR}/Zomboid/Server/servertest.ini ]; then
|
|
echo "---No server configruation found, downloading template---"
|
|
cd ${SERVER_DIR}
|
|
if wget https://github.com/ich777/docker-steamcmd-server/raw/projectzomboid/config/cfg.zip ; then
|
|
echo "---Sucessfully downloaded server configuration files---"
|
|
else
|
|
echo "---Something went wrong, can't download server configuration files, putting server in sleep mode---"
|
|
sleep infinity
|
|
fi
|
|
unzip cfg.zip
|
|
rm ${SERVER_DIR}/cfg.zip
|
|
else
|
|
echo "---Server configuration files found!---"
|
|
fi
|
|
|
|
echo "---Checking for old logs---"
|
|
find ${SERVER_DIR} -name "masterLog.0" -exec rm -f {} \; > /dev/null 2>&1
|
|
chmod -R 777 ${DATA_DIR}
|
|
echo "---Server ready---"
|
|
|
|
echo "---Start Server---"
|
|
cd ${SERVER_DIR}
|
|
screen -S PZ -L -Logfile ${SERVER_DIR}/masterLog.0 -d -m ${SERVER_DIR}/ProjectZomboid64
|
|
sleep 2
|
|
tail -f ${SERVER_DIR}/masterLog.0 |