游域 PlayMesh 图标游域 PlayMesh

自建中继 · 一条命令

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 各加一条

3登录服务器

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 startstoprestart
更新sudo playmeshctl update
卸载sudo playmeshctl uninstall

系统更新(sudo apt upgradesudo 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边界与责任