告别付费!在 NAS 上搭无名杀服务器,朋友异地也能组队玩三国杀
三国杀常年霸占Steam差评榜首,笔者的发小也深受其害,至今仍身在泥潭。不过偶尔到店里玩玩桌游,作为与朋友消遣和增进感情的工具还是不错的。
本期来介绍一款开源免费、休闲可联机的项目:无名杀。让咱们足不出户,就可以和家人、朋友一起大杀四方。
本教程将通过 Docker Compose 在飞牛 NAS 上一键部署无名杀联机服务器,包含游戏前端与联机大厅,支持局域网 / 外网联机,兼容 PC、安卓客户端与 iOS 网页端。
.png)
一、前期准备
1.1 硬件与系统要求
飞牛 NAS:x86 架构(不支持 ARM),内存 ≥ 2GB,空闲存储 ≥ 5GB
系统版本:fnOS 稳定版(基于 Debian,原生支持 Docker)
网络环境:NAS 接入家庭局域网,获取固定局域网 IP(如 192.168.1.100)
工具准备:浏览器(访问 NAS 管理后台)、文本编辑器(编写 Compose 文件)、SSH 客户端(可选,用于调试)
外网访问(可选):公网 IP + 端口转发,或 Cloudflare Tunnel/ZeroTier 等内网穿透工具
1.2 核心前提说明
无名杀采用 “前端 + 联机服务器” 双服务架构:
前端服务:提供游戏界面,默认端口 7799
联机服务器:处理实时联机与房间管理,默认端口 7789
Docker Compose 优势:一键部署双服务,配置固化,运维便捷
文章所用镜像为B站老哥秦曱凧打包。笔者测试好多个镜像外网建房联机,最终用这个成了,特表感谢。
.png)
三国杀(无名版)基于原地址 libccy/noname 的master分支所作。开源、免费,支持Docker一键部署,支持局域网/外网联机。PC、安卓具备客户端,苹果系推荐使用web端游玩。
功能、角色、模式都非常多,完成度很高了,这里不多啰嗦。
二、步骤 1:搭建 Docker 与 Docker Compose 环境
2.1 安装 Docker 服务
登录飞牛 NAS 管理后台(
http://你的 NAS 局域网 IP:8000)进入「应用中心」,搜索「Docker」并点击「安装」(已安装则跳过)
安装完成后,在「系统设置」→「高级设置」中确认 Docker 服务已启用
2.2 配置 Docker 优化
进入 Docker 管理界面,点击「设置」:
镜像源配置:添加国内加速源(如
https://docker.mirrors.ustc.edu.cn/),解决镜像拉取慢问题存储路径设置:修改为数据盘路径(如
/mnt/Storage/Docker),避免占用系统盘空间网络设置:保持默认桥接模式即可
2.3 启用 Docker Compose 功能
飞牛 NAS 的 Docker 应用已集成 Docker Compose,无需额外安装:
进入 Docker 管理界面,左侧导航栏点击「Compose」
系统自动检测环境,若提示缺失依赖,点击「一键修复」
三、步骤 2:Docker Compose 部署无名杀
3.1 准备 Compose 配置文件
创建存储目录
登录飞牛 NAS 管理后台,进入「文件管理」
在数据盘(如
/mnt/Storage)新建文件夹noname,用于存放配置文件和日志在
noname文件夹内再创建两个子目录:web-logs(前端日志)、server-logs(联机服务器日志)
编写 docker-compose.yml 文件
用本地电脑文本编辑器新建文件,命名为
docker-compose.yml粘贴以下配置(可根据需求修改端口等参数):
yaml
version: '3.8' services: # 无名杀前端服务 noname-web: image: swr.cn-north-4.myhuaweicloud.com/firfe/noname:web-1.10.17.4.1 # 国内镜像源 container_name: noname-web restart: unless-stopped # 异常自动重启 ports: - "7799:5161" # 宿主机端口:容器端口(前端默认 5161) volumes: - /mnt/Storage/noname/web-logs:/app/logs # 日志映射 logging: driver: "json-file" options: max-size: "10m" # 单日志最大 10M max-file: "3" # 保留 3 个日志文件 # 无名杀联机服务器 noname-server: image: swr.cn-north-4.myhuaweicloud.com/firfe/noname:server-1.10.17.4.1 # 国内镜像源 container_name: noname-server restart: unless-stopped ports: - "7789:8080" # 宿主机端口:容器端口(服务器默认 8080) volumes: - /mnt/Storage/noname/server-logs:/app/logs # 日志映射 logging: driver: "json-file" options: max-size: "10m" # 单日志最大 10M max-file: "3" # 保留 3 个日志文件保存文件,确保编码为 UTF-8
上传配置文件
将
docker-compose.yml文件上传到 NAS 的/mnt/Storage/noname目录
3.2 部署无名杀服务(图形化操作)
进入飞牛 NAS 的 Docker 管理界面,点击左侧「Compose」→「新增项目」
项目配置:
项目名称:输入
noname(自定义,便于识别)项目路径:点击「浏览」,选择
/mnt/Storage/noname来源选择:默认「使用现有 docker-compose.yml 文件」
点击「确定」创建项目,系统自动加载配置
点击项目右侧的「构建」按钮,Compose 将自动执行以下操作:
拉取前端与联机服务器镜像
创建并启动双容器
配置端口、存储映射及日志
等待构建完成(约 1-3 分钟,取决于网络),项目状态显示「运行中」即部署成功
四、步骤 3:局域网访问与联机设置
4.1 访问游戏前端
打开浏览器(推荐 Chrome/Edge),输入
http://你的 NAS 局域网 IP:7799若能看到无名杀游戏界面,说明前端服务正常
4.2 配置联机服务器
在游戏界面中,点击「联机模式」
关闭弹出的邀请链接窗口,点击红色「启动」按钮
在弹出的服务器地址输入框中,输入
wss://你的 NAS 局域网 IP:7789(注意是wss而非http)点击「确认」,即可创建房间或加入他人房间
注意:网页端需要启用浏览器的serviceWorker功能,常规的NAS_IP:7799本地无法游玩。本地局域网请参照BV1EJ14BWEok这个视频。
五、步骤 4:外网访问配置(可选)
最简单的方案:反正是咱们搭建了自用,我的建议是直接反代HTTPS访问,里外通吃。NAS可借助Lucky。
.png)
说明:
# 国内网络环境下,443端口基本禁用# 以下分别是我反代后的,能成功访问服务的完整域名
# 游戏地址-webnoname.xxx.xyz:1234
# 联机大厅地址-serversgs.xxx.xyz:12345.1 方案 A:公网 IP + 端口转发
在路由器中设置端口转发:
登录路由器管理后台,找到「端口转发」或「虚拟服务器」功能
添加两条转发规则:
外部端口 7799 → 内部端口 7799 → 内部 IP(你的 NAS 局域网 IP)
外部端口 7789 → 内部端口 7789 → 内部 IP(你的 NAS 局域网 IP)
外网访问地址:
前端:
http://你的公网 IP:7799联机服务器:
wss://你的公网 IP:7789
5.2 方案 B:Cloudflare Tunnel(无公网 IP 首选)
激活 Cloudflare Zero Trust:
登录 Cloudflare 控制台,进入「Zero Trust」→「网络」→「Tunnels」,点击「激活」
在飞牛 NAS 安装 cloudflared(参考官方文档)
创建隧道并添加公共主机名:
分别为前端和联机服务器添加主机名,指向
你的 NAS 局域网 IP:7799和你的 NAS 局域网 IP:7789
外网访问地址:
前端:
https://noname-web.yourdomain.com联机服务器:
wss://noname-server.yourdomain.com(注意是wss)
联机模式
我们点击联机模式,进去会弹窗输入邀请链接,先别管都叉掉。然后点击红色的启动按钮。
.png)
出现弹窗是否输入邀请链接,先无视关掉。后面拿到邀请链接进房间再点击确认填写。
.png)
接着输入wss://sgs.xxx.xyz:1234。有端口必然也要带上。其他多余的不要加。连接。
.png)
再出现上文窗口依然关掉。此时便进入了联机大厅。
.png)
创建房间即可,挑个喜欢的模式,办英雄什么的自行设置。这里我远程操作家里的windows开了另一个账户进来创建房间(联机大厅进入操作方式完全一致)。
.png)
点击分享,会生成一个邀请链接,发送给其他玩家:
无名杀-联机-身份-1/3
三国大雄邀请你加入38608522293房间
联机地址:wss://sgs.xxx.xyz:1234
请先通过游戏内菜单-开始-联机中启用“读取邀请链接”选项上文进入联机大厅时,弹出的房间邀请链接填写窗口,将完整的链接复制粘贴进去,便可识别进入房间。
.png)
如果你此时正在挂机。看到房间出现,直接点击也可进入。
.png)
开始对局即可。

六、常见问题排查
6.1 服务启动失败
检查日志:通过
docker-compose logs -f查看具体错误信息端口占用:确保 7799 和 7789 端口未被其他服务占用,可在
docker-compose.yml中修改宿主机端口(如改为 8099 和 8089)镜像拉取失败:检查 Docker 镜像源配置,尝试更换国内加速源
6.2 联机失败
服务器地址错误:确保输入的是
ws://你的 NAS IP:7789(局域网)或wss://你的域名(外网)防火墙限制:关闭 NAS 系统防火墙或放行 7789 端口
外网访问问题:检查公网 IP 是否为动态 IP(可使用 DDNS 服务),或 Cloudflare Tunnel 是否正常连接
6.3 游戏界面显示异常
浏览器兼容性:推荐使用 Chrome 或 Edge 浏览器,不支持 Firefox
Service Worker 限制:部分浏览器对本地 IP 访问有 Service Worker 限制,可通过 HTTPS 反代解决(如使用 Nginx 或 Cloudflare Pages)
七、优化建议
配置备份:定期备份
docker-compose.yml文件和日志目录性能优化:根据 NAS 配置调整容器资源限制(如在
docker-compose.yml中添加resources字段)多服务复用:同一 Cloudflare Tunnel 可添加多个主机名,同时映射 NAS 上的其他服务
访问控制:通过路由器防火墙或 Cloudflare Zero Trust 设置访问白名单,仅允许指定设备访问
总结
通过 Docker Compose 在飞牛 NAS 上部署无名杀,可快速搭建稳定的局域网 / 外网联机环境。核心步骤包括:搭建 Docker 环境、编写 Compose 配置文件、部署双服务、配置访问地址。若需外网访问,可根据网络条件选择端口转发或 Cloudflare Tunnel。