自建中继 · 一条命令
PlayMesh 自建中继节点教程
一台最便宜的国内云服务器就能当 PlayMesh 的发现与中继节点:帮家庭宽带、校园网里的玩家互相找到并打洞,直连不成时转发游戏流量。全程一条命令,不需要域名,不需要 Docker。
节点只做两件事:帮玩家发现彼此并打洞;直连失败时转发加密的游戏流量。它不是游戏服务器,也不会让任何人通过它上网。
1买一台服务器
| 项目 | 建议 |
|---|---|
| 厂商 | 腾讯云轻量应用服务器、腾讯云 CVM、阿里云 ECS 均可 |
| 地域 | 选离玩家近的国内地域(北京 / 上海 / 广州 / 成都等) |
| 配置 | 1 核 1 GB 起步;4 人以内游戏中继完全够用 |
| 系统镜像 | Ubuntu 22.04 / 24.04、Debian 12、TencentOS Server、OpenCloudOS、Alibaba Cloud Linux 3 均支持,不要选 Windows |
| 带宽 | 直连成功时几乎不占带宽;全部走中继时约等于所有玩家上传流量之和,5 Mbps 峰值带宽通常够 4 人联机 |
| 计费 | 轻量应用服务器自带月流量包;按量计费的 CVM/ECS 建议在“费用中心”设置余额与流量告警 |
2放行端口(最容易漏的一步)
节点默认监听 TCP 和 UDP 11010。云厂商有自己的网络防火墙,服务器内部配好了也要在控制台放行,TCP 和 UDP 各加一条:
- 腾讯云轻量应用服务器:控制台 → 该实例 → 防火墙 → 添加规则:协议 TCP,端口 11010;再添加协议 UDP,端口 11010。
- 腾讯云 CVM:控制台 → 安全组 → 该实例绑定的安全组 → 入站规则 → 添加:来源
0.0.0.0/0,协议端口TCP:11010和UDP:11010。 - 阿里云 ECS:控制台 → 网络与安全 → 安全组 → 入方向 → 手动添加:授权对象
0.0.0.0/0,端口范围11010/11010,协议分别选 TCP 和 UDP。
3登录服务器
- 腾讯云:实例页面点“登录”使用网页终端 OrcaTerm;或本地终端
ssh ubuntu@服务器公网IP(TencentOS / OpenCloudOS 默认用户通常是root)。 - 阿里云:实例页面“远程连接”→ Workbench;或
ssh root@服务器公网IP。 - Windows 本机可直接用 PowerShell 里的
ssh,或安装 PuTTY。
4一条命令安装
登录后粘贴执行:
curl -fsSL https://gitee.com/xiongwenhao6/playmesh-deploy/raw/main/install.sh | sudo bash
脚本会自动:安装依赖 → 从国内下载地址获取程序并校验 SHA-256 → 创建独立系统用户 → 注册 systemd 服务并开机自启 → 放行本机防火墙(ufw / firewalld)。一两分钟后看到“安装完成”即可。
安装后自检:
sudo playmeshctl check
看到 TCP 11010: 正在监听 和 UDP 11010: 正在监听 就成功了。
可选参数
curl -fsSL https://gitee.com/xiongwenhao6/playmesh-deploy/raw/main/install.sh -o /tmp/playmesh-install.sh
sudo bash /tmp/playmesh-install.sh --port 21010 # 换端口
sudo bash /tmp/playmesh-install.sh --skip-firewall # 不动本机防火墙
sudo bash /tmp/playmesh-install.sh --print-plan # 只看将要安装什么
5在 PlayMesh 里使用
房主创建房间时,展开连接节点设置,在“自建发现与中继节点”里填两行(把 IP 换成服务器公网 IP):
udp://203.0.113.10:11010
tcp://203.0.113.10:11010
只有房主需要填,节点地址会随房间码发给其他玩家。房间页面的“中继连接”卡片会显示自建节点是否在线。
6日常维护
| 操作 | 命令 |
|---|---|
| 完整自检 | sudo playmeshctl check |
| 查看状态 | sudo playmeshctl status |
| 最近 100 行日志 | sudo playmeshctl logs 100 |
| 持续查看日志 | sudo playmeshctl logs -f(Ctrl+C 只退出查看,不停服务) |
| 启动 / 停止 / 重启 | sudo playmeshctl start、stop、restart |
| 更新 | sudo playmeshctl update |
| 卸载 | sudo playmeshctl uninstall |
系统更新(sudo apt upgrade 或 sudo dnf upgrade)与 SSH 安全(改默认端口、用密钥登录)请自行定期处理。
7常见错误
| 现象 | 处理 |
|---|---|
| 安装提示“端口 11010 已被其他程序占用” | 先查看提示中的进程,确认无用后停止,或改用 --port 21010 |
| 安装提示“不支持的发行版” | 换用 Ubuntu / Debian / TencentOS / OpenCloudOS / CentOS 系镜像 |
| 下载失败 | 检查服务器能否访问 HTTPS;企业内网可用 --download-url 与 --sha256 指定内网镜像 |
check 正常但玩家显示节点离线 | 十有八九是控制台安全组没放行 UDP;再确认客户端填的是公网 IP,不是 10.x / 172.16.x / 192.168.x |
| 服务器重启后不可用 | sudo playmeshctl status 查看;服务默认开机自启,异常时 sudo playmeshctl restart |
浏览器打不开 http://服务器IP:11010 是正常的,这不是网页端口。
8边界与责任
- 节点只转发 PlayMesh 虚拟网络中的加密游戏流量,不提供公网出口,玩家不能通过它上网;
- 节点所有者能看到连接的 IP、时间和流量,看不到游戏内容;
- 中继流量会消耗云服务器带宽,按流量计费时请设置费用告警;
- 请只在可信朋友之间分享节点地址,并遵守云厂商协议与当地法律法规。