Windows下使用N2N搭建虚拟局域网联机游戏(重写)

折腾 2018/08/02

之前写了一篇《使用N2N搭建虚拟局域网联机游戏》,但是流程不是很明白,就重写一篇比较傻瓜的教程。

服务端

1.有公网IP?有服务器?想自己搭建服务器(supernode)?

看这里:https://bugxia.com/336.html

2.想自己编译服务端和客户端?

看这里:https://bugxia.com/327.html

3.没有服务器、也不想自建服务器,只想三两朋友组个虚拟局域网联机打游戏?

可以使用本站搭建的服务器(supernode)

本站自建N2N服务端(Supernode)×
服务器:n2n.s1.bugxia.com 端口:9527(v2s版本)
服务器:n2n.s2.bugxia.com 端口:9527(v2s版本)
服务器:n2n.s3.bugxia.com 端口:9527(v2s版本)

下载客户端(edge)

Windows下的N2N 客户端启动器下载:https://bugxia.com/357.html

客户端A

1.解压上述下载的压缩包

比如解压到 D:\n2n_client_windows 如图:

2.设置权限

启动器 v1.2版本后,不再需要单独指定edge文件的权限

打开n2n_client目录,分别选择edge_v1.exe和edge_v2.exe,右键选择属性

设置edge执行文件以管理员身份运行此程序权限

3.安装虚拟网卡

启动器 v1.2版本后,首次运行会自动安装虚拟网卡驱动

运行tap-windows-9.21.2.exe,安装虚拟网卡,一路点击下一步即可。

详细步骤见此:https://bugxia.com/336.html

安装完毕后会在网络适配器界面出现TAP-Windows Adapter V9

4.返回上级目录,运行n2n.exe启动器

点击启动

客户端B

客户端B,包括后续新加入的客户端,除IP设置不同而外,其他设置均需保持一致

一句话:同IP段但不同IP,同服务器和端口,同小组和密码,同版本,是成功组网的前提

如:

朋友A:IP地址:192.168.66.1,组名称:bugxia,组密码:123456
朋友B:IP地址:192.168.66.5,组名称:bugxia,组密码:123456
朋友C:IP地址:192.168.66.12,组名称:bugxia,组密码:123456
朋友D:IP地址:192.168.66.110,组名称:bugxia,组密码:123456
……
……

测试

简单使用PING测试互通情况

键盘Win+R键,打开运行,输入cmd,回车,在命令行窗口下,输入ping 192.168.100.101

常见问题

无法连接服务器时会重复提示WARNING:Supernode not responding – moving to 0 of 1

成功连接Rx REGISTER_SUPER_ACK myMAC=

常见问题解决方法

1.无法ping通

如果出现一方可以ping通,另一方无法ping通,则很有可能为对方开启了防火墙,关闭防火墙即可

2.无法搜索到对方建立的游戏(房间)

尝试关闭Windows自带防火墙或第三方安全软件 ps.谁建立的游戏,谁关闭,最好都关 :doge: 

参考:https://jingyan.baidu.com/article/17bd8e52083ce685ab2bb839.html

3.无法连接到服务器

检查客户端填写的服务器端口是否正确

检查服务器端口是否在iptables等防火墙中放行

检查客户端是否以管理员权限运行

4.客户端不断重复ERROR等信息

若能正常联机,则可以忽略错误提示

本文标签:


31条评论

  • 安抚 评论于

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

  • 安抚 评论于

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

  • 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组网还是很方便的,有需要的帮助的话尽管说

  • 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侠 评论于

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

    评论(*号为必填项)