使用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?简单测试

常见问题

一些常见的问题汇总

本文标签:


140条评论

  • TheMonitor 评论于 回复

    大佬,消逝的光芒和森林无法局域网联机,两边都已经ping通了

  • 小震 评论于 回复

    这个有没有易语言的开源呢?

  • hyyys 评论于 回复

    请问博主,在加入别人房时显示
    [2022-05-10 20:50:16] [OK] edge <<>> supernode
    [2022-05-10 20:52:26] WARNING: NAT-PMP invalid response type 9776
    [2022-05-10 20:52:28] WARNING: UPnP local TCP port 64987 mapping failed, code 501 (Action Failed)
    [2022-05-10 20:52:28] WARNING: UPnP local UDP port 64987 mapping failed, code 501 (Action Failed) 是我有设置对吗

    • Bug侠 评论于 回复

      @hyyys
      在这篇里已经有写了:https://bugxia.com/2518.html
      是因为你的本地网络没有开启UPnP或者没有成功映射导致

      UPnP、NAT-PMP……failed
      no IGD UPnP device found on the network

      检查路由器是否打开UPnP开关
      若无法操作UPnP开关,则此条提示不影响使用(可以通过附加参数 –no-port-forwarding 关闭)

      • hyyys 评论于 回复

        @Bug侠
        感谢博主耐心解答,我明天尝试一下 :咧嘴:

  • yhwinzoo 评论于 回复

    你好,我下载不下来啊,点击下载没有反应,第一次下载自动删除了,我已经把杀毒软件关闭了

    • Bug侠 评论于 回复

      @yhwinzoo
      可能是在浏览器下载的时候就被干掉了……
      1.不要使用IE或者Edge
      2.关闭或在Windows Defender添加白名单

  • 喰时之城的三三 评论于 回复

    作者大大,我是b站的一个up主 ID 喰时之城的三三 想用您的软件改善艾尔登法环联机 我能否在B站出个教程推广一下? 我会在简介表明出处和感谢的

    • Bug侠 评论于 回复

      @喰时之城的三三
      没问题的,随便使用,感谢您的推广。

  • 林钟寒艳 评论于 回复

    您好,我和我朋友服务器连接成功,但是
    1.运行日志显示 encryption is disabled in edge
    2.对方ping不通,并且NAT类型为4,使用的是校园网,有什么基本问题排查方法嘛,虚拟网卡驱动已经安装成功了

    • 林钟寒艳 评论于 回复

      @林钟寒艳
      对方防火墙已经关闭,仍然无法Ping通,但是用TCP/UDP服务端口测试,无论是TCP还是UDP,都有发送和接受数据,游戏内实测双方都无法搜索到对方房间

      • 林钟寒艳 评论于 回复

        @林钟寒艳
        上述问题汇总:
        1.联机问题解决了,我个人的问题,忘记关闭自己的防火墙了,,,不好意思
        2.该WARNING: encryption is disabled in edge仍然存在,但可以正常使用
        3.还有个问题大佬能帮忙一下嘛,手柄连接蓝牙,驱动报错提示该设备无法启动,代码10,具体内容是{地址范围冲突}指定的地址范围与地址空间冲突,大佬能大概说一下是哪方面的问题嘛,初步判断是端口冲突,但是相关驱动全部卸载完也没用,有时间的话可以解答一下嘛 :咧嘴:

        • Bug侠 评论于 回复

          @林钟寒艳
          1.该提示可忽略,默认情况下EasyN2N数据传输不加密,当然,也可以手动在附加参数中添加 -k asdf1234(任意字符)用于加密,具体见附加参数界面。
          2.超能力范围啦,爱莫能助…… :笑哭:

          • 林钟寒艳 评论于 回复

            @Bug侠
            好的,谢谢大佬的帮助,大佬的服务器很稳定,666

  • 张霈之 评论于 回复

    大佬您好 我是b站的一个up主,最近随着Ra3日冕mod的发布,原本用来联机的浩方平台几乎没有空余的位置,偶然看到了您的EasyN2N,昨天和小伙伴尝试之后秒杀浩方垃圾服务器,我想在b站推广这个应用,不知道您是否同意

    • Bug侠 评论于 回复

      @张霈之
      没问题的,随便使用,感谢您的推广。 :doge:

  • 小小 评论于 回复

    如果用默认小组名称bugxia_9527,会不会发生和其他网友分配到同一个局域网,导致出现安全风险

    • Bug侠 评论于 回复

      @小小
      会的,所以这个 bugxia_9527 就相当于是一串密钥一样,不要设的太简单或随意 :大笑:

  • 王嘉然 评论于 回复

    大佬 为什么我的打不开 运行不了

    • Bug侠 评论于 回复

      @王嘉然
      啥叫运行不了呢~是杀毒软件给杀掉了还是说点运行没反应? :萌:

  • 卡弟 评论于 回复

    感谢大佬
    有个小问题想请教一下,主机列表里的主机名可以修改吗

    • Bug侠 评论于 回复

      @卡弟
      可以啊,主机名就是计算机名

    • Bug侠 评论于 回复

      @卡弟
      如果不修改计算机名,那最新版EasyN2N 2.3里,附加参数中 -I 参数后面就是主机名

  • 呆呆的好可爱 评论于 回复

    您好博主,发现您的宝藏网站真心荣幸,服务器端在腾讯云,客户端在本地公司,使用n2n打通后,能否只需一台电脑连接云主机后,公司网段下的所有客户机都可以通过云主机连通成为一个局域网呢?阿里云有固定的公网ip ,本地公司没有固定公网ip

    • Bug侠 评论于 回复

      @呆呆的好可爱
      感谢!你说的这个需求描述的有点模糊,我之前写过一篇好像有点类似:https://bugxia.com/2228.html
      ———–
      “公司网段下的所有客户机”这句话不太理解

      • 呆呆的好可爱 评论于 回复

        @Bug侠
        公司网段下的所有客户机 也就是公司(局域网)内网的所有机器,

      • 呆呆的好可爱 评论于 回复

        @Bug侠
        A 一台云服务器 上面搭建了n2n服务端
        B 一台公司本地个人Pc搭建了n2n客户端
        本地个人Pc(B)下网段的所有ip地址都可以ping通A服务端(前提是这些pc都没有安装n2n客户端)

        • Bug侠 评论于 回复

          @呆呆的好可爱
          好像大概貌似应该是明白了 :笑哭: ,我捋一捋
          1) A — B通过N2N联通
          2) B\C\D… 在一个物理局域网下
          3) 在不组建N2N的情况下,实现 A — B\C\D 都联通
          对吧……

        • Bug侠 评论于 回复

          @呆呆的好可爱
          如果要实现这样的功能,B这台机器就得充当网关(因为其他的C\D\E等等要去到A,必须得经过B中转到A上去)。除非B是一台路由器(我之前发的博文里的情况),否则不容易实现(需要给除B外的所有机器手动添加一条额外的路由表)

          • 呆呆的好可爱 评论于 回复

            @Bug侠
            嗯呢 您说的:“需要给除B外的所有机器手动添加一条额外的路由表” 这个额外的路由是在服务器A上添加吗?

            • Bug侠 评论于 回复

              @呆呆的好可爱
              因为A-B是通的,但是剩余的C\D\E如果要去到A,就需要经过B,怎么样才能实现C → B → A呢,就必须在C上面指定一条去到A的路由,路由的作用就是告诉C ,要去 A 该怎么走(要经过B中转)。
              同理,剩余的D\E\F等也需要添加路由,才能去到A。所以如果你的C\D\E客户端数量太多的话,就得每台机器添加路由,比较麻烦。
              但如果B是台路由器,C\D\E这些都连接在B的下面,那就只需要在B的上面添加一条路由,然后它下面连接的这些设备都会知道去A怎么走了。
              ——
              路由大概就是这么个意思,能理解的话就简单了。

              • 呆呆的好可爱 评论于 回复

                @Bug侠
                嗯呢 我明白了,现在问题就是B不是台路由器而是一台个pc电脑,但C\D\E…这些机器有的可能是交换机,有的可能是防火墙,有的可能是电脑,有的设备可能无法加路由功能,博主还有什么好的方案吗?或者说作为B来说是一台网关路由器,怎么把B变成一台网关路由器?或者说可以买什么设备来做网关路由器(这个设备上可以搭建N2N服务)博主有推荐吗?对了 博主能否加您个微信好友想请您喝个奶茶,以表示感谢您的耐心回复

                • Bug侠 评论于

                  @呆呆的好可爱
                  最现成的方法还是把 B 换成能 [自定义静态路由] 的路由器,一般情况下,商品路由器(TP、小米、华为等)基本上都不支持该功能,支持的这功能大多数是第三方固件,比如Openwrt的软路由等;如果还要在这个设备上运行N2N或者更多的功能,直接上OpenWRT软路由就行了,比如我用的这个:
                  https://bugxia.com/wp-content/uploads/2019/12/20191213021822507.jpg
                  ——————-
                  问题是,为了这实现这个需求,可能需要花更多的时间和精力去折腾去研究……
                  ——————-
                  可以加群1150222959,再加我Q就行(我是群主)
                  付费支持通道:https://bugxia.com/n2n_server_plus

  • rszhuhao 评论于 回复

    您好~打扰一下啦,因为我是小白~我想请教一下,这个有linux版本嘛?我想在我的linux服务器和win10之间建立一个局域网,从而实现文件共享~打扰您啦!

  • 一飞 评论于 回复

    A B两个电脑在一个局域网内,都用N2N,延迟350ms,连接速度也是非常慢,这是什么原因

    • Bug侠 评论于 回复

      @一飞
      A\B在同一个物理局域网时并组建了N2N,系统会根据路由表优先通过N2N到对方(看你的延迟,应该是中转了,延迟=A到服务器的延迟+B到服务器的延迟)

  • 折腾侠 评论于 回复

    大佬,我最近从企鹅云上搞了台VPS,一直在关注开源的组网技术,现在已经试了wireguard和tinc,发现wireguard并没有P2P模式,而且速度不咋的。而tinc这个所谓的p2p明显不符合我要求。我公司是联通的宽带,家里是移动大内网,tinc这货反而一直在往固定UDP端口打洞,百分百不会成功的,因为那个端口我都没开到外网上。目前我这边p2p唯一成功的只有zerotier这个商业软件,可以跑满移动带宽。我现在最后的方案就是N2N了,我想知道N2N在移动大内网下打洞成功的机率如何,他的机制是否跟tinc类似?

    • Bug侠 评论于 回复

      @折腾侠
      如果zerotier可用,建议还是zerotier,毕竟成熟稳定。当然N2N也是另外一种选择,这几年我一直在用N2N,很少再折腾其他的同类软件。
      N2N打洞相关的东西可用参考:https://github.com/ntop/n2n/blob/ecedcdcb58f64544531e3bbc87b6980b1de83f6a/doc/Hacking.md

      • 折腾侠 评论于 回复

        @Bug侠
        谢谢大佬回复,我会多关注n2n方面的知识,也感谢你提供的easyn2n,祝大佬前程似锦 :大笑:

  • 王世 评论于 回复

    用了N2N,公司里面不同网段之间电脑传文件速度达到一百兆,但是远程桌面非常卡,只有2mbps左右的速度,不知道为什么。用了向日葵远程看视频,软件上显示P2P连接的,网速显示也有10到20mbps

    • Bug侠 评论于 回复

      @王世
      这个得排查一下,比如如果公司A\B之间原本就可以通过物理局域网连接,那么要tracert一下里A到B,看走的哪个网关,看看数据走没走N2N

      • 王世 评论于 回复

        @Bug侠
        发现了,公司内网接的是联通的,笔记本连了宿舍的无线网,无线网是移动的,断开无线网正常了

  • 梦暮 评论于 回复

    我和我的朋友防火墙都关了,就是 ping 不到,查了半天,发现是我们之前有安装过 UsbEAm_LAN_Party_V1.2 这个软件,结果网络驱动冲突了。解决方法:前往“设备管理器”,在网络驱动找到TAP-Windows Adapter V9,卸载,然后在 EasyN2N\n2n_client 重新安装 tap-windows-9.21.2.exe 这个网络驱动即可。希望能帮到一些相同状况的人 :萌:

    • FPC12138 评论于 回复

      @梦暮
      dogfight360 大佬的UsbEAm_LAN_Party_V1.2里面的TAP9应该是自己修改过的,N2N无法调用里面的接口自动修改IP。

  • bucheryang 评论于 回复

    为什么我朋友可以ping 而我不成功啊

  • kim 评论于 回复

    我开流星蝴蝶剑的时候还是找不到房间,跃点修改过了,然后是用wireshark抓包软件抓的时候,发现流星蝴蝶剑的UDP广播包用的是本地的网卡在广播,没用n2n的tap虚拟网卡。咋办

  • lst 评论于 回复

    请问用了这个之后电脑开热点出问题了咋办,手机连热点一直在验证ip那边连不上

    • Bug侠 评论于 回复

      @lst
      不好意思,没遇到过这种情况,我这边实测荣耀Magicbook,Win10 2004,开启N2N,并开热点,手机也能连上,小米10

  • Train澈影 评论于 回复

    ping不通呀,防火墙都关了,也显示连接服务端成功了,就是俩人谁也ping不通谁

  • xt 评论于 回复

    博主,s1一直erro,一直失败是什么问题

    • Bug侠 评论于 回复

      @xt
      请选择s1而外的其他内置服务器,s1服务器在维护 :笑哭:

  • 111的321 评论于 回复

    大佬,现在做了新的实验,发生了如下的问题。
    同一局域网里面可以很容易的建立P2P连接,但是不同局域网不行。好奇是否是需要设置路由器的端口映射?如果需要,可以指导一下吗?
    该工具对应的客户端上的通信端口是什么?

    • Bug侠 评论于 回复

      @111的321
      N2N的P2P组网原理,简单来说就是【NAT打洞】,它和组网双方的网络环境复杂程度有很大的关系。
      具体的东西可以参考本文上面的【关于延迟】部分,也可以自行搜索相关的东西深入了解一下。
      edge.exe默认走的随机端口,有可以使用 -p 参数 来自定义端口,见:https://bugxia.com/n2n_launcher_param

  • Yuzu 评论于 回复

    作者大大好~,报告一个现象,现在客户端默认识别虚拟网卡不是安装的,而是UU等加速器的虚拟网卡,不知道这个现象会带来什么后果,所以报告一下

    • Bug侠 评论于 回复

      @Yuzu
      如果电脑里已存在Tap-Windows Adapter虚拟网卡,就不会安装一个新的了,免得重复引起其他问题 :咧嘴:

  • xiaolei 评论于 回复

    说实话,对这个代码挺好奇的,楼主可以部分开源吗,想连接一下,秋梨膏

    • xiaolei 评论于 回复

      @xiaolei
      了解,打错字了

      • Bug侠 评论于 回复

        @xiaolei
        n2n是开源的,https://github.com/ntop/n2n,启动器只是套了层壳子罢了 :汗:

  • Chris 评论于 回复

    我下载了这个n2n然后复制了一份给朋友,但是我们在网络适配器上显示的网络,就是以太网下面那一行字不一样,而且ping不通他

    • Bug侠 评论于 回复

      @Chris
      没有Tap-Windows Adapter那个吗?ping不通的原因比较多,不过一般都是windows自带防火墙的问题,再折腾折腾吧~

  • Sveax 评论于 回复

    站长您好,感谢您的教程。我有个问题想咨询下。
    单位局域网是个没有连接任何互联网的纯局域网而且网络环境复杂,是否可以搭建服务端?有没有win环境下的服务端linux不会用(=_=)

    • Bug侠 评论于 回复

      @Sveax
      呃,我给你捋一下吧。
      —————
      单位局域网服务器,比如A;
      该局域网外的某客户端,比如B、C、D;
      如果在A上面搭建n2n,因为B\C\D到A都不通,所以各个客户端之间也就无法组建n2n虚拟网;
      Win下的服务端见这里:https://file.bugxia.com/s/b6MAp6LS78b6XBp
      里面的 supernode_v*.exe 即为服务端,用法就一行命令:
      —————
      supernode -l 端口号 -f
      —————

      • svenmax 评论于 回复

        @Bug侠
        谢谢您的回复,单位的局域网虽然复杂,但是,有很多服务器(A)是B,C,D可以访问的。所以我觉得可以尝试下,复杂主要是有很多的端口被屏蔽了。

        • Bug侠 评论于 回复

          @svenmax
          不用谢,我以为是没法访问到。如果都能互相访问到,那就可以折腾折腾,端口被屏蔽这个也没辙,N2N的Supernode(服务端)到edge(客户端),走的UDP,而且也不支持动态端口,所以确实得折腾一番。

  • Asttear 评论于 回复

    用来红警3联机。我是电信的,有公网IP做服务器,友人A是电信的,友人B是移动。
    现在我和友人A测试联机正常,友人B同样设置却无法在房间里看见我和友人A(我们同样看不见他)。友人B的N2N应该是正确配置了的,Log显示也正常,而且也能互相 Ping 通。
    所以这是什么问题呢?

    • Bug侠 评论于 回复

      @Asttear
      呃,出现这种问题的朋友还是挺多的,得逐一分析,我列一下我的思路:
      1.任意两方如果可以通过N2N组网联机,说明N2N网络是正常的,可以排除服务端supernode的问题
      2.一般来说,搜不到对方的时候,也可以尝试使用CS等游戏,看看是否可以通过这些游戏自带的命令行的连接到对方
      3.能ping通,却无法搜索到对方,大多数还是Windows或者安装的第三方防火墙软件导致的,建议从这方面下手

      • Asttear 评论于 回复

        @Bug侠
        和友人C试了下,关了友人C的防火墙,结果出现了和友人B一样的问题,最后还是被逼着去用了浩方 :二哈:
        没有尝试别的游戏,毕竟红警的局域网联机并不能手动指定IP加入。
        我想不出别的原因了→_→再排查的话只能怀疑国产杀毒软件了……

      • Asttear 评论于 回复

        @Bug侠
        另外服务端 supernode_v2 在我这里经常出现莫名崩溃消失的情况,不知道博主有没有遇到过?

        • Bug侠 评论于 回复

          @Asttear
          哈,关了防火墙还是问题依旧的话,那我也没什么思路了,只能花点功夫多研究研究。
          玩N2N就是个折腾的过程,可能会遇到很多奇奇怪怪的问题。
          我这边没有遇到过崩溃的情况,我这边一直很稳定。 :笑哭:

          • Asttear 评论于 回复

            @Bug侠
            又试了下,发现双方都能 ping 通,然而虽然我能 TCP/UDP 测试通对方,对方却无论如何也接收不到我的返回状态,TCP测试就直接提醒我检查地址或端口了……防火墙什么都关掉了,真不知道是什么原因了……

            • Bug侠 评论于 回复

              @Asttear
              这个情况我之前也遇到了,但是是和一方的防火墙有关
              简单分析一下,Ping通,说明ICMP协议正常,也可以说明N2N组网是OK的,但是TCP\UDP协议不通,我猜测有可能是windows的防火墙或者是其他安全类软件进行了拦截……没办法,只能一点点的排查了
              :笑哭:

  • 帝国时代2 评论于 回复

    只有客户端下载链接没看到服务端的链接怎么建自己的服务器

    • Bug侠 评论于 回复

      @帝国时代2
      在这里:https://bugxia.com/336.html

  • LXJlin 评论于 回复

    dalao,我的Server 用N2N搭建了虚拟局域网,
    Server 的设置是 177.77.77.0
    PC 的设置是 177.77.77.1
    但是Server 中的MySQL数据库需要使用 192.168.200.131进行访问,因为他是虚拟机。
    简单的来说如何实现 PC访问Server中的 192.168.200.131
    目前百度了很多的教程,他们都没有详细的提及,包括类似于MC服务器的功能
    MC服务器是 127.0.0.1回环IP
    搭建局域网后的确会看见,因为他就是在回环里。
    希望站长能够完善一下该方面的教程。

    • Bug侠 评论于 回复

      @LXJlin
      有几个不明白的地方,大概梳理一下:
      1.意思是Server同时搭建了N2N服务器(中心节点 supernode)和MySQL数据库服务?
      2.PC和Server没有在同一个局域网网段下吗?
      3.然后你要具体实现什么功能呢?是想利用N2N服务,打通PC和Server?
      不好意思,我理解能力差…… :汗:

      • LXJlin 评论于 回复

        @Bug侠
        >目前有一台服务器,称其server
        >一台普通的家用电脑,称其为pc
        server下有一个数据库,他位于192.168.200.131下
        pc 与server打洞并且互相都ping通了,我现在遇到的问题是,不论跨网段还是同一网段均无法在pc上实现访问server下的数据库。

        • Bug侠 评论于 回复

          @LXJlin
          哦哦哦,大概明白了,意思是你想通过N2N实现类似于内网穿透的功能?
          能Ping通,说明N2N是隧道是没问题的,但是无法通过PC连接到Server,是不是MySQL绑定的监听端口(比如3306)没有对N2N的IP放行?另外要实现内网穿透,也可以搭建Frp服务,它的内网穿透要比N2N好用一些。

      • 明日 评论于 回复

        @Bug侠
        楼主你好n2n开启后能和朋友联机玩红警了 但是这时候其他软件就无法联网了,怎么办?

  • hsdnmm 评论于 回复

    和朋友打红警2,第一玩儿的时候联机正常,后来再玩儿就不行了。机器网络环境都没变,也不知道啥原因。。。。郁闷!!

    • Bug侠 评论于 回复

      @hsdnmm
      再试试其他游戏,CS 魔兽3什么的,没法搜到对方的原因比较多 :害羞:

      • hsdnmm 评论于 回复

        @Bug侠
        感谢回复,我再试试。

  • 许彪 评论于 回复

    站长,两台win10都连接上了centos7的supernode,但是都ping不通对方,显示请求超时,supernode is listening on UDP 9527 (main),两台win10 都关闭了防火墙,都是用的自己家的路由器,没有公网ip,您能帮忙分析一下问题可能出在哪么~~谢谢

    • 许彪 评论于 回复

      @许彪
      supernode is listening on UDP 9527 (main)是服务器开启supernode的提示,windows这边ping对方只显示请求超时,表述不清,见谅~~

      • Bug侠 评论于 回复

        @许彪
        确定成功连接到supernode了吗(调试窗口返回Rx REGISTER_SUPER_ACK myMAC=)?
        如果连不上supernode,排查建议:
        1、supernode端防火墙是否关闭或放行N2N端口
        2、运营商对UDP数据包是否封锁
        如果能连上supernode,但ping不通,排查建议
        1、检查edge双方组名称、密码、IP段是否一致
        2、更换网络环境、增加edge
        ============
        抱歉,暂时只能想到这么多了,一步一步的排查问题

        • 许彪 评论于 回复

          @Bug侠
          谢谢站长,确实已经正常连接到了supernode,CMD窗口:
          Rx REGISTER_SUPER_ACK myMAC=00:FF:36:72:BC:70 [IP:端口号] (external IP:端口号)
          ,edge的IP只有最后一位不同,应该是处于同一段的,后续我再多找几台电脑试一下,如果有小伙伴遇到一样的问题,欢迎一起讨论~~~

      • svenmax 评论于 回复

        @许彪
        站长好,我又来麻烦您了,
        这是我最近看到的一个项目
        不知道您能不能帮忙测试下,
        小白也不会编译这个,万分感谢。
        https://gitee.com/gnbdev/gnb

  • ReekyStive 评论于 回复

    bugxia.com 的服务器连不上啊
    WARNING: Supernode not responding – moving to 0 of 1

  • 安抚 评论于 回复

    或许是我想的比较天真,有没有可能,可以增加一个设置。强制直连。强制走中转这样!!!

    • Bug侠 评论于 回复

      @安抚
      又找了一下,这里有比较直观的直连条件说明:
      ====================
      关于打洞的问题,这取决于网络环境了,简单说下:
      1、双方中只要有一方是完全锥形NAT(NAT1),可以直连;
      2、双方都是非对称型的NAT(受限型NAT:NAT2和端口受限型NAT:NAT3),这种情况可以打洞,通过supernode握手以后,双方的数据不再经过服务端;
      3、一方为受限型NAT(NAT2),另一方为对称型NAT(NAT4)可以打洞,通过supernode握手以后,双方的数据不再经过服务端;
      4、一方为端口受限型NAT(NAT3),另一方为对称型NAT(NAT4),这种情况无法打洞,数据要走supernode中转;
      5、双方都为对称型NAT,这种情况也是无法打洞的,数据要走supernode中转。
      ====================
      https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=260898

  • 安抚 评论于 回复

    楼主的东西很方便,就是报毒太厉害!这个就不说了。我想问下楼主,理论上N2N应该是IP直连的。为什么实际使用下来,都是过中转服务器的。就好像我本地两台真局域网主机的电脑。我用别的一些虚拟网工具或者是STEAM的话直接就是局域网延迟了。用了N2N还要绕一圈服务器导致,延迟很高。不知道有没有办法解决这个问题? :笑哭:

    • Bug侠 评论于 回复

      @安抚
      嗯~~毕竟是易语言写的,难免报毒……我用的火绒,很安静。
      —————-
      n2n确实是支持直连,但仅仅只是多种连接方式的一种,n2n在无法直连的时候会切换为中转模式。想要直连,还需要视本地的网络环境而定。具体的知识可以参见这里:http://www.lucktu.com/archives/767.html

  • linbanxian 评论于 回复

    楼主过年好,我用的你这个,我是直接搭建的服务器 ping都可以ping通 就是玩魔兽的时候可以看到房间但就是没法加入进去 :嘴锤: :汗: :汗: :惊讶: :惊讶:

    • war3 评论于 回复

      @linbanxian
      老哥,我也是弄来玩魔兽的,我们连看都看不到对方,你是怎么弄的?

      • linbanxian 评论于 回复

        @war3
        要保证都连接上自己的内网

    • Bug侠 评论于 回复

      @linbanxian
      正好楼下的哥们跟你的问题差不多,我也测试了一下,你可以尝试关闭Windows的防火墙来测试。过程见楼下。

      • linbanxian 评论于 回复

        @Bug侠
        好点老哥,关了防火墙果然好使 ,但是这个延迟有点高啊

        • Bug侠 评论于 回复

          @linbanxian
          :咧嘴: 搞定就好,n2n组网毕竟没有第三方平台稳定,延迟的话,只能将就了,我自用的是第三个服务器,相对比另外两个要低一点。

  • war3 评论于 回复

    大佬 我按你办法弄了两台电脑能PING通 但是我们联机打魔兽在局域网里看不到对方啊

    • Bug侠 评论于 回复

      @war3
      呃……魔兽3我没测试,我们当时玩了CS和流星蝴蝶剑,这两个是可以的。如果一定要使用N2N组虚拟网,可以试试别的游戏可不可以联机,比如CS1.6。如果只是为了联机,现成的平台就挺好了。

      • war3 评论于 回复

        @Bug侠
        大佬 就是因为不想在平台打才自己弄的 我们自己改的图和自己做的图在平台没法玩~那个连接端口9527有影响么?我在百度查魔兽端口是6112 需要怎么调试么?

      • war3 评论于 回复

        @Bug侠
        大佬 刚才我试乐 流星蝴蝶剑也不行 我完全按照你你的步骤来的 是不是电脑还需要调些什么东西 求指教~~~~新年快乐

        • Bug侠 评论于 回复

          @war3
          我这边和朋友下了魔兽3测试了一下,同时也测试了CS、流星,都是可以正常联机的。见图:
          https://s2.ax1x.com/2019/02/07/ktQu4J.png
          https://s2.ax1x.com/2019/02/07/ktQmEF.png
          https://s2.ax1x.com/2019/02/07/ktQnN4.png
          ============
          不过测试过程中,发现一个问题:
          A建立的房间,B能看见也能加入;而B建立的房间,A无法看见也无法加入,但是双方都能ping通。
          于是就尝试把B的电脑防火墙关闭,重启游戏,再次建立房间,A就可以看见B的房间并成功加入游戏。
          所以你可以尝试关闭windows防火墙来测试一下,我和朋友均为Win10 1803,关闭防火墙方法:https://jingyan.baidu.com/article/17bd8e52083ce685ab2bb839.html

  • closer_ex 评论于 回复

    博主,win10更新1809之后,我的启动器调试窗口就什么都不显示了(本来是控制台的地方什么都没有),朋友也ping不通,更新之前还是正常的,这种情况该怎么办呢

    • Bug侠 评论于 回复

      @closer_ex
      我先更新到1809看看,应该是Bug了,待修复

      • closer_ex 评论于 回复

        @Bug侠
        博主更新后有这个问题吗?另外在启动时弹出来的cmd窗口里显示的是连接成功的提示,ping自己也能通

        • Bug侠 评论于 回复

          @closer_ex
          嗯,我更到1809了。确实有这个问题,不过还没时间研究怎么解决。可以先用命令行的方式连接,命令行日志在n2n_client\commandline.log

  • Ieven 评论于 回复

    感谢感谢,也是想和几个朋友搞一下局域网游戏,试试,还没成功,继续试试,感谢博主!

    • Bug侠 评论于 回复

      @Ieven
      n2n组网还是很方便的,有需要的帮助的话尽管说

      • 明日 评论于 回复

        @Bug侠
        n3n组虚拟局域网 如何保证其他软件正常访问外网?

  • zeronet 评论于 回复

    写得不错,我准备搬到zeronet中去啦

  • lucktu 评论于 回复

    无意当中发现楼主研究N2N自成一派,非常不错,学习到不少东西,感谢!!我们N2N有一个群的:256572040。

    试用楼主的N2N客户端,提点建议可以吗?
    1、可选服务器,建议从一个文件读取,这样我们可以自定义服务器。因为N2N不总是直连,都大面积用你的,会卡的。
    2、你编辑的v2,被我们群定义为v2s了,以便与官方的v2作区别,中心节点不通用,所以请再设计一个v2s的界面,我们也可以用。

    感谢您的文章和软件!

    • Bug侠 评论于 回复

      @lucktu
      感谢感谢,去你的网站转了一圈,发现你才是职业N2N玩家啊……我只是小打小闹一下,几个朋友偶尔联机的时候用一下。我做的那个启动器也只是套了个壳子,方便使用罢了。针对你说的几点:
      1、服务器列表可以做成从本地文件读取,但是也可以做成可选择是否从远端更新服务器列表文件,保证可用性。
      2、新的官方n2n我还没研究,不过要是启动的命令行差不多的话,那实现起来也很快。

      • lucktu 评论于 回复

        @Bug侠
        没想到博主回答挺及时的!
        我只是用得早一点,其实不懂编程,只是一个使用者而已。还是你厉害,一个人创造了这么多!!
        我目前在windows7x32位上测试,实际上这个程序是运行不起来的,点击后显示“启动失败”,而且Debug按钮也是无效的,希望能修复一下。
        关于你的回答,我觉得很好,
        1、服务器列表你的方法很好,方便自定义即可。注意可以从列表上读取到版本。例如,我们同一个IP提供 3 个版本的n2n,希望能自动与下面的版本号对应。
        2、官方的2.5与官方以前的2是完全兼容的,你现在编辑的(我们叫v2s),属于非官方的版本(但这个目前直连成功率是最高的),他与官方的v1、v2都不能共用中心节点。他们的使用方法都差不多,v2s多-L、-i两个参数而已。如果方便做,可以在现在的基础上增加一个v3(现在还没有,也许不久就有了)。反正后台替换主程序即可。

        • Bug侠 评论于 回复

          @lucktu
          去git上看了一下,官方新发布的这个2.4版本(2.5我没看到,只看到stable是2.4,还有个dev开发版)没有增加新的功能,只是对代码做了一些优化和删减,不过他们承诺后续还有新功能,很期待啊。
          —————————
          但是……我尝试了一下编译,貌似这个版本的Windows下的Edge编译还是有点些问题(或是我的问题),还没法正常编译。所以这个等待官方后续更新,我继续研究。 :汗:
          ————
          我做的那个启动器,因为只是简单用用,所以没怎么做测试。我去装个Win7 32的虚拟机再研究研究是哪儿出问题了。感谢反馈!

          • lucktu 评论于 回复

            @Bug侠
            嗯,官方的说明里说的是2.4,下一个版本2.5里面会有新功能,没错。但是我们编辑出来居然是2.5,有点奇怪,而且更重要的是,我发现貌似比以前的更容易直连,因为还缺少一个windows版本的对应,所以比较期待编辑出来做测试。如果有幸编出来的话,不妨共享一下方法。我自己后来搜索到一个window下的编辑方法,可以编辑出来v2s版本的了,利用的是cmake,但是使用make命令编辑v2.4/2.5时出错。

            这是我整理出来的一些主程序,感兴趣的话,欢迎下载
            https://pan.baidu.com/s/1nwuKlvj key: 9nfi

            非常期待你的下一个windows启动器!! :笑哭:

          • lucktu 评论于 回复

            @Bug侠
            博主如果有新的程序了,可以联系我来测试啊:在此评论里有我的QQ及邮箱(这个快),可与我联系。

            另外,能否把你编辑的 n2n 程序的 supernode 给我一份?我还缺少64位的呢,先谢过了!

          • lucktu 评论于 回复

            @Bug侠
            博主请回QQ看一下吧,有信息给你呢

        • lucktu 评论于 回复

          @lucktu
          现在发现是系统的问题,我的系统是windows7-32位的,需要32位的edge来支持,我将后台的edge-v1、v2换了,基本可以正常工作,但是v2s换上去不行。但在dos下测试又没有问题。我提供的共享链接里有64/32位的版本。

          另外,右边的那个debug窗口,有点小bug:显示不大完全,甚至还有外部的背景进去,请适当调整一下,谢谢!!

  • 爱美爱魅 评论于 回复

    博主的所有文章我都看了,很详细,很用心。这种博客真心喜欢。希望网站能一直维持下去。

    • Bug侠 评论于 回复

      @爱美爱魅
      哈哈,过奖了。都是记录一些我平时正好用到的东西,乱七八糟的一个小博客。 :大笑:

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

    温馨提示

    1.请考虑提问别人前,是否需要使用「请问」「谢谢」等这样的词?

    2.请回想一下,是否仔细阅读过文章?提出的问题文章内是否已经释疑?