调整服务器启动时,检查游戏和模组更新的逻辑
This commit is contained in:
@@ -80,7 +80,7 @@ start_dayzserver() {
|
||||
cd /root/Steam/steamapps/common/DayZServer
|
||||
|
||||
# 启动服务器之前,检查mod是否有更新.
|
||||
bash /opt/updatemod.sh
|
||||
bash /opt/updatemod.sh update_server
|
||||
updatemodpath="/root/Steam/steamapps/workshop/content/221100"
|
||||
target_dir="/root/Steam/steamapps/common/DayZServer/client_mod"
|
||||
|
||||
@@ -238,7 +238,7 @@ else
|
||||
echo "DayZServer已安装,检查更新"
|
||||
# 切换到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..."
|
||||
cd /root/Steam/steamapps/common/DayZServer
|
||||
start_dayzserver
|
||||
|
||||
@@ -10,10 +10,20 @@ fi
|
||||
# 设置日志文件路径
|
||||
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 "开始更新DayZ Mod..." >> "$LOG_FILE"
|
||||
echo "时间: $(date)" >> "$LOG_FILE"
|
||||
echo "==========================================" >> "$LOG_FILE"
|
||||
fi
|
||||
|
||||
# 检查环境变量
|
||||
if [ -z "$STEAM_USERNAME" ] || [ -z "$STEAM_PASSWORD" ]; then
|
||||
@@ -26,15 +36,6 @@ fi
|
||||
|
||||
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
|
||||
echo "开始更新Mod..." >> "$LOG_FILE"
|
||||
IFS=',' read -ra MOD_ARRAY <<< "$MOD_IDS"
|
||||
@@ -44,6 +45,12 @@ if [ -n "$MOD_IDS" ]; then
|
||||
|
||||
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
|
||||
echo "添加Mod ID: $mod_id 到更新脚本" >> "$LOG_FILE"
|
||||
echo "workshop_download_item 221100 $mod_id validate" >> "$SCRIPT_FILE"
|
||||
|
||||
Reference in New Issue
Block a user