Last active 1747115276

install_l4d2_plugins.sh Raw
1#!/usr/bin/env bash
2# install_l4d2_plugins.sh
3# 自动安装 Left 4 Dead 2 必选插件脚本(Ubuntu, Bash)
4
5set -euo pipefail
6
7# 检查 rsync 并安装
8if ! command -v rsync >/dev/null 2>&1; then
9 echo "检测到未安装 rsync,正在安装..."
10 apt-get update
11 apt-get install -y rsync
12fi
13
14# 当前工作目录为 ~/l4d2
15WORKDIR="$(pwd)"
16# 源目录:整合包中的 JS-MODS
17SRC_DIR="$WORKDIR/2025-5-11豆瓣酱な (v1.11)(6968-1155)战役整合包/JS-MODS"
18# 目标目录:游戏根目录(包含 addons、cfg 等子目录)
19TARGET_DIR="$WORKDIR"
20
21# 合并拷贝目录函数
22copy_dir() {
23 local src="$1"
24 local dst="$2"
25 if [ -d "$src" ]; then
26 echo "合并:$src -> $dst"
27 rsync -av --no-perms --no-owner --no-group "$src/" "$dst/"
28 fi
29}
30
31# 确保目标子目录存在
32mkdir -p "$TARGET_DIR/addons"
33mkdir -p "$TARGET_DIR/cfg"
34
35# 1. 先安装 1.11 插件平台(Linux 版)
36PLATFORM_DIR="$SRC_DIR/1.11插件平台linux版(6968-1155)(必须先启用这个)/left4dead2"
37if [ -d "$PLATFORM_DIR" ]; then
38 echo "安装插件平台:$PLATFORM_DIR"
39 copy_dir "$PLATFORM_DIR/addons" "$TARGET_DIR/addons"
40 copy_dir "$PLATFORM_DIR/cfg" "$TARGET_DIR/cfg"
41fi
42
43# 2. 遍历“必选-”开头的插件文件夹
44for plugin in "$SRC_DIR"/必选-*; do
45 [ -d "$plugin/left4dead2" ] || continue
46 echo "处理插件:$(basename "$plugin")"
47 # 拷贝 addons 下内容到目标 addons 合并
48 copy_dir "$plugin/left4dead2/addons" "$TARGET_DIR/addons"
49 # 拷贝 cfg 下内容到目标 cfg 合并
50 copy_dir "$plugin/left4dead2/cfg" "$TARGET_DIR/cfg"
51done
52
53# 提示完成
54echo "所有必选插件及平台已安装完成!"