使用N2N搭建虚拟局域网联机游戏(EasyN2N\小黄鸭)
最近在折腾的一件事:朋友天南海北,如何进行局域网游戏?
若干年前,一伙同学约战网吧,CS、红警之类的联机游戏玩的不亦乐乎,如今再想找回当年的感觉已经非常不容易。其中一个比较直接的原因是,不在一个局域网内。
捣鼓了一些很古老的虚拟局域网软件Hamachi和LAN Bridger。问题很多,延迟奇高,放弃……
接着就是各种尝试不同的方案,最终找到了一个比较完美的解决方案:N2N
相对于其他虚拟局域网方案,N2N在网络环境良好的情况下,能够实现P2P直连,有效的降低虚拟局域网的延迟,即便无法直连,通过服务器中转,也能获得不错的延迟
只要支持局域网的联机游戏,N2N都支持。目前我个人已测试成功的有:
CS、红警2、红警3、星际争霸1、魔兽争霸3、DOTA、方舟生存进化、文明6、群星Stellaris
流星蝴蝶剑、人类一败涂地、百战天虫、求生之路1&2、我的世界、火炬之光2、帝国时代2……
下载客户端
使用方法
1.解压上述下载的压缩包
2.运行
请以管理员权限运行n2n.exe(小黄鸭图标右键 —— 以管理员身份运行)
初次运行时,启动器会自动安装所需要的虚拟网卡驱动
注:安装驱动时如果出现Windows安全提示,请信任即可
3.启动
需要选择或操作的几个选项
服务器:提供N2N组网的服务器(EasyN2N内置,请根据软件内指引免费获取)
小组名称:指定一个虚拟网小组名称(请尽量复杂,以便和公共N2N服务器上其他小组区分开)
虚拟IP:指定一个虚拟的局域网IP(或者让软件自动分配,但可能存在一些未知问题)
准备就绪后,点击启动
注:可能会弹出Windows防火墙的提示,请放行
4.查看状态
其他客户端
当需要让更多朋友加入你的虚拟小组时,可以使用以下方法
方法1:快捷加入
点击图标后,EasyN2N将把当前连接的服务器、虚拟IP、小组名称等导出为专用分享链接
如:
easyn2n://bjJuLnMxLmJ1Z3hpYS5jb206OTUyN0B6U213VUg0VldiQGF1dG9A
将上述链接复制粘贴给朋友,在朋友的客户端上,点击菜单导入
注:
若导出端为手动指定虚拟IP,则导入端需要手动填写虚拟IP的最后一位
方法2:手动加入
新加入的客户端,除虚拟IP设置不同而外,其他设置均需保持一致即可
朋友A:IP地址:192.168.66.1,组名称:zSmwUH4VWb,服务器:n2n.test.com
朋友B:IP地址:192.168.66.2,组名称:zSmwUH4VWb,服务器:n2n.test.com
朋友C:IP地址:192.168.66.3,组名称:zSmwUH4VWb,服务器:n2n.test.com
……
注:
1.若选择自定义虚拟IP(比如192.168.66.1),则需要所有客户端均在该IP段内(如192.168.66.x)
2.虚拟小组的服务器、组名称均需保持一致,每个客户端虚拟IP最后一位均需独立设置
测试
同理,也可以在两个客户端间建立TCP、UDP连接进行测试
关于延迟
目前常见的N2N传输,有两种方式
中转
当参与方网络环境相对复杂(比如校园网,或存在多层交换),无法建立P2P连接时,所有的数据传输都会经过服务器中转
中转模式下,A到B的延迟 ≈ A到服务器的延迟 + B到服务器的延迟
直连
当组网参与方网络环境比较纯净,NAT状态良好的情况下,N2N会在参与方之间建立P2P连接
此时所有的数据传输不会经过服务器中转,延迟能够极大程度降到最低
381 条评论
我在自己租用的阿里云轻量服务器上运行了EasyN2N的服务器(Windows系统),然后几个客户端连接该服务器组建虚拟网,互相都能ping得通。在使用psp模拟器ppsspp进行怪物猎人P2G联机的过程中,进入联机用的集会所(相当于房间)里也可以互相看到对方,但是进入任务(相当于开启联网游戏)的时候有时候可以4个人一起联机,有时候只能2人联机,第3个人在进入游戏的时候会断线(这个时候ping对方无法接通),出现这种情况的时候如果换一个人作为联机的主机,有时候又可以4人连接了。请教一下是否是因为建立了p2p连接而导致第三方无法加入(我让一起联机的人加了参数-S1也会出现这种情况)。
@黑夜守望者
我猜测,你说的这可能是遇到了UDP阻断,是运营商的锅,不是N2N的锅。咱们排除法,首先N2N没有人数的限制,并且前俩人已经组网成功,更换主机以后又能正常连接,所以N2N的问题比较小,另外-S1只是强制中转,还是走的UDP传输,可以参考本站的几篇文章:https://bugxia.com/3084.html(这个方法可以很大程度上改善UDP阻断的问题,但同时也就失去P2P了)
@Bug侠
十分感谢BUG侠百忙之中抽时间回复。根据这3天来的PPSSPP模拟器联机怪物猎人的情况,总结出一个规律:刚开始连接进入游戏的时候经常会出现3人连接2人可以接通,但是经常会1人断线(但是3-4人进房间不会出问题,只在进入游戏时候断线)。断线者在建好的房间里可以ping得通建房者的ip,但是进入游戏时就开始无法ping通了。等超时退回房间后就又能ping通。然后在进行了一系列的换人建房间,重启Easyn2n连接等的操作后,就由机会可以正常3-4人联机。等到可以正常联机后,后面的连接就不会出问题了。
@黑夜守望者
需要注意的是,当”进入游戏时就开始无法ping通“的这个人,掉线的时候得具体分析,比如日志里有没有异常提示,我上面关于UDP阻断的只是猜测。
@Bug侠
再次感谢bug虾不厌其烦的回复。容我再问几个问题:
1.V1,V2,V3几个版本之间的区别有没有比较详细的介绍;是否3个版本都能够支持建立p2p连接?
2.还有昨天联机的时候发现个有趣的现象:我作为游戏主机建房间,一个伙伴我无法ping通他,但是他却可以进房间,但是进游戏的时候就进不去了。
3.EasyN2N的测试工具里那个TCP/UDP页面具体是做什么用的?说明我看不是很懂,可否详细说明一下。
感谢BUG虾提供的简单易用的虚拟局域网工具,晚点我一定捐赠支持,年底手头稍微有点紧哈。
@黑夜守望者
客气了~
1.三个版本v3是最推荐的,v2好像在某个版本之前是不支持P2P的(忘了),v1不支持,因为太久远了,我也忘了里面的具体差异
2.第二个问题我感觉和防火墙有关系,PING和你们联机游戏的协议不一样,可能防火墙放行了游戏(TCP\UDP协议),但是阻止了PING(ICMP协议)?这个还是猜测……
3.EasyN2N自带的TCP/UDP工具作用是测试除了PING而外的联通性和稳定性,原理我相信你看了我第2条的回复就懂了。
@Bug侠
为啥没有下载虚拟网卡,咋下载啊
@qaq
你可以在安装一个openvpn,会附带tap虚拟网卡
在设备管理器中查看,如果安装失败可以设置-网络和Internet-高级网络设置-网络重置-重启再安装就好了
博主你好,supernode服务端怎么设置开启和关闭呢?我希望这个服务只在我需要的时候开启,不用的时候关闭避免占用资源或者有人借用。还有就是服务端开启后连接所需的信息只有ip地址和端口号,有没有可能未来的更新能添加连接密码的功能?
@LineCat
1.根据需求开关这个N2N和EasyN2N本身不包含
2.防止服务器被公开,可以尝试 https://bugxia.com/3334.html 里面的方法
博主你好,在使用小黄鸭的时候有个朋友一点击启动就直接闪退是什么情况
@豪猪
应该是被杀毒软件干掉了,信任即可。
惊了
博主博主,麻烦问下这个自带的虚拟网卡断开了有什么办法让他再连上么,昨天还能用得好好的,今天就一启动报启动失败错误代码:0 了,是虚拟网卡断开了的原因么,重新卸了虚拟网卡安装提示安装失败要手动安装,手动安装完成后虚拟网卡还一直是断开状态,需要怎么解决啊。
大佬,程序卖不呀~
@小张不慌张
卖~说个价呗~
请问局域网能ping通对方,但是看不到对方建立的主机怎么办,之前用hamachi能看见,但自从电信来把我上网的方式变成拨号后就不行了
@大只佬
不好意思,这个是N2N本身的问题。虽然看似ping通了,但是真实的联机原理和ping还是不一样的。目前除了本站列举的几个方法而外,暂时也没有其他的解决方法,还存在相当一部分游戏是不支持的。参考:
https://bugxia.com/1770.html
https://bugxia.com/3128.html
https://bugxia.com/3269.html
你好大佬这个客户端一直显示asking for IP address,怎么样才可以修复呢
大神我这有2台跑了少许服务的VPS 可以贡献出来 需要吗?
你好,小黄鸭有win系统做服务端的版本吗,我租的华为云是win的
@GH
EasyN2N自带服务端的,菜单-其他功能-服务端
https://bugxia.com/336.html