|
@@ -0,0 +1,54 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+# DayZ Mod更新脚本
|
|
|
+# 使用方法: docker compose run --rm steamcmd updatemod
|
|
|
+
|
|
|
+set -e
|
|
|
+
|
|
|
+echo "=========================================="
|
|
|
+echo "开始更新DayZ Mod..."
|
|
|
+echo "时间: $(date)"
|
|
|
+echo "=========================================="
|
|
|
+
|
|
|
+# 检查环境变量
|
|
|
+if [ -z "$STEAM_USERNAME" ] || [ -z "$STEAM_PASSWORD" ]; then
|
|
|
+ echo "错误: 请设置 STEAM_USERNAME 和 STEAM_PASSWORD 环境变量"
|
|
|
+ exit 1
|
|
|
+fi
|
|
|
+
|
|
|
+# 切换到SteamCMD目录
|
|
|
+cd /opt/steamcmd
|
|
|
+
|
|
|
+# 检查SteamCMD是否已安装
|
|
|
+if [ ! -f "/opt/steamcmd/steamcmd.sh" ]; then
|
|
|
+ echo "SteamCMD未安装,开始下载和安装..."
|
|
|
+ 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安装完成!"
|
|
|
+fi
|
|
|
+
|
|
|
+# 更新Mod(如果有配置的话)
|
|
|
+if [ -n "$MOD_IDS" ]; then
|
|
|
+ echo "开始更新Mod..."
|
|
|
+ IFS=',' read -ra MOD_ARRAY <<< "$MOD_IDS"
|
|
|
+
|
|
|
+ for mod_id in "${MOD_ARRAY[@]}"; do
|
|
|
+ echo "更新Mod ID: $mod_id"
|
|
|
+ ./steamcmd.sh +login $STEAM_USERNAME $STEAM_PASSWORD +workshop_download_item 221100 $mod_id +quit
|
|
|
+
|
|
|
+ if [ $? -eq 0 ]; then
|
|
|
+ echo "Mod $mod_id 更新完成"
|
|
|
+ else
|
|
|
+ echo "Mod $mod_id 更新失败"
|
|
|
+ fi
|
|
|
+ done
|
|
|
+else
|
|
|
+ echo "未配置Mod ID,跳过Mod更新"
|
|
|
+fi
|
|
|
+
|
|
|
+echo "=========================================="
|
|
|
+echo "Mod更新完成!"
|
|
|
+echo "时间: $(date)"
|
|
|
+echo "=========================================="
|