使用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)
266 条评论
问问再Linux系统服务器上启动后如何停止呢?直接kill进程吗
能出个魔兽争霸3的教程吗 ,ping通了和朋友,但是创建游戏还是在本地局域网
大佬可以做一种在面板服上运行N2N吗,是用jar包作为启动文件的服,没办法对文件过多的操作
@咕咕
请问一下魔兽争霸冰封王座联机,我和朋友都连上小黄鸭了,但是局域网创建没看到啊,版本是一样的
n2n_seed faced error errno=38 from getrandom syscall 服务器开不起来,报这个错误,centOS 8.2
可以用IPV6吗
老哥,能不能打包个docker镜像啊,或者出个打包教程也行~ 这样NAS上也能用了,不限于游戏联机了。
你好bug侠大佬,我开了服务端了,看着也没啥问题,但客户端连接的时候一直在 send REGISTER_SUPER to supernode [113.13.15.29:9527] asking for IP address且一直获取不到虚拟ip地址,请问这种问题有什么解决方法吗?端口转发开着的,防火墙也关了。
对比直接搭建,docker搭建会更快捷方便,易上手,希望大佬能做一下镜像包,感谢
你好大佬,我是一个初学者想用docker镜像直接搭建服务器,但是我不会构建docker镜像,希望你能在百忙之中构建一下EasyN2N的docker镜像文件,
大佬,这是我服务端,进程是运行的,防火墙端口也放行了,安全组也添加了:
[root ~]# ps aux | grep supernode
n2n 2614 0.0 0.0 25180 1860 ? Ssl 17:46 0:00 supernode -p 9527
root 2630 0.0 0.0 12132 1052 pts/0 S+ 17:52 0:00 grep –color=auto supernode
[root ~]# netstat -nultp
tcp 0 0 0.0.0.0:9527 0.0.0.0:* LISTEN 2614/supernode
udp 0 0 0.0.0.0:9527 0.0.0.0:* 2614/supernode
udp 0 0 127.0.0.1:5645 0.0.0.0:* 2614/supernode
[root ~]# firewall-cmd –list-ports
20/tcp 21/tcp 22/tcp 80/tcp 518/tcp 888/tcp 8001/tcp 8080/tcp 8888/tcp 39000-40000/tcp 518/udp 9527/udp
客户端运行日志是:
[2024-01-24 18:00:18] WARNING: NAT-PMP invalid response type 0
[2024-01-24 18:00:18] WARNING: NAT-PMP failed to delete TCP port mapping for 0.0.0.0:52084
[2024-01-24 18:00:31] WARNING: supernode not responding, now trying
请您帮忙看看是怎么回事
@石头
这……有点难搞,根据你的情况,好像每个步骤都没问题,只能逐个排查了。
一般出现supernode not responding的问题,很大概率都是防火墙的原因,要不然先关闭防火墙,安全组里放行全部端口,然后再试试?
确定一下是不是防火墙的原因,然后再通过别的方式排查,比如换一个网络环境(有时候客户端网络出口UDP受阻也会出现问题),只能瞎猜到这里了,不好意思。
@Bug侠
大佬,感谢您的建议,目前我试了一下关闭防火墙开放安全组换设备网络,还是不行。
但是值得一提的是我使用您免费提供的服务器是能成功的,所以我现在怀疑是版本不对应,这是我现在准备尝试的版本:
windows客户端:n2n_client_windows_3.11_Pack.zip
centos服务端:n2n-3.1.1-1.x86_64.rpm
您看这样版本是对应的吗,还是您这里有更加推荐的对应版本组合
@石头
不好意思啊,没帮上忙,各种怀疑的原因都可以尝试一下,这里还有一个版本,是已经编译好的:
https://github.com/lucktu/n2n/raw/master/Linux/n2n_v3_linux_x64_v3.1.1_r1255_static_by_heiye.tar.gz
解压使用里面的supernode