update: 添加自动更新mod脚本

This commit is contained in:
2025-07-24 22:32:57 +08:00
parent 49350bb094
commit a5fea9ccae
4 changed files with 62 additions and 16 deletions

View File

@@ -2,17 +2,21 @@
# DayZ Mod更新脚本
# 使用方法: docker compose run --rm steamcmd updatemod
# 或通过crontab自动运行每15分钟
set -e
echo "=========================================="
echo "开始更新DayZ Mod..."
echo "时间: $(date)"
echo "=========================================="
# 设置日志文件路径
LOG_FILE="/var/log/updatemod.log"
echo "==========================================" >> "$LOG_FILE"
echo "开始更新DayZ Mod..." >> "$LOG_FILE"
echo "时间: $(date)" >> "$LOG_FILE"
echo "==========================================" >> "$LOG_FILE"
# 检查环境变量
if [ -z "$STEAM_USERNAME" ] || [ -z "$STEAM_PASSWORD" ]; then
echo "错误: 请设置 STEAM_USERNAME 和 STEAM_PASSWORD 环境变量"
echo "错误: 请设置 STEAM_USERNAME 和 STEAM_PASSWORD 环境变量" >> "$LOG_FILE"
exit 1
fi
@@ -21,34 +25,34 @@ cd /opt/steamcmd
# 检查SteamCMD是否已安装
if [ ! -f "/opt/steamcmd/steamcmd.sh" ]; then
echo "SteamCMD未安装开始下载和安装..."
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安装完成"
echo "SteamCMD安装完成" >> "$LOG_FILE"
fi
# 更新Mod如果有配置的话
if [ -n "$MOD_IDS" ]; then
echo "开始更新Mod..."
echo "开始更新Mod..." >> "$LOG_FILE"
IFS=',' read -ra MOD_ARRAY <<< "$MOD_IDS"
for mod_id in "${MOD_ARRAY[@]}"; do
echo "更新Mod ID: $mod_id"
echo "更新Mod ID: $mod_id" >> "$LOG_FILE"
./steamcmd.sh +login $STEAM_USERNAME $STEAM_PASSWORD +workshop_download_item 221100 $mod_id +quit
if [ $? -eq 0 ]; then
echo "Mod $mod_id 更新完成"
echo "Mod $mod_id 更新完成" >> "$LOG_FILE"
else
echo "Mod $mod_id 更新失败"
echo "Mod $mod_id 更新失败" >> "$LOG_FILE"
fi
done
else
echo "未配置Mod ID跳过Mod更新"
echo "未配置Mod ID跳过Mod更新" >> "$LOG_FILE"
fi
echo "=========================================="
echo "Mod更新完成"
echo "时间: $(date)"
echo "=========================================="
echo "==========================================" >> "$LOG_FILE"
echo "Mod更新完成" >> "$LOG_FILE"
echo "时间: $(date)" >> "$LOG_FILE"
echo "==========================================" >> "$LOG_FILE"