ZeroTier组网,免费轻松搭建Palworld私服,多人联机畅玩!
前言
最近palworld比较火,开服问题成了一个热门话题,为了解答我身边朋友的疑惑,特写此文
如果你是玩家,请直接跳转下面客户端配置
或者你有什么问题,可以先查阅下面的问答环节
服务器配置
具体配置流程
windows开服
首先是windows开服,这里官方也给出了流程
这里不再赘述,直接看Windows - Steam
看图就能理解
这个框就是服务器程序了,不要把他关掉!
然后测试一下,进入游戏,输入127.0.0.1:8211
进入服务器,如果能进,说明开好服务器了
接下来的流程是让这个服务器别人也可以连接
zerotier组网
注册zerotier
先注册zerotier
my.zerotier.com
zerotier网站
注册完以后,新建一个网络
点进新加入的网络
打开公共,以后就不用过来认证了
记下这个network id
之后连接需要用到,以我的id为例9e1948db63c39e10
服务器端加入zerotier网络和配置批处理文件
如果用edge浏览器可能会变成这样
跟着图走就行
接下来右键编辑他
把网络id,就是上文network id
,我这里是9e1948db63c39e10
改进去
如果你已经安装过zerotier,要手动加入网络,点下面打开查看内容
点此查看折叠内容
如果没安装过,保存以后运行,之后只需要看下面
看这个status,如果status是OK说明已经加入了网络
记住这个ip,这个ip就是你本机的ip,也就相当于服务器ip
以我的ip为例,服务器ip端口就是
172.23.228.90:8211
可以把这个改成你的ip+端口
即
填入 172.23.228.90:8211
至此服务器配置完成,只需要把这个文件发给其他人,让小伙伴们点这个文件就行了
客户端配置
服主可以把这里发给小伙伴看,传送门链接如下
没有安装zerotier(第一次进服务器的小伙伴)
客户端(小伙伴)只需要下载服主配置好的批处理文件,双击运行
安装完成后
右下角应该会有个图标
接下来点右键可以看到他的连接状态
如果没问题的话,status那栏应该和我一样是ok
然后就能进服了
如果你已经安装过zerotier,要手动加入网络,点下面打开查看内容,然后跳过下面的运行流程,直接ip进服,一般默认你没有
点此查看折叠内容
这里要输入服主给的zerotier network id已经安装zerotier
如果你已经安装过zerotier,要手动加入网络。
如果确定自己已经安装了zerotier,点下面打开查看内容,设置完以后直接ip进服就行了
点此查看折叠内容
这里要输入服主给的zerotier network id进服
Q&A
Zerotier和网速的关系?
Zerotier一般能吃满上传下载,一般的家用网络都没问题,一般超过10Mbps就可以,低于这个数建议2-4个人玩
网速测试可以进下面网站测试
中国科学院测速(国内推荐使用)
https://speedtest.net
zerotier有时候连不上,或者status显示REQUESTING CONFIGURATION
这个和网络质量有关,建议更换网络或者搭建moon节点
,一般来说只要等待2分钟就行
排查方法如下
首先看右下角有没有zerotier图标
ps: 有没有zerotier标志和能不能连接一般没有关系
如果没有找到zerotier图标,先按win+s
,然后直接打字输入 zerotier
,有的话请无视
双击打开,此时右下角会出现zerotier标志,若仍然没有,请查看折叠的任务栏中
然后右键,鼠标放到网络id上,查看status状态。
一般分为三个状态
- OK
- REQUESTING_CONFIGURATION
- ACCESS_DENYED
ok就是已经连接上了,一般都是REQUESTING CONFIGURATION
,可以点下面有个disconnect,然后再点reconnect,5分钟重试一次一般都能连上,如果实在连不上建议搭建moon节点
如果是ACCESS_DENYED
,检查上面type
是不是public
,如果是private
,则需要在zerotier里面确认加入,请参考上面服务器配置,将zerotier节点配置为public免确认,如果缺了这一步就会变成这样,
不行就像上面一样reconnect
一次,如果不行请重新安装
移动网请注意,一般移动网是默认墙zerotier planet节点的,也就会出现REQUESTING CONFIGURATION
,同时zerotier后台看不到你加入的请求,这种情况,如果是其他节点relay还好说
如果是这种情况可以在cmd里输入zerotier-cli peers
确认,若出现planet relay则说明planet无法下发配置,也就进不了zerotier网络
可以尝试替换planet节点,将planet替换文件(点此下载)替换C:\ProgramData\ZeroTier\One
目录下的planet
文件再尝试重连
若出现权限问题能直接覆盖就覆盖
若不能覆盖,先将他移动到C盘根目录,如图
然后打开cmd
输入copy C:\planet C:\ProgramData\ZeroTier\One
输入yes覆盖后,尝试重连,若仍不能解决建议添加frp
线路分流
延迟和人数上限?
由于zerotier原理,一般来说延迟能到30ms左右,人数能到32人封顶(因为zerotier一个网络节点只能25个人,25人以上需要创建两个网络,从zerotier层面上来说不考虑内存,可以无限人数游玩,这里的32人是palworld服务器人数限制)
还要开加速器吗
不准确的来说zerotier就是所谓的加速器,不要开别的加速器了
闪退?
和zerotier没关系,是游戏特色
您正尝试加入的比赛正在运行不兼容的游戏版本。请尝试升级游戏版本。
首先确认服务器最新版本,如果不是最新版本,把服务器关掉然后检验完整性
点击属性
换人开服务器,存档如何覆盖?
点pal
把这个Saved
文件夹打包,另一个要开服的电脑先开一次服务器,再关掉服务器
等服务器生成文件以后把Saved
文件夹粘贴到pal文件夹下,覆盖这文件夹就行了
主要起作用的是如下文件
Pal/Saved/SaveGames/0/xxxxxxxx/Level.sav
包括背包,人物等级,地图结构都存在里面
换人开服务器?
如果你已经在zerotier网络里面,换个说法就是你已经进过服务器了,只需要像上面一样替换上一个人开服的人的
存档,然后提供给别人你自己的zerotier ip
,别人连接的时候只需要换成你的ip就行了
比如上次是A开服,ip
为 10.64.1.4
,下一个开服的人是B,zerotier
的 ip
为10.64.1.5
,那么B需要得到A的存档,像上面的问题一样覆盖存档,开服以后其他人连接只需要输入10.64.1.5:8211
就行了
如何看自己ip可以看上面服务器配置有写
如果不在网络里面先加入网络,按照上面服务端配置加入
单人存档如何继承到另一个服务器,例如共享背包
结论:不可以
炸服以后的操作
服务器需要手动重启服务器进程,这个过程很短,熟练以后5秒就能重开,炸服的时候并没有任何提示,直接显示网络连接超时,而且这个黑框还是会在的,把黑框关掉之后重启
写详细点,重开是重开这个palworld dedicated server
黑框要关掉后重启
其他人等待10秒后就可以直接进服
不必担心存档问题,一般他会回档到20秒以前
如果连上zerotier进服很卡怎么办
首先排查是否直连win+r
输入cmd
,回车
输入
zerotier-cli peers
找到自己的id对应的那行
如果是DIRECT
则是正常的,说明是网络质量问题
如果是RELAY
,则说明连接出现问题,需要中转节点。可以试着reconnect
,若仍不行说明NAT层数太多,打不通洞,意味着需要换网络环境
id查看方法
zerotier-cli info
如果已经加入了别人的zerotier网络,会和当前网络冲突吗?能两边zerotier服务器互相串着玩吗
不会冲突,理论上来说只要网段不同,不需要改配置,连接的时候更换ip就能进到不同的服务器
如果网段冲突,一般来说ip也不会冲突,所以根本没有必要担心这个问题
如何看自己zerotier的ip
方法一
之前服务器配置有提到过,可以从zerotier的ui里看,点此跳转
方法二
cmd查看
仍然是win+r
输入cmd
在框框里输入ipconfig
往下找到zerotier
对应的network id
的网卡,仍然以9e1948db63c39e10
为例子
方法三
仍然以9e1948db63c39e10
为例子
自动重启服务器
@echo off |
第三行的PATH改成服务器进程根目录,另存为bat或cmd文件双击运行即可
存档丢失解决方法
只要有Saved
存档备份就能回档,所以要定期存档
2024-02-07
,更新版本后喜提存档丢失
被迫回档到2024-01-30
,并写了一个自动备份bat,放到PalServer\Pal
文件夹下,并创建backup文件夹就可以使用了
@echo off |
这个批处理会自动备份Saved文件夹,压缩成zip放到backup文件夹中
这次存档丢失也有我的责任,因为我很久没上线了没有随手备份存档,也应该预想到这种问题的
服务器连接不上?
首先cmd不要让他变成选择状态,会卡服
要右键点一下把他点到运行状态,这个问题很常见请特别小心
然后尝试重启服务器,打开cmd输netstat -ano|findstr 8211
看一下是否存在监听接口
存在udp则说明服务器没问题,接着排除防火墙问题
win+s搜索防火墙,打开高级防火墙设置
点击添加入站
点击新建规则
添加端口
添加udp端口
然后一直点下一页直到完成,再尝试连接
密码问题
出现No password has been entered检查你的配置是否存在密码
windows配置文件在PalServer\Pal\Saved\Config\WindowsServer\PalWorldSettings
看里面password的地方
若想取消密码直接不填,即ServerPassword=""
原理(可跳过) 2025/01/05 填坑
以下为个人见解,不一定准确
Zerotier是基于P2P的直连nat打洞软件, 说人话就是可以让两个没有公网ip的客户端通过中继服务器建立连接后,直接越过中继连接,建立连接后不通过中继服务器
连接流程如下,以客户端A向客户端B发起请求为例,假设moon节点(中继服务器)为M
- A 向 M 请求
- M 如果拥有 B 的相关信息,则直接发给 A, 使得 A 获取到通信 B 的相关信息,则直接和 B 建立通信
但如果是 M 没有 B 相关信息的情况呢?
这种情况一般会打洞失败,由于 B 没有在网络中通信,理论上是无法连接的
为了实现这一点,Zerotier在连接后会向网络中所有节点广播发送包以保持在线,并学习有response的路由并记录,一般通过默认moon
节点连接到所有节点
所以就会出现这样的现象
第一次ping会延迟很高,后面延迟就会下降
顺带一提,zerotier和wireguard不太一样,默认发送的包是带有加密压缩的
所以你要想在zerotier里面再传送加密代理流量,很容易被运营商QOS,包括TLS,我就因为这个zerotier断网过