第三章:如何在自己的服务器上搭建一个SCP Secret Laboratory服务端
前言:配置要求与准备工作
在开始部署前,请确认你的服务器满足以下基础条件:
前置环境:本教程基于 Docker 容器技术。如果尚未安装 Docker,请先完成 Docker 环境的安装。
硬件要求:最低配置要求 2核 4G,推荐 4核 8G 以上以保证多人游玩时的流畅度。
网络要求:服务器必须具备独立的公网 IP。
操作系统:建议选择 Linux 系统(如 Ubuntu 22.04 或 Debian 12)。
第一步:准备配置文件
在服务器终端输入以下命令,创建并进入 SCPSL 专属工作目录:
mkdir -p /root/scpsl-docker
cd /root/scpsl-docker
使用
vi文本编辑器创建docker-compose.yml文件:
vi docker-compose.yml
按
i键进入编辑模式,将以下代码粘贴进去(注意保持 YAML 文件的原格式与缩进):
version: '3.8'
services:
scpsl-exiled-server:
image: cyzl0721/scpsl:latest
container_name: scpsl-exiled-server
restart: unless-stopped
stdin_open: true
tty: true
ports:
- "7777:7777/udp"
- "7777:7777/tcp"
environment:
- PORT=7777
- UPDATE_ON_START=true
- UPDATE_EXILED=true
- ACCEPT_EULA=true
volumes:
# 采用本地目录映射,方便直接在宿主机修改配置和添加插件
- ./data/scpsl:/scpsl
- ./data/config:/root/.config
粘贴完成后,按下
Esc键,输入:wq并回车保存。 (注:上述配置已设置启动时自动同意 EULA 协议,并会在开服时自动检查更新服务端与 EXILED 框架。)
第二步:启动服务器
在终端中输入以下命令,让容器在后台执行构建并启动:
docker compose up -d
首次启动时,系统会调用 SteamCMD 自动下载游戏服务端,并连接 GitHub 拉取最新版的 EXILED 框架。这个过程通常需要 1 到 3 分钟。 你可以输入以下命令查看实时的后台加载日志:
docker compose logs -f
(提示:首次启动会在当前目录自动生成 data 文件夹及所有的初始配置文件。看到日志不再大面积滚动并提示加载完毕后,按 Ctrl+C 退出日志查看界面即可。)
第三步:网络配置与开放端口
部署完成后,必须放行 7777 端口的 UDP 与 TCP 协议,否则外部玩家无法连接到你的服务器。此步骤需要进行云控制台和系统内部的双重配置:
1. 云服务器安全组配置(外部防火墙) 登录你的云服务商控制台(如腾讯云、阿里云等),进入当前服务器的“安全组”或“防火墙”页面。添加入站规则,放行 7777 端口,协议选择 TCP/UDP。
2. 系统内部防火墙放行(内部防火墙) 如果你的 Linux 系统内部开启了防火墙,还需要在终端执行对应的放行命令:
Ubuntu / Debian 系统 (使用 ufw):
sudo ufw allow 7777/tcp
sudo ufw allow 7777/udp
sudo ufw reload
CentOS / RHEL 系统 (使用 firewalld):
sudo firewall-cmd --zone=public --add-port=7777/tcp --permanent
sudo firewall-cmd --zone=public --add-port=7777/udp --permanent
sudo firewall-cmd --reload
通用 iptables 规则:
sudo iptables -I INPUT -p tcp --dport 7777 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 7777 -j ACCEPT
第四步:插件安装与修改常规配置
得益于我们在第一步设置了本地目录映射,现在你不需要进入 Docker 容器内部,直接在宿主机的 /root/scpsl-docker/data 目录下就能管理所有内容。
1. 插件存放与安装 本环境预集成了 EXILED 插件框架。你可以直接把下载好的 .dll 格式插件上传到宿主机的以下目录:
全局生效:
/root/scpsl-docker/data/config/EXILED/Plugins/仅当前端口生效:
/root/scpsl-docker/data/config/EXILED/Plugins/7777/
2. 修改常规配置与设置服主权限 游戏的核心配置和权限文件同样直接暴露在宿主机中。你可以使用 vi 命令直接修改它们:
玩法配置文件:
/root/scpsl-docker/data/config/SCP Secret Laboratory/config/7777/config_gameplay.txt在这个文件中,你可以修改server_name(服务器名称)、max_players(最大允许人数) 以及friendly_fire(友军伤害) 等参数。权限配置文件:
/root/scpsl-docker/data/config/SCP Secret Laboratory/config/7777/config_remoteadmin.txt打开该文件,向下滚动找到Members:这一行。在它的正下方,按照SteamID64@steam: owner的格式添加你的账号即可(例如:76561198xxxxxxxxx@steam: owner)。获取权限后,你可以在游戏内按M键呼出管理面板进行踢人、刷物品等操作。
第五步:控制台交互与配置生效
文件和插件在宿主机修改完毕后,需要让服务器重新加载才能生效。本环境自带 LocalAdmin 控制台,允许你直接与服务器底层进行交互。
1. 进入控制台 在终端输入以下命令即可实时进入游戏的控制台界面:
docker attach scpsl-exiled-server
2. 生效命令
如果是添加了新插件:在控制台输入
reload plugins并回车,即可在不关服的情况下热重载插件。如果是修改了配置或权限文件:建议输入
restart重启游戏服务端,使所有参数彻底生效。
3. 安全退出控制台 当需要退出 LocalAdmin 终端交互界面、回到宿主机命令行时: 必须先按快捷键 Ctrl+P,然后再按 Ctrl+Q 断开连接。
警告:进入
attach模式后,千万不要直接按Ctrl+C!这会被系统识别为强行终止信号,导致容器进程被杀死,服务器会直接宕机关服。
结语
至此,你的 SCP: 秘密实验室 专属服务器就已经搭建完成。只要云服务器保持开机,容器就会在后台自动守护进程。现在,你可以把服务器的公网 IP 发给朋友,让他们通过游戏内的“直接连接”功能加入了。祝各位收容顺利!