使用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
@许彪
其他win客户端呢?出现这个提示,表示客户端连不上服务端,要么就是服务端的防火墙(iptables\firewalld),要么就是客户端win的防火墙,或者就是运营商UDP封锁,不过这个可能性较小,建议再多排查,我这边无法给你一个准确的解决方法,抱歉了~
@Bug侠
感谢站长~找到一个原因了,服务端开放的端口不能走TCP,走UDP就连接上了,但是很奇怪,服务端明明是编译的V2版本,客户端要用V2s才能连接上,下班试试能不能愉快游戏。再次感谢站长创作的优质内容!祝好
@许彪
不用客气,找到原因就好,N2N只有v1和v2存在大版本的差异,V2s只是其一个分支
你好,我想问一下。不关闭windows防火墙的话,开放哪些端口才能ping通
@Gene
单独设置放行ping的话可以参考:https://blog.csdn.net/wy_bk/article/details/85013933
=====
p.s 放行ping而外,如果还要联机游戏,还需要再新建游戏的tcp\udp入站出站规则,略微麻烦
你好想问一下 centos可以用客户端吗? 有具体方法吗?
@林半仙
可以的,CentOS下使用n2n比Windows下还简单。不过很抱歉,我这边没有教程。
@Bug侠
我自己试过 总是PING不通
@林半仙
是两个edge之间不通吗?有没有检查防火墙firewalld或者iptables相关的设置。我这边不太方便,明晚回去可以折腾折腾CentOS下的客服端。
@Bug侠
两台win 一台centos 用V2所有都ping不通 V1两台win可以ping通 CENTOS所有都不通。。
@林半仙
好吧,这个情况我也没遇到过,所以暂时没法帮到你。明天我先在我这边部署一下Win和CentOS下v1和v2的环境,再分析分析,这会儿电脑没在手边……
@Bug侠
好的 谢谢站长了
@林半仙
我这边搭建了2台Win和2台CentOS,都没有出现Win和CentOS无法互通的问题。
https://bugxia.com/1342.html
您好,我的情况是双方都能ping通,防火墙没有关闭,但是minecraft局域网游戏服务器搜寻不到对方,请问这可能是哪方面的原因呢?
@shrek
不好意思,我的世界我没尝试过。不过如果双方都能ping通对方的话,可以试试用其他游戏测试连通性。
比如我之前在联机CS时也是出现搜不到对方的问题,但是通过cs内置的控制台命令connect 192.168.*.* 就可以连接到对方建立的游戏里。
@Bug侠
好的,谢谢您了。实在不行的话我直接用游戏对战平台了。
能不能出个关于手机hin2n的配置教程呢,
老哥我的debug窗口没有东西https://i.loli.net/2019/01/01/5c2acff3a1e78.jpg
,ping不通朋友防火墙都关了
@whitedew
不好意思,目前 win10 1809 下会有这个bug,正在修复
@Bug侠
了解了加油
我参考您的文章和其他一些教程搭建好了n2n,连接信息也是成功的,但是游戏里还是看不到对方。游戏是文明6,steam正版,有局域网模式。
@帝国
双方都能ping通对方吗?
emmmm,我在联机工具上好像出现了些问题,一个人连进房间另外一个人就进不去了,只要那个人退出,这个进不去的人就可以进去,ip没有冲突,不知道为什么
你这个还是两两连接啊?怎么组成局域网呢?
@大头
怎么是两两连接呢……不同的客户端(edge)自定义同段但不同的IP,加入相同的小组,再连接相同的中心节点(supernode),就可以组网了啊。
@Bug侠
必须连接相同的小组才行啊? 用这个吗?
-c 用于区分节点的社区(组)名
@大头
对,同IP段不同IP、同小组、同密码、同中心节点,否则即使连上中心节点,也是无法互通的。
@Bug侠
谢谢大牛牛,有qq吗
@大头
QQ万年不在线一次,有事直接留言就行,我能立刻收到通知。
您好,请问N2N是否可以帮助电信和网通的玩家顺利的p2p联机(一款叫做欧陆风云的游戏,通过steam联机,全国各地共19个人)?我是个新手,在挑选工具上犹疑不决,N2N跟Softethen VPN哪个更合用呢?
@猫头鹰
欧陆风云有局域网联机模式吗?如果有的话,N2N就可以帮助你和其他朋友组成一个虚拟的局域网。
softether v*p*n和n2n的原理不一样,n2n组成的虚拟局域网数据传输可以不经过中转服务器,所以能获得更好的延迟,并且部署比较简单。
如果只是为了联机游戏,还是推荐n2n