一个现代化、响应式的 Left 4 Dead 2 服务器可视化管理面板。它通过一个简洁的 Web 界面,简化了服务器的部署、配置、实例管理和插件安装等操作,专为服主设计。
- 仪表盘概览: 实时查看服务器核心状态,包括服务器文件是否部署、插件平台是否安装、运行中的实例数量和已安装的插件总数。
- 一键部署: 通过网页按钮直接调用 SteamCMD 部署或更新求生之路2服务器,并提供实时的日志输出。
- 实例管理: 在网页上定义和管理多个服务器实例,可以独立启动或停止每个实例。
- 插件管理系统:
- 自动检测可安装的插件。
- 提供清晰的“可安装”和“已安装”插件列表。
- 支持批量安装和卸载插件。
- 插件平台安装: 自动检测安装包并执行 SourceMod 和 MetaMod 的安装与更新。
- 操作日志: 详细记录所有面板操作,包括登录尝试、API 调用、脚本执行等。支持按类型过滤、导出和清空日志。
- 容器化部署: 提供
Dockerfile和docker-compose.yml,实现与宿主机环境的隔离,简化部署流程。 - 安全认证: 具备独立的面板登录认证机制。
使用 Docker Compose 是最推荐的运行方式,它能自动处理所有依赖和配置。
- Docker 和 Docker Compose
- Git
-
克隆项目仓库
git clone https://github.com/Q1en/L4D2-Manager-Panel.git cd L4D2-Manager-Panel -
创建挂载目录 面板需要将服务器文件和 SteamCMD 保留在宿主机上,以防止容器重建时丢失。请在宿主机上创建这些目录。
mkdir -p /home/steam/l4d2server mkdir -p /home/steam/steamcmd
注意: 如果您使用其他路径,请务必同步修改
docker-compose.yml文件中的volumes部分。 -
配置环境变量 打开
docker-compose.yml文件,根据您的需求修改environment部分:PANEL_USER: 面板的登录用户名。PANEL_PASSWORD: 面板的登录密码。STEAM_USER: 用于登录 SteamCMD 的用户名(建议使用小号)。STEAM_PASSWORD: Steam 账户的密码。TZ: 设置容器的时区,例如Asia/Shanghai。
-
构建并启动容器
docker compose up --build -d
-
访问面板 启动成功后,在浏览器中打开
http://<你的服务器IP>:8080即可访问管理面板。
你可以在 app/L4D2_Manager_API.sh 脚本中定义多个服务器实例。
在 ServerInstances 关联数组中添加或修改条目:
declare -A ServerInstances=(
["主服_战役"]="
Port=27015
HostName='[CN] My L4D2 Campaign Server'
MaxPlayers=8
StartMap='c1m1_hotel'
ExtraParams='+sv_gametypes \"coop,realism,survival\"'
"
# 在这里添加更多实例...
)- SourceMod/MetaMod 安装包: 将
sourcemod-*.tar.gz和mmsource-*.tar.gz文件放入app/SourceMod_Installers目录中。脚本会自动选择最新版本进行安装。 - 插件: 将解压后的插件文件夹(例如,一个包含
addons、cfg等子目录的文件夹)放入app/Available_Plugins目录中。面板会自动将其识别为可安装插件。
- 后端: Flask
- 前端: 原生 HTML/CSS/JavaScript, SweetAlert2, Feather Icons
- 核心逻辑: Bash Script (
screen用于会话管理) - 容器化: Docker / Docker Compose
.
├── app/
│ ├── L4D2_Manager_API.sh # 核心功能的 Shell 脚本
│ ├── app.py # Flask 应用主文件
│ ├── logger.py # 日志记录器
│ ├── requirements.txt # Python 依赖
│ ├── Available_Plugins/ # 存放可用插件
│ ├── Installed_Receipts/ # 插件安装回执,请勿修改
│ ├── SourceMod_Installers/ # 存放插件平台安装包
│ ├── logs/ # 存放日志
│ ├── static/
│ │ └── style.css # 全局样式表
│ └── templates/
│ ├── dashboard.html # 仪表盘页面
│ ├── login.html # 登录页面
│ ├── logs.html # 日志页面
│ └── plugins.html # 插件管理页面
├── docker-compose.yml # Docker Compose 配置文件
└── Dockerfile # Docker 镜像定义文件
欢迎提交 Pull Requests 或 Issues。
本项目采用 AGPLV3 许可证。
