123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #!/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 "=========================================="
|