调整服务器启动时,检查游戏和模组更新的逻辑
This commit is contained in:
@@ -80,7 +80,7 @@ start_dayzserver() {
|
|||||||
cd /root/Steam/steamapps/common/DayZServer
|
cd /root/Steam/steamapps/common/DayZServer
|
||||||
|
|
||||||
# 启动服务器之前,检查mod是否有更新.
|
# 启动服务器之前,检查mod是否有更新.
|
||||||
bash /opt/updatemod.sh
|
bash /opt/updatemod.sh update_server
|
||||||
updatemodpath="/root/Steam/steamapps/workshop/content/221100"
|
updatemodpath="/root/Steam/steamapps/workshop/content/221100"
|
||||||
target_dir="/root/Steam/steamapps/common/DayZServer/client_mod"
|
target_dir="/root/Steam/steamapps/common/DayZServer/client_mod"
|
||||||
|
|
||||||
@@ -238,7 +238,7 @@ else
|
|||||||
echo "DayZServer已安装,检查更新"
|
echo "DayZServer已安装,检查更新"
|
||||||
# 切换到SteamCMD目录
|
# 切换到SteamCMD目录
|
||||||
cd /opt/steamcmd
|
cd /opt/steamcmd
|
||||||
./steamcmd.sh +login $STEAM_USERNAME $STEAM_PASSWORD +app_update 223350 validate +quit
|
# ./steamcmd.sh +login $STEAM_USERNAME $STEAM_PASSWORD +app_update 223350 validate +quit
|
||||||
echo "启动DayZServer..."
|
echo "启动DayZServer..."
|
||||||
cd /root/Steam/steamapps/common/DayZServer
|
cd /root/Steam/steamapps/common/DayZServer
|
||||||
start_dayzserver
|
start_dayzserver
|
||||||
|
|||||||
@@ -10,10 +10,20 @@ fi
|
|||||||
# 设置日志文件路径
|
# 设置日志文件路径
|
||||||
LOG_FILE="/var/log/updatemod.log"
|
LOG_FILE="/var/log/updatemod.log"
|
||||||
|
|
||||||
|
# 检查是否传入update_server参数
|
||||||
|
UPDATE_SERVER=false
|
||||||
|
if [ "$1" = "update_server" ]; then
|
||||||
|
UPDATE_SERVER=true
|
||||||
|
echo "==========================================" >> "$LOG_FILE"
|
||||||
|
echo "开始更新DayZ服务器和Mod..." >> "$LOG_FILE"
|
||||||
|
echo "时间: $(date)" >> "$LOG_FILE"
|
||||||
|
echo "==========================================" >> "$LOG_FILE"
|
||||||
|
else
|
||||||
echo "==========================================" >> "$LOG_FILE"
|
echo "==========================================" >> "$LOG_FILE"
|
||||||
echo "开始更新DayZ Mod..." >> "$LOG_FILE"
|
echo "开始更新DayZ Mod..." >> "$LOG_FILE"
|
||||||
echo "时间: $(date)" >> "$LOG_FILE"
|
echo "时间: $(date)" >> "$LOG_FILE"
|
||||||
echo "==========================================" >> "$LOG_FILE"
|
echo "==========================================" >> "$LOG_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
# 检查环境变量
|
# 检查环境变量
|
||||||
if [ -z "$STEAM_USERNAME" ] || [ -z "$STEAM_PASSWORD" ]; then
|
if [ -z "$STEAM_USERNAME" ] || [ -z "$STEAM_PASSWORD" ]; then
|
||||||
@@ -26,15 +36,6 @@ fi
|
|||||||
|
|
||||||
cd /opt/steamcmd
|
cd /opt/steamcmd
|
||||||
|
|
||||||
if [ ! -f "/opt/steamcmd/steamcmd.sh" ]; then
|
|
||||||
echo "SteamCMD未安装,开始下载和安装..." >> "$LOG_FILE"
|
|
||||||
wget -O /opt/steamcmd/steamcmd_linux.tar.gz ${STEAMCMD_URL}
|
|
||||||
tar xvzf /opt/steamcmd/steamcmd_linux.tar.gz -C /opt/steamcmd
|
|
||||||
rm /opt/steamcmd/steamcmd_linux.tar.gz
|
|
||||||
chmod +x /opt/steamcmd/steamcmd.sh
|
|
||||||
echo "SteamCMD安装完成!" >> "$LOG_FILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "$MOD_IDS" ]; then
|
if [ -n "$MOD_IDS" ]; then
|
||||||
echo "开始更新Mod..." >> "$LOG_FILE"
|
echo "开始更新Mod..." >> "$LOG_FILE"
|
||||||
IFS=',' read -ra MOD_ARRAY <<< "$MOD_IDS"
|
IFS=',' read -ra MOD_ARRAY <<< "$MOD_IDS"
|
||||||
@@ -44,6 +45,12 @@ if [ -n "$MOD_IDS" ]; then
|
|||||||
|
|
||||||
echo "login $STEAM_USERNAME $STEAM_PASSWORD" > "$SCRIPT_FILE"
|
echo "login $STEAM_USERNAME $STEAM_PASSWORD" > "$SCRIPT_FILE"
|
||||||
|
|
||||||
|
# 如果需要更新服务器,先添加服务器更新指令
|
||||||
|
if [ "$UPDATE_SERVER" = true ]; then
|
||||||
|
echo "添加DayZ服务器更新指令 (ID: 223350)" >> "$LOG_FILE"
|
||||||
|
echo "app_update 223350 validate" >> "$SCRIPT_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
for mod_id in "${MOD_ARRAY[@]}"; do
|
for mod_id in "${MOD_ARRAY[@]}"; do
|
||||||
echo "添加Mod ID: $mod_id 到更新脚本" >> "$LOG_FILE"
|
echo "添加Mod ID: $mod_id 到更新脚本" >> "$LOG_FILE"
|
||||||
echo "workshop_download_item 221100 $mod_id validate" >> "$SCRIPT_FILE"
|
echo "workshop_download_item 221100 $mod_id validate" >> "$SCRIPT_FILE"
|
||||||
|
|||||||
Reference in New Issue
Block a user