This commit is contained in:
2025-07-25 00:23:17 +08:00
parent 765eb3f8f9
commit ec75f7eb79

View File

@@ -28,10 +28,8 @@ if [ -z "$STEAM_USERNAME" ] || [ -z "$STEAM_PASSWORD" ]; then
exit 1 exit 1
fi fi
# 切换到SteamCMD目录
cd /opt/steamcmd cd /opt/steamcmd
# 检查SteamCMD是否已安装
if [ ! -f "/opt/steamcmd/steamcmd.sh" ]; then if [ ! -f "/opt/steamcmd/steamcmd.sh" ]; then
echo "SteamCMD未安装开始下载和安装..." >> "$LOG_FILE" echo "SteamCMD未安装开始下载和安装..." >> "$LOG_FILE"
wget -O /opt/steamcmd/steamcmd_linux.tar.gz ${STEAMCMD_URL} wget -O /opt/steamcmd/steamcmd_linux.tar.gz ${STEAMCMD_URL}
@@ -41,32 +39,25 @@ if [ ! -f "/opt/steamcmd/steamcmd.sh" ]; then
echo "SteamCMD安装完成" >> "$LOG_FILE" echo "SteamCMD安装完成" >> "$LOG_FILE"
fi fi
# 更新Mod如果有配置的话
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"
# 创建SteamCMD脚本文件
SCRIPT_FILE="/opt/steamcmd/update_mods.txt" SCRIPT_FILE="/opt/steamcmd/update_mods.txt"
echo "创建SteamCMD脚本文件: $SCRIPT_FILE" >> "$LOG_FILE" echo "创建SteamCMD脚本文件: $SCRIPT_FILE" >> "$LOG_FILE"
# 写入登录信息
echo "login $STEAM_USERNAME $STEAM_PASSWORD" > "$SCRIPT_FILE" echo "login $STEAM_USERNAME $STEAM_PASSWORD" > "$SCRIPT_FILE"
# 为每个Mod ID添加下载命令
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"
done done
# 添加退出命令
echo "quit" >> "$SCRIPT_FILE" echo "quit" >> "$SCRIPT_FILE"
# 显示脚本内容(用于调试)
echo "SteamCMD脚本内容:" >> "$LOG_FILE" echo "SteamCMD脚本内容:" >> "$LOG_FILE"
cat "$SCRIPT_FILE" >> "$LOG_FILE" cat "$SCRIPT_FILE" >> "$LOG_FILE"
# 执行SteamCMD脚本
echo "开始执行SteamCMD脚本..." >> "$LOG_FILE" echo "开始执行SteamCMD脚本..." >> "$LOG_FILE"
./steamcmd.sh +run_script update_mods.txt ./steamcmd.sh +run_script update_mods.txt
@@ -75,8 +66,7 @@ if [ -n "$MOD_IDS" ]; then
else else
echo "Mod更新过程中出现错误" >> "$LOG_FILE" echo "Mod更新过程中出现错误" >> "$LOG_FILE"
fi fi
# 清理脚本文件
rm -f "$SCRIPT_FILE" rm -f "$SCRIPT_FILE"
echo "清理临时脚本文件" >> "$LOG_FILE" echo "清理临时脚本文件" >> "$LOG_FILE"
else else