欢迎光临散文网 会员登陆 & 注册

官方服务器联机卡顿掉线?来用n2n组建远程局域网来愉快玩耍吧!

2022-10-22 04:01 作者:水色小鹿  | 我要投稿

此文章仅为对一次问题解决经历的记录,旨在以后遇到相同问题时能快速找到解决方案,并非权威教程。

感谢 @醉舞倾歌 的测试协力!

一、起因

今天和朋友一起联机游玩《神界:原罪2》,被steam的狗屎网络狠狠折磨了一晚上。不是掉线就是连接失败,到最后也没能成功进行游戏。偶然发现这个游戏是支持局域网联机的,这样就不需要通过不稳定的官方服务器来联机了。


局域网直连

经过查找资料,我选择了n2n这个开源的远程局域网方案。

示意图

多个边缘节点客户端通过架设在公网上的超级节点实现数据互通,组成局域网。既然原理上可行,那就直接行动。

二、准备工作

所需硬件如下:

  • 拥有公网IP的服务器一台

三、下载n2n

项目地址

在release中下载适合自己服务器系统的安装包

笔者使用的是64位Ubuntu,所以下载这个

n2n_3.0.0-1038_amd64.deb

如果服务器是Windows系统,则从下面链接选择并下载别人预编译好的win版二进制文件

根据自己系统位数选择对应版本下载

四、安装并配置supernode

安装完成后更改配置文件

supernode.conf

将-p后面的数字修改成你想要使用的端口并保存

五、supernode的启动与关闭

启动后,通过查看状态能看到这样的log没有Error,就说明启动成功了

运行状态

启动后不要忘记到服务器控制台的安全组或防火墙开启你指定的TCP和UDP端口

安全组

六、下载n2n客户端

从这个地址选择并下载Windows edgenode客户端到你要联机的电脑上

没错,和上面Windows版supernode地址一样,因为supernode服务端和edgenode客户端是同在一个压缩包里的

根据自己系统位数选择对应版本下载

然后解压到你常用放软件的目录(笔者是D:\n2n)

解压后应该有这样四个文件

解压

需要用到的就是edge.exe

七、编写启动脚本

在解压目录新建一个名为 start.cmd 的文本文件

编辑内容

将其中的方括号按需求填写

举个例子,假如我想建立一个名为aquadeer的局域网,密码为aquadeer123,supernode公网IP为101.101.101.101,开放端口为7777

联机电脑1(edgenode1)你想让他的局域网IP为192.168.100.1,则内容应为

联机电脑2(edgenode2)你想让他的局域网IP为192.168.100.2,则内容应为

有多台电脑就以此类推

保存好脚本后,右键,以管理员身份运行(非常重要!)

运行后如果能看到这样的信息

则说明连接成功。

使用ping命令来测试局域网是否互通

没有丢失则组网成功。

接下来就能在游戏里愉快联机了。

游玩结束后关闭edgenode,只需要在cmd窗口按ctrl+c等待一会就能退出了。

记得一定不要直接叉掉,直接叉掉可能会导致下次启动报错


Q&A

Q:启动edgenode的时候报错

怎么办?

A:这说明你上次关闭的时候是直接叉掉的,没有用ctrl+c的方式正常退出。猜测可能是因为supernode没有收到退出消息所以并未释放掉本机的MAC地址和IP,导致第二次启动edgenode时MAC地址和IP被占用,鉴权失败。解决方案有三:

1、重启服务端

2、稍等几分钟后再连接

3、在服务端的 supernode.conf 配置文件末尾加上 -M 参数来禁用MAC地址校验

Q:我使用n2n gui和happynet这两个n2n客户端为什么无法连接

A:可能是因为n2n gui和happynet并未支持到3.0的版本所以连接失败。教程中使用的supernode服务端为3.0,相较于2.0改了很多东西。所以还是乖乖用3.0的edgenode连接吧


官方服务器联机卡顿掉线?来用n2n组建远程局域网来愉快玩耍吧!的评论 (共 条)

分享到微博请遵守国家法律