使用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 条评论

  • alan 评论于 回复

    博主你好!我用香港腾讯云做supernode,到晚上的时候经常会丢包不稳定,现在想使用udpspeeder来改善丢包,
    服务端用speederv2 -s -l0.0.0.0:1009 -r127.0.0.1:1000 -f20:10 –mode 0,监听1009端口 ,
    客户端用 speederv2_wepoll.exe -c -l0.0.0.0:1000 -r101.*.*.*:1009 -f20:10 –mode 0,然后用easyn2n连接127.0.0.1:1000,能dhcp获取到ip地址,但是最后还是无法连接,会跳到我另外的一台supernode去连接,日志如下:

    [2024-07-15 22:24:16] adding supernode = 127.0.0.1:1000
    [2024-07-15 22:24:16] WARNING: switching to AES as key was provided
    [2024-07-15 22:24:16] starting n2n edge 3.1.1-16-g23e168b-dirty-r1200 x64_static May 8 2022 23:45:52
    [2024-07-15 22:24:16] using compression: none.
    [2024-07-15 22:24:16] using AES cipher.
    [2024-07-15 22:24:16] WARNING: community and encryption key must differ, otherwise security will be compromised
    [2024-07-15 22:24:16] number of supernodes in the list: 1
    [2024-07-15 22:24:16] supernode 0 => 127.0.0.1:1000
    [2024-07-15 22:24:16] successfully created resolver thread
    [2024-07-15 22:24:16] successfully created port mapping thread
    [2024-07-15 22:24:16] automatically assign IP address by supernode
    [2024-07-15 22:24:16] send REGISTER_SUPER to supernode [127.0.0.1:1000] asking for IP address
    [2024-07-15 22:24:16] supernode ‘x.x.x.x:1000’ added to the list of supernodes.
    [2024-07-15 22:24:16] supernode ‘x.x.x.x:1000’ added to the list of supernodes.
    [2024-07-15 22:24:16] received REGISTER_SUPER_ACK from supernode for IP address asignment
    [2024-07-15 22:24:17] created local tap device IP: 192.168.254.73, Mask: 255.255.255.0, MAC: 00:FF:91:A2:A7:5F
    [2024-07-15 22:24:17] edge started
    [2024-07-15 22:24:17] successfully joined multicast group 224.0.0.68:1968
    [2024-07-15 22:24:29] WARNING: supernode not responding, now trying [x.x.x.x:1000]

    不知道是supernode这边还需要开放什么端口或者说怎么配置能通过udpspeeder来改善udp丢包?

    • 小奈亚 评论于 回复

      @alan
      做中转机,降低丢包这种不可能通过不修改物理网络连接的方式做到的。

      • alan 评论于 回复

        @小奈亚
        @小奈亚 udpspeeder 是可以改善udp丢包的

  • 程程程 评论于 回复

    大佬,请问n2n支持ipv6吗

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