Skip to content

L4D2 Linux 服务器管理脚本

l4d2-server-next 项目的配套管理脚本现已上线!告别手动编写 docker-compose.yaml,告别繁琐的端口配置和数据卷管理,一条命令搞定 L4D2 服务器的全生命周期运维。

适合谁用?

  • 新手:完全不懂 Docker 也能一键部署服务器
  • 老手:快速搭建多实例服务器,告别重复劳动
  • 运维:统一管理镜像、配置、实例,日常维护更高效

功能特性

功能说明
一键安装启动自动检测/安装 Docker、配置镜像加速源、交互式部署首个实例
Docker 环境管理一键安装 Docker,国内环境自动使用清华镜像源
镜像管理拉取/更新游戏服和管理面板镜像,支持镜像加速源配置
多实例部署单台服务器可运行多个独立的 L4D2 服务器实例
交互式配置添加/修改实例全程向导,自动检测端口冲突
状态监控查看所有实例的运行状态、资源占用、日志
旧版兼容自动导入已有的 docker-compose.yaml 配置

快速开始

运行管理脚本

Cloudflare 加速(推荐国内用户)

sh
bash <(curl -sL l4d2-manage.laoyutang.cn)

官方源

sh
bash <(curl -sL https://raw.githubusercontent.com/LaoYutang/l4d2-server-next/master/manifest/install/manage.sh)

前置要求

需要 root 权限或 sudo 权限,因为脚本会安装 Docker 和管理容器。

首次安装向导

首次运行脚本时,如果检测到没有实例,主菜单会显示 "一键安装启动" 选项:

  1. Step 1/3 - 安装 Docker:脚本自动检测 Docker 是否安装,未安装则自动下载安装(国内自动走清华源)
  2. Step 2/3 - 配置镜像加速源:默认使用 docker.1ms.run,可自行修改或留空使用官方源
  3. Step 3/3 - 配置服务实例
    • 设置 Web 管理后台密码
    • 设置游戏端口(默认 27015)
    • 设置管理面板端口(默认 27020)
    • 选择 Tick 率(30/60/100,推荐 100)
    • RCON 密码自动生成,无需手动设置

确认配置后,脚本会自动拉取镜像并启动服务。首次启动需要下载约 5GB 的游戏数据,请耐心等待。

安装完成

游戏地址:  服务器IP:27015
管理面板:  http://服务器IP:27020

主菜单功能详解

脚本启动后进入一个交互式菜单界面,所有操作通过数字选项完成。

Docker 环境管理

  • 安装 Docker:一键安装,国内环境自动使用清华镜像源
  • 查看状态:显示 Docker 版本、Docker Compose 版本、服务状态、磁盘占用

如果你已有 Docker 环境,此菜单主要用于查看状态;如果没有,先在这里安装。

镜像管理

选项功能
拉取/更新游戏服务器镜像更新 laoyutang/l4d2-pure:latest
拉取/更新管理面板镜像更新 laoyutang/l4d2-manager-next:latest
拉取/更新全部镜像同时更新上述两个镜像
设置镜像加速源配置国内镜像加速地址,如 docker.1ms.run
查看本地镜像信息查看镜像大小、创建日期
重建所有实例拉取新镜像后,重建所有实例以应用更新

镜像更新

l4d2-server-next 发布新版本时,先在此菜单更新镜像,然后选择 "重建所有实例" 即可平滑升级,数据不会丢失。

服务实例管理

这是日常最常用的功能模块,支持对服务器实例进行全生命周期管理。

添加新服务实例

支持在同一台服务器上运行多个独立的 L4D2 服务器:

  1. 管理密码:设置 Web 后台登录密码
  2. 端口配置
    • 游戏端口(自动建议,首个实例 27015,后续 +10)
    • 管理面板端口(自动建议,首个实例 27020,后续 +10)
    • 自动检测端口冲突,避免配置错误
  3. Tick 率:30 / 60 / 100(推荐 100)
  4. VAC 验证:是否开启 Valve 反作弊验证
  5. 历史性能监控:是否开启历史性能数据收集
  6. Steam API Key:用于查询玩家游戏时长(可选)
  7. Bind 挂载(高级):将数据目录挂载到指定路径,如独立数据盘

多开建议

第二个实例建议端口为 27025/27030,第三个为 27035/27040,以此类推,保持 +10 的间隔避免混淆。

修改服务实例配置

支持修改已有实例的配置,分为两个子菜单:

游戏服务器设置

  • 修改游戏端口
  • 修改 Tick 率
  • 开关 VAC 验证

管理面板设置

  • 修改面板端口
  • 修改管理密码
  • 开关历史性能监控
  • 修改 Steam API Key

修改保存后会自动重新生成 docker-compose.yaml 并重启实例。

删除服务实例

安全删除指定实例,包括:

  • 停止并删除容器
  • 删除数据卷(l4d2-datal4d2-plugins
  • 删除配置文件
  • 清理软链接

注意

删除操作不可恢复!如需保留数据,请先备份。

查看所有实例状态

显示所有实例的运行状态总览:

  • 容器运行状态(运行中 / 已停止)
  • 游戏端口和管理面板端口
  • 资源占用情况
  • 最近日志片段

重启指定实例

快速重启某个实例,适用于修改游戏配置后需要重启生效的场景。


多实例部署详解

实例命名规则

脚本采用规范的实例命名方式:

  • 第一个实例:l4d2 / l4d2-manager
  • 第二个实例:l4d2-1 / l4d2-1-manager
  • 第三个实例:l4d2-2 / l4d2-2-manager

数据隔离

每个实例拥有独立的数据卷:

  • 游戏数据:l4d2-datal4d2-1-datal4d2-2-data...
  • 插件数据:l4d2-pluginsl4d2-1-pluginsl4d2-2-plugins...

便捷目录软链接

脚本会自动在 /data/l4d2/ 目录下创建软链接,方便直接访问游戏文件:

  • /data/l4d2/left4dead2 → 第一个实例的游戏目录
  • /data/l4d2/left4dead2-1 → 第二个实例的游戏目录

可以直接在这些目录下手动修改 cfgaddons 等文件,修改后重启实例即可生效。


进阶功能

镜像加速源配置

国内服务器拉取 Docker 镜像可能较慢,脚本内置加速源支持:

  1. 进入 镜像管理设置镜像加速源
  2. 输入加速源地址,如 docker.1ms.run
  3. 确认同步更新 docker-compose.yaml

常用加速源

  • docker.1ms.run(默认)
  • docker.m.daocloud.io
  • docker.ghcr.io(GitHub 容器镜像)

加速源随时可更换或清空恢复官方源。

Bind 挂载模式

如果你有独立的数据盘(如 /mnt/data),可以在添加实例时启用 Bind 挂载:

  • 游戏数据目录挂载到指定路径
  • 插件数据目录挂载到指定路径
  • 适合多实例共享数据,或数据盘扩容场景

注意

Bind 挂载配置后不可更改。实例删除后,绑定路径不会自动删除,需手动清理。

旧版配置自动导入

如果你之前使用手动 docker-compose.yaml 部署过服务器,脚本会自动检测并导入配置:

  • 识别镜像加速源
  • 提取游戏端口、面板端口、密码等配置
  • 迁移到新的实例管理系统
  • 自动创建 left4dead2 软链接替换旧版的 addons/cfg 软链接

常见问题

Q: 脚本需要什么权限?

A: 需要 root 或 sudo 权限。脚本会安装 Docker、创建 /data/l4d2 目录、管理系统服务和容器。

Q: 可以管理已有的 Docker 部署吗?

A: 可以。如果检测到 /data/l4d2/docker-compose.yaml 存在,脚本会自动导入配置。建议先将已有的 compose 文件放到 /data/l4d2/ 目录下再运行脚本。

Q: 如何修改已部署实例的端口?

A: 进入 服务实例管理修改服务实例配置游戏服务器设置/管理面板设置 中修改端口,保存后会自动重启。注意新端口不能被其他实例占用。

Q: 如何查看服务器日志?

A: 脚本目前主要通过 查看所有实例状态 显示最近日志片段。如需查看完整日志,可手动执行:

sh
docker logs -f l4d2        # 游戏服务器日志
docker logs -f l4d2-manager # 管理面板日志

Q: 如何备份和迁移服务器?

A: 游戏数据存储在 Docker Volume 中,可通过以下方式备份:

sh
# 备份第一个实例的游戏数据
docker run --rm -v l4d2-data:/data -v $(pwd):/backup alpine tar czf /backup/l4d2-data.tar.gz -C /data .

迁移时在新服务器运行脚本创建相同实例,然后恢复数据卷即可。

Q: 非 Docker 部署的 L4D2 服务器能用这个脚本管理吗?

A: 不能。这个脚本专门用于管理 Docker 部署的 L4D2 服务器。如果你已有宿主机直接运行的 L4D2 服务器,建议参考 L4D2 Server Next 中的 仅部署管理器 方案。


小结

L4D2 Linux 管理脚本让服务器运维变得前所未有的简单:

  • 零基础部署 — 一条命令,全程向导
  • 多实例管理 — 单台服务器轻松开多个服
  • 交互式配置 — 告别手动编辑配置文件
  • 自动冲突检测 — 端口冲突提前拦截
  • 镜像自动更新 — 一键升级到新版本
  • 数据隔离清晰 — 每个实例独立管理

有任何问题欢迎在评论区留言或在 GitHub 提交 Issue!

上次更新于: