使用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 条评论
为什么我RPM安装后运行提示没有依赖项报错
啊,大佬我又来了
我看用户小组边上名称里有个获取用户列表的按钮,有方法让我的自建服务器也拥有这个功能么?
@ReDawn
自建服务器的话也是可以用的,这个功能和自建不自建没关系,调用的是本机客户端接口读取的数据
@Bug侠
主要我现在试了下还是没法使用,感觉挺奇怪的,我cmd使用 arp –a倒是可以正常搜到
@ReDawn
和你的服务端、客户端没关系,这是N2N还不完善的地方,它的读取机制和数据统计有问题
@Bug侠
好的谢谢大佬
大佬您好!请问服务器分配ip的话有没有办法让服务器分配的都在一个网段内?我用的是腾讯云的服务器以及美国服务商reckLLD的服务器,都是Linux的
@ReDawn
比如使用 supernode -p 9527 -a 192.168.233.0/24
@ReDawn
N2N目前的这个-a参数有点难理解,下面的命令就是固定到一个233这个段内
supernode -p 9527 -a 192.168.232.0-192.168.233.0/24
另外还可以通过-c加载community.list文件,该文件里指定小组名对应的网段
https://github.com/ntop/n2n/blob/dev/community.list
@Bug侠 大佬我用的是腾讯云的服务器,然后开小黄鸭 让我和我的朋友联机,我笔记本的小黄鸭日志一直显示send REGISTER_SUPER to supernode [xxx.xx.xxx] asking for IP address 这是什么原因,在测试工具里面搜我的公网ip的ping还是有显示的
您好,请问可以出一期ubuntu安装EasyN2N服务端吗
谢谢
你好楼主,我搞了一个阿里云的服务器,然后运行报告出现了这个supernode not responding 该怎么解决,麻烦了
@一朵凶日葵
EasyN2N 常见问题解决方法
https://bugxia.com/2518.html
@Bug侠
解决了已经,谢谢楼主,但是现在我和朋友连接正常,但是相互ping不通,防火墙都关了,该怎么解决呢
@一朵凶日葵
不好意思啊,ping不通的问题除了防火墙的原因,还有很多不确定的因素,得具体分析,逐一排查
@一朵凶日葵
您好,请问您的问题解决了吗
Bug侠你好,我看了教程之后发现这个p2p工具没有Linux客户端,虽然GitHub上有原生的n2n,但总体来说能不能够和easyn2n互联,在你的网站搜索了一遍,似乎也没有给出方法;因为有些游戏需要用到Linux服务器(比如求生之路2),而带公网的低延迟服务器的维护费和流量费比较贵(比如阿里云之类的),如果有写过教程的话可以提供一下吗?或者直接说明n2n和easyn2n可以直接互联也可以,谢谢!
@CiXde
哪个P2P工具没有Linux的?N2N几乎全平台都可以使用的。
EasyN2N其实就是N2N的GUI工具,本质没有区别的。
并且EasyN2N和Linux下的N2N都可以互通的(supernode、edge版本要一致)
根据你的需求,就是某台服务器跑L4D2的服务端,该服务器同时也跑N2N,作为虚拟局域网的主机,局域网下的其他主机就可以通过N2N加入其中,对吧
@Bug侠
是的,那按照你的意思,小组名称和小组密码这些参数就要在:其他功能 –> 常用功能 –> 附加参数 里面写入了,是这样吗?
@CiXde
小组名称在主界面(必填),小组密码 -k 参数(可选)需要手动在附加参数里添加
@Bug侠
好的,谢谢。顺便补充一下,CentOS 7、8已经停止更新了,而后续的CentOS系统也属于滚动更新,不再有大版本的系统。
在Debian 11系统的安装rpm方法如下:
sudo apt-get install -y libzstd-dev alien
sudo alien -i n2n-3.0.0-1038.x86_64.rpm
—————————————————–
安装完成后执行
sudo /usr/sbin/supernode + 参数
或者
sudo /usr/sbin/edge + 参数
我的服务器已经在Debian 11搭建成功了,最后感谢Bug侠提供的Windows图形界面工具和免费服务器
@CiXde
感谢支持~感谢补充~
可以使用sakura frp端口映射来组建服务端吗
WARNING: supernode not responding, now trying [ip地址
防火墙也关了,安全组也放行了UDP 9527
ip设置了也连不上 看服务器那边正常启动和运行
02/Jan/2023 12:02:29 [sn_utils.c:136] calculated shared secrets for edge authentication
02/Jan/2023 12:02:29 [supernode.c:604] supernode is listening on UDP 9527 (main)
02/Jan/2023 12:02:29 [supernode.c:613] supernode opened TCP 9527 (aux)
02/Jan/2023 12:02:29 [supernode.c:620] supernode is listening on TCP 9527 (aux)
02/Jan/2023 12:02:29 [supernode.c:629] supernode is listening on UDP 5645 (management)
02/Jan/2023 12:02:29 [supernode.c:641] dropping privileges to uid=987, gid=982
02/Jan/2023 12:02:29 [sn_utils.c:807] successfully created resolver thread
02/Jan/2023 12:02:29 [supernode.c:659] supernode started
请问双方连接成功后 数据传输速率是由双方的带宽上限决定的吗?那国内服务器好贵啊
@风色幻想
1.如果是中转模式,速率上限取决于服务器的带宽
2.如果是P2P模式,一般就是你本地宽带的上行带宽