使用N2N搭建虚拟局域网联机游戏(EasyN2N\小黄鸭)

N2N, 折腾 2018/08/02

最近在折腾的一件事:朋友天南海北,如何进行局域网游戏?

若干年前,一伙同学约战网吧,CS、红警之类的联机游戏玩的不亦乐乎,如今再想找回当年的感觉已经非常不容易。其中一个比较直接的原因是,不在一个局域网内。

捣鼓了一些很古老的虚拟局域网软件Hamachi和LAN Bridger。问题很多,延迟奇高,放弃……

接着就是各种尝试不同的方案,最终找到了一个比较完美的解决方案:N2N

相对于其他虚拟局域网方案,N2N在网络环境良好的情况下,能够实现P2P直连,有效的降低虚拟局域网的延迟,即便无法直连,通过服务器中转,也能获得不错的延迟

只要支持局域网的联机游戏,N2N都支持。目前我个人已测试成功的有:

CS、红警2、红警3、星际争霸1、魔兽争霸3、DOTA、方舟生存进化、文明6、群星Stellaris

流星蝴蝶剑、人类一败涂地、百战天虫、求生之路1&2、我的世界、火炬之光2、帝国时代2……

下载客户端

EasyN2N

使用方法

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连接

此时所有的数据传输不会经过服务器中转,延迟能够极大程度降到最低

如何让N2N虚拟局域网走P2P?简单测试

常见问题

一些常见的问题汇总

本文标签:


381 条评论

  • 黑夜守望者 评论于 回复

    我在自己租用的阿里云轻量服务器上运行了EasyN2N的服务器(Windows系统),然后几个客户端连接该服务器组建虚拟网,互相都能ping得通。在使用psp模拟器ppsspp进行怪物猎人P2G联机的过程中,进入联机用的集会所(相当于房间)里也可以互相看到对方,但是进入任务(相当于开启联网游戏)的时候有时候可以4个人一起联机,有时候只能2人联机,第3个人在进入游戏的时候会断线(这个时候ping对方无法接通),出现这种情况的时候如果换一个人作为联机的主机,有时候又可以4人连接了。请教一下是否是因为建立了p2p连接而导致第三方无法加入(我让一起联机的人加了参数-S1也会出现这种情况)。

    • Bug侠 评论于 回复

      @黑夜守望者
      我猜测,你说的这可能是遇到了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人联机。等到可以正常联机后,后面的连接就不会出问题了。

        • Bug侠 评论于 回复

          @黑夜守望者
          需要注意的是,当”进入游戏时就开始无法ping通“的这个人,掉线的时候得具体分析,比如日志里有没有异常提示,我上面关于UDP阻断的只是猜测。

          • 黑夜守望者 评论于 回复

            @Bug侠
            再次感谢bug虾不厌其烦的回复。容我再问几个问题:
            1.V1,V2,V3几个版本之间的区别有没有比较详细的介绍;是否3个版本都能够支持建立p2p连接?
            2.还有昨天联机的时候发现个有趣的现象:我作为游戏主机建房间,一个伙伴我无法ping通他,但是他却可以进房间,但是进游戏的时候就进不去了。
            3.EasyN2N的测试工具里那个TCP/UDP页面具体是做什么用的?说明我看不是很懂,可否详细说明一下。
            感谢BUG虾提供的简单易用的虚拟局域网工具,晚点我一定捐赠支持,年底手头稍微有点紧哈。

            • Bug侠 评论于 回复

              @黑夜守望者
              客气了~
              1.三个版本v3是最推荐的,v2好像在某个版本之前是不支持P2P的(忘了),v1不支持,因为太久远了,我也忘了里面的具体差异
              2.第二个问题我感觉和防火墙有关系,PING和你们联机游戏的协议不一样,可能防火墙放行了游戏(TCP\UDP协议),但是阻止了PING(ICMP协议)?这个还是猜测……
              3.EasyN2N自带的TCP/UDP工具作用是测试除了PING而外的联通性和稳定性,原理我相信你看了我第2条的回复就懂了。

          • qaq 评论于 回复

            @Bug侠
            为啥没有下载虚拟网卡,咋下载啊

            • hahahotsoup 评论于 回复

              @qaq
              你可以在安装一个openvpn,会附带tap虚拟网卡
              在设备管理器中查看,如果安装失败可以设置-网络和Internet-高级网络设置-网络重置-重启再安装就好了

  • LineCat 评论于 回复

    博主你好,supernode服务端怎么设置开启和关闭呢?我希望这个服务只在我需要的时候开启,不用的时候关闭避免占用资源或者有人借用。还有就是服务端开启后连接所需的信息只有ip地址和端口号,有没有可能未来的更新能添加连接密码的功能?

    • Bug侠 评论于 回复

      @LineCat
      1.根据需求开关这个N2N和EasyN2N本身不包含
      2.防止服务器被公开,可以尝试 https://bugxia.com/3334.html 里面的方法

  • 豪猪 评论于 回复

    博主你好,在使用小黄鸭的时候有个朋友一点击启动就直接闪退是什么情况

    • 黑夜守望者 评论于 回复

      @豪猪
      应该是被杀毒软件干掉了,信任即可。

  • 蓝冰 评论于 回复

    博主博主,麻烦问下这个自带的虚拟网卡断开了有什么办法让他再连上么,昨天还能用得好好的,今天就一启动报启动失败错误代码:0 了,是虚拟网卡断开了的原因么,重新卸了虚拟网卡安装提示安装失败要手动安装,手动安装完成后虚拟网卡还一直是断开状态,需要怎么解决啊。

    • Bug侠 评论于 回复

      @小张不慌张
      卖~说个价呗~ :笑哭:

  • 大只佬 评论于 回复

    请问局域网能ping通对方,但是看不到对方建立的主机怎么办,之前用hamachi能看见,但自从电信来把我上网的方式变成拨号后就不行了

  • 喜哦 评论于 回复

    你好大佬这个客户端一直显示asking for IP address,怎么样才可以修复呢

  • 程程程 评论于 回复

    大神我这有2台跑了少许服务的VPS 可以贡献出来 需要吗?

  • GH 评论于 回复

    你好,小黄鸭有win系统做服务端的版本吗,我租的华为云是win的 :害羞:

  • 评论(本站已开启评论回复邮件通知功能,请如实填写邮箱以便及时收到回复)