使用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 条评论
您好,我自己用腾讯云的linux服务器 弄好过后,他虚拟网ip不自动分配,自己设置的话要怎么弄呢
@hz
我Linux服务端启动参数是
supernode -p 9999 -f -v -M -c /root/community.list
community.list文件是指定了固定小组名称和对应的ip段
你也可以去掉-c参数
大佬!能把Linux 的教程稍微的优化一下么!1、安装N2N这一步都能安装!2、安装完毕后如何启动。很多萌新都抓瞎了(比如说我T.T)!比如用什么命令,毕竟很多用户都只是希望联机,但是对Linux不是很熟悉,需要注意的东西麻烦大佬你幸苦一下!最好能出个B站视频!3连保证!
作者你好,请问能做一个docker版本的吗,想部署在群晖这些nas上。
你好,请问在同一服务端如何做到把两个小组的网络互通?我发现小组分开不能互相ping对面,是服务端没有路由表这种东西吗?
@baisi
是的,即便在同一服务器下,不同的小组就代表是两个独立的虚拟局域网,是不互通的。如果要互通,必须得写路由表(所有具有互通需求的客户端均要自行添加),目前N2N不支持服务端自动给所有客户端下发路由表(但Zerotier就支持)
你好 我这里测试都可以ping通 但是自己的服务器分配不到地址
你好,想请问一下,我这边自建服务器,连接显示成功,客户端也都可以ping通,但是就是服务器的延迟检测一直显示失败,其他的功能都是正常的,这个怎么办呢?公网接路由器,路由器端口转发了,公网IP有做了DDNS,N2N的服务器也是用域名:端口访问的。
@mafuyu
EasyN2N内置的[服务器的延迟]功能是基于ICMP协议的通信测试,说人话就是PING
如果你能用客户端系统自带的ping,成功ping通服务器,那这个功能也就是可用的。
您好,我在腾讯云自建了服务器,但是朋友连接后服务器一直显示assign IP xxx.xxx.xxx.xxx/24 to tap adapter of edge,他也ping不同自己;但是我使用是正常的,请问是什么问题。
@yyt
原因未知,人数少的话,建议先自定义虚拟IP
首先感谢bug侠提供了软件让我可以有更好的联机体验
我玩的单机游戏比较吃流量 所以也自建了服务器
但是游戏吃流量太大了 所以希望就算是用easyN2N 也能通过一些手段限制有限的用户
我看服务端的指令有 (-M | 关闭非用户名密码认证的群组的MAC和IP地址欺骗保护功能)
是不是意味着easyN2N的服务端也可以设定固定的频道名和用户/密码来做一些限制呢?
@富贵
感谢使用~这篇文章能帮到你
https://bugxia.com/3334.html
@Bug侠
感激不尽
我使用的win客户端 community.list文件是自己创建的么?
看了一下关于community.list文件的描述 不知道我下面这样是否正确
########start########
#有2个组
group[1-2]
### 123是我设置的账号
* 1231 AOM3z+YkXmvwhmwXCh1hipf0ezuz40d2W7xcsPgGG3u
########end########
但是看到后面描述客户端的设置有个-k 小组密码设置 没明白这个小组密码是如何设定的
和客户端关于-A4和-A5的解释有点迷茫
@Bug侠
-p 58888
-a 192.168.60.0-192.168.65.0/24
-c D:\EasyN2N\community.list
然后这个是我服务端的启动参数
加了-c以后启动服务端 supernode_v3_bugxia_n2n.exe就停止运行了
服务端是winserver 2012
@富贵
emmmm 停止运行是参数错误已经修改而且可以正确运行了
没明白的还是-k如何填写
还有使用group[1-2]这样的命名方式 下面的账号是可以同时登陆2个组么?
01/Apr/2023 19:05:03 [n2n.c:56] ERROR: Bind error on local port 9527 [Address already in use]
01/Apr/2023 19:05:03 [supernode.c:610] ERROR: failed to open auxiliary TCP socket, Address already in use
这个该怎么办
大佬你好,如果我已经输入了supernode -p 9527 -f的命令,但是我忽然不想用9527这串数字,想换一个号码,应该怎么操作呢?