Parsec + zerotier + moon 配置内网穿透+远程操作(延迟在20ms左右,真正实现远程游戏无延迟)
【1】安装Parsec,注册账号,主客端登录同一账号。
官网下载链接: https://parsec.app/
- Settings —— NetWork——UPnP打开
- Settings —— Host—— BandWidth Limit——50Mbps
【2】配置zerotier
-
官网链接: https://www.zerotier.com/,需要下载客户端
-
创建network,将设备加入到虚拟局域网。click the button,将会得到一个Network ID。
-
cmd or powershell,执行指令,所有客户端申请加入到该网络组中,window可在客户端登录账号加入。
zerotier-cli join <Network ID>
之后将加入到这个网络组,会出现相应的一栏ip号,将左边复选框勾上,加入到你的网络组中。
- 所有客户端都需要执行上述操作,即下载Parsec和配置zerotier。
- 原理其实是在本地加了一个虚拟网关。构建局域网。(有兴趣可google)
【3】KeyPoint,配置moon服务器
- 云服务器安装zerotier
curl -s https://install.zerotier.com/ | sudo bash
- 加入到同一个网络
zerotier-cli join <Network ID>
- 前往安装目录(Linux下)
cd /var/lib/zerotier-one
- 执行,生成moon.json文件
zerotier-idtool initmoon identity.public > moon.json
- 修改moon.json文件
vi moon.json
字段中修改:“stableEndpoints”: [“服务器的ip/9993”]
- 生成签名文件,这一步之后会生成一个000000xxxxxxxxx.moon的文件,同时把这个文件下载到本地,之后要用
zerotier-idtool genmoon moon.json
- 将这个文件移动至moons.d文件夹,注意把文件名替换成你自己的
mkdir moons.d
mv 000000xxxxxxxxx.moon moons.d
service zerotier-one restart # 之后重启服务器端B的Zerotier
- 服务器官网,打开安全组,开放9993端口,采用UDP协议
- 从服务器下载到所有本地客户端,scp命令
scp usrname@ServerIP:sourcePath desPath
-
客户端前往zerotier安装目录,window一般在
C:\ProgramData\ZeroTier\One
,注意是隐藏文件夹!!!,找半天没找到,晕。 -
one
目录下创建moons.d
文件夹,将服务器下载下来的文件00000xxxx.moon
拷贝进去。 -
重启windows服务
搜索服务
在服务中找到Zerotier One 右键重新启动
- 检测是否配置成功,等等几分钟执行。
zerotier-cli listpeers
后面会有一个MOON
标志,中间是你的服务器IP端口,如果是-1就是有问题
【4】结果,延迟很低
- Parsec显示延迟