使用N2N搭建虚拟局域网联机游戏(服务端)

N2N, 分享, 折腾 2018/04/14

客户端

本站已搭建免费公益N2N服务端,并制作了N2N的启动器,如需直接联机游戏,请移步:

使用N2N搭建虚拟局域网联机游戏(客户端)

服务端(Linux)

以下安装编译基于CentOS 7 64bit,版本为n2n 3.0.0尽量使用同版本服务端和客户端,避免发生兼容性问题,导致无法连接

注:以下安装方式二选一

RPM安装

yum install libzstd -y
wget https://github.com/ntop/n2n/releases/download/3.0/n2n-3.0.0-1038.x86_64.rpm
rpm -i n2n-3.0.0-1038.x86_64.rpm

编译安装

编译环境

#CentOS
yum install autoconf automake libtool git kernel-headers -y
#Ubuntu
apt-get install autoconf make gcc -y

开始编译

wget https://github.com/ntop/n2n/archive/refs/tags/3.0.tar.gz
tar xzvf 3.0.tar.gz
cd n2n-3.0
./autogen.sh
./configure
make && make install

启动服务端

详细的服务端参数见这里 EasyN2N 服务端(Supernode)附加参数

#实际使用时,可以去掉 -f 参数,使其后台运行
supernode -p 9527 -f

若服务器开启了如iptables\firewalld\ufw等防火墙,需要放行supernode所设置的端口,否则客户端无法连接

#firewalld
firewall-cmd --zone=public --add-port=9527/udp --permanent
firewall-cmd --reload
#iptables
iptables -I INPUT -p udp --dport 9527 -j ACCEPT
service iptables save
service iptables restart
#ufw
ufw allow 9527/udp

另外,如果使用的阿里云、腾讯云等云服务器,还需要单独再在安全组中放行使用的端口(UDP)

服务端(Windows)

下载 EasyN2N,界面菜单中打开服务端

选择服务端的版本(默认v3,推荐v3),一键启动

详细的服务端参数见这里 EasyN2N 服务端(Supernode)附加参数

和Linux端类似,开启了Windows防火墙的机器需要注意放行指定的端口,或关闭防火墙

另外,如果使用的阿里云、腾讯云等云服务器,还需要单独再在安全组中放行使用的端口(UDP)



265 条评论

  • 许彪 评论于 回复

    客户端是win10 1903系统,服务端centos7,端口无误,防火墙已关,都是用的V2。centos7启动成功了,windows客户端一直报WARNING: Supernode not responding – moving to 0 of 1

    • Bug侠 评论于 回复

      @许彪
      其他win客户端呢?出现这个提示,表示客户端连不上服务端,要么就是服务端的防火墙(iptables\firewalld),要么就是客户端win的防火墙,或者就是运营商UDP封锁,不过这个可能性较小,建议再多排查,我这边无法给你一个准确的解决方法,抱歉了~

      • 许彪 评论于 回复

        @Bug侠
        感谢站长~找到一个原因了,服务端开放的端口不能走TCP,走UDP就连接上了,但是很奇怪,服务端明明是编译的V2版本,客户端要用V2s才能连接上,下班试试能不能愉快游戏。再次感谢站长创作的优质内容!祝好

        • Bug侠 评论于 回复

          @许彪
          不用客气,找到原因就好,N2N只有v1和v2存在大版本的差异,V2s只是其一个分支 :萌:

  • Gene 评论于 回复

    你好,我想问一下。不关闭windows防火墙的话,开放哪些端口才能ping通

    • Bug侠 评论于 回复

      @Gene
      单独设置放行ping的话可以参考:https://blog.csdn.net/wy_bk/article/details/85013933
      =====
      p.s 放行ping而外,如果还要联机游戏,还需要再新建游戏的tcp\udp入站出站规则,略微麻烦

  • 林半仙 评论于 回复

    你好想问一下 centos可以用客户端吗? 有具体方法吗?

    • Bug侠 评论于 回复

      @林半仙
      可以的,CentOS下使用n2n比Windows下还简单。不过很抱歉,我这边没有教程。

      • 林半仙 评论于 回复

        @Bug侠
        我自己试过 总是PING不通

        • Bug侠 评论于 回复

          @林半仙
          是两个edge之间不通吗?有没有检查防火墙firewalld或者iptables相关的设置。我这边不太方便,明晚回去可以折腾折腾CentOS下的客服端。

      • 林半仙 评论于 回复

        @Bug侠
        两台win 一台centos 用V2所有都ping不通 V1两台win可以ping通 CENTOS所有都不通。。

        • Bug侠 评论于 回复

          @林半仙
          好吧,这个情况我也没遇到过,所以暂时没法帮到你。明天我先在我这边部署一下Win和CentOS下v1和v2的环境,再分析分析,这会儿电脑没在手边……

        • Bug侠 评论于 回复

          @林半仙
          我这边搭建了2台Win和2台CentOS,都没有出现Win和CentOS无法互通的问题。
          https://bugxia.com/1342.html
          :笑哭:

  • shrek 评论于 回复

    您好,我的情况是双方都能ping通,防火墙没有关闭,但是minecraft局域网游戏服务器搜寻不到对方,请问这可能是哪方面的原因呢?

    • Bug侠 评论于 回复

      @shrek
      不好意思,我的世界我没尝试过。不过如果双方都能ping通对方的话,可以试试用其他游戏测试连通性。
      比如我之前在联机CS时也是出现搜不到对方的问题,但是通过cs内置的控制台命令connect 192.168.*.* 就可以连接到对方建立的游戏里。

      • shrek 评论于 回复

        @Bug侠
        好的,谢谢您了。实在不行的话我直接用游戏对战平台了。

  • linmo 评论于 回复

    能不能出个关于手机hin2n的配置教程呢,

  • whitedew 评论于 回复

    老哥我的debug窗口没有东西https://i.loli.net/2019/01/01/5c2acff3a1e78.jpg
    ,ping不通朋友防火墙都关了

    • Bug侠 评论于 回复

      @whitedew
      不好意思,目前 win10 1809 下会有这个bug,正在修复

  • 帝国 评论于 回复

    我参考您的文章和其他一些教程搭建好了n2n,连接信息也是成功的,但是游戏里还是看不到对方。游戏是文明6,steam正版,有局域网模式。

    • Bug侠 评论于 回复

      @帝国
      双方都能ping通对方吗?

  • 冰皇 评论于 回复

    emmmm,我在联机工具上好像出现了些问题,一个人连进房间另外一个人就进不去了,只要那个人退出,这个进不去的人就可以进去,ip没有冲突,不知道为什么

  • 大头 评论于 回复

    你这个还是两两连接啊?怎么组成局域网呢?

    • Bug侠 评论于 回复

      @大头
      怎么是两两连接呢……不同的客户端(edge)自定义同段但不同的IP,加入相同的小组,再连接相同的中心节点(supernode),就可以组网了啊。

      • 大头 评论于 回复

        @Bug侠
        必须连接相同的小组才行啊? 用这个吗?
        -c 用于区分节点的社区(组)名

        • Bug侠 评论于 回复

          @大头
          对,同IP段不同IP、同小组、同密码、同中心节点,否则即使连上中心节点,也是无法互通的。

          • 大头 评论于 回复

            @Bug侠
            谢谢大牛牛,有qq吗

            • Bug侠 评论于 回复

              @大头
              QQ万年不在线一次,有事直接留言就行,我能立刻收到通知。 :二哈:

  • 猫头鹰 评论于 回复

    您好,请问N2N是否可以帮助电信和网通的玩家顺利的p2p联机(一款叫做欧陆风云的游戏,通过steam联机,全国各地共19个人)?我是个新手,在挑选工具上犹疑不决,N2N跟Softethen VPN哪个更合用呢?

    • Bug侠 评论于 回复

      @猫头鹰
      欧陆风云有局域网联机模式吗?如果有的话,N2N就可以帮助你和其他朋友组成一个虚拟的局域网。
      softether v*p*n和n2n的原理不一样,n2n组成的虚拟局域网数据传输可以不经过中转服务器,所以能获得更好的延迟,并且部署比较简单。
      如果只是为了联机游戏,还是推荐n2n

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