本项目可用于解决国内P2P联机游戏丢包等稳定性问题,基于N2N v2项目!
因为功能和羽翼城大佬的 UsbEAm LAN Party 类似 所以就直接复制介绍功能了(勿喷
有些出现的问题,也可以在点击上方大佬的帖子查看有没有人问过解决方法 毕竟适用范围与原理都非常相近!
原理
接入同一局域网隧道实现内网互通(VLAN).数据由服务器中继
兼容Steam上的绝大多数P2P联机游戏(即玩家做主机的游戏)
黑魂,怪猎,胡闹厨房,ASTRONEER,无人深空,雨中冒险…等等
注意:需要主机与联机对象一起开启并连接才有效!
单向开启是无效果的
使用场景
1.双人联机:一起开启
2.多人联机:主机开启,其他连主机丢包者开启,不丢包者可以不开启
即丢包者–>主机走局域网隧道
非丢包者–>主机依然走互联网直连
实测状态:
没用软件: 玩家->玩家 (延迟300ms+)
用了软件: 玩家->专用服务器->玩家 (延迟80ms+)
使用
P2P Party 文件:
- 解压
- 运行软件(首次会通知你安装虚拟网卡 一路点击下一步即可)
- 修改网段(
可不改
如果修改需要和你联机一起游戏的朋友改成相同的 可以避免与其他软件使用者发生冲突的可能性) - 修改后缀(
可不改
因为默认每次启动会随机创建 此项不能与他人重复 不排除和朋友联机时与他人发生冲突,所以无效时尝试切换成其他的) - 连接即可(此工具联机者(双方或更多人)都需要一起运行 只有一个人用无效)
自建服务端
自建服务器不是必须的,完全可以使用公众服务器(软件自带).
正好有条件且需要的朋友可以自己装,想看如何安装见下文.
首先,软件支持的服务端版本为: n2n v.2.6.0.r250
linux服务器
wget https://github.com/lucktu/n2n/blob/master/Linux/Old/linux_arm/n2n_v2_linux_arm_v2.6.0_r250_all_by_heiye.zip
unzip n2n_v2_linux_arm_v2.6.0_r250_all_by_heiye.zip
cd n2n_v2_linux_arm_v2.6.0_r250_all_by_heiye/static
./supernode -l 7654
这时,你就可以使用 服务器的公网IP:7654 作为转发服务器了(防火墙也需要打开UDP端口)
Windows服务器
- 解压到任意目录
- 运行
P2PParty服务端.exe
文件 然后点击开启服务端
即可
这时,你就可以使用 服务器的公网IP:7654 作为转发服务器了(防火墙也需要打开UDP端口)
Docker更简单的搭建
Docker地址: https://hub.docker.com/r/petrknap/n2n-supernode
Docker一键命令: docker run -d -p 7654:7654/udp petrknap/n2n-supernode
默认使用端口就是 7654 UDP端口
本软件添加自定义服务器(自建)
如果您愿意把你的服务器列为公开列表服务器,可联系QQ:1031029814
- 打开软件目录下的 diyserver.txt 文件
- 每行一个服务器 格式: 服务器的公网IP:UDP监听端口
- 运行软件 就可以看得自定义服务器了
如图所示:
判断自定义服务器是否有效
如果自定义服务器有问题,软件下方会在30秒后提醒你无法连接到此服务器!
错误代码表
01错误:
- 可能是IP冲突或网卡占用 线路不畅 甚至
- 可能是自定义服务器配置出的问题 (如果使用自定义服务器的话)
- 错误代码特征: 数据首次通讯都连接不上
02错误:
- 线路不畅 网络波动等原因
- 错误代码特征: 数据首次通讯连接成功 但是出现丢失数据
- 解决: 等待或重连基本可以解决(如果不是服务器出现问题的话)
更新日志
2020年5月17日 公告: 很抱歉 因为电脑被window自动更新 源代码丢失 已经无法找回 但当前项目依然能用 并且重写计划已经开始!
2020年5月7日 9:05: 禁止了应用同时开启多个
2020年5月6日 22:55: 增加了版本更新功能 增加了状态的回调
2020年5月6日 12:05: 添加了错误日志自动上传模组 发生错误会尽快的解决
2020年5月6日 9:15: 修复了程序快速连接断开时发生的错误问题
2020年5月6日 1:15: 修复了WIN7系统下发生错误的问题
最后
意见和反馈什么的,可以在下方进行提问!
本贴允许转载,但请保留来源,谢谢!
所用的图片链接备份:
http://i0.hdslb.com/bfs/article/e50c3c0c02150a09ccbad96b1069075faae9492a.png
http://i0.hdslb.com/bfs/article/41c56399762be85c6100d621a6f5a1a7bfa9dfce.png
http://i0.hdslb.com/bfs/article/550009b5dec2045357f0b331fba77a0e6df60911.png
http://i0.hdslb.com/bfs/article/8e140bff55821f94f6b831d48c1e90feeff48299.png
12 条评论
我和同学一共3个人,自己搭的服务器,我和其中一个互相ping没有问题,但是我们两个ping第三个人的时候,第1下是来自****的回复: 无法访问目标主机,后面3下是连接超时,丢标率是75%,后续不重开软件的话就是100%的丢包,4个都显示连接超时,实际游戏的时候也没有起到应有的效果,可以认为是失败了
大佬我想问个问题,他为什么不与steam的p2p联机冲突呢,什么原理,n2n通道连通以后,steam会自动寻找一个低延迟的路线组件p2p吗,从而通过虚拟局域网联机。
是的 Steam的组网是优先找低延迟的互联方案 会找到延迟更低的已经打通的隧道让打通的隧道互联
大佬,请问自建服务器步骤中的,防火墙打开UDP端口具体如何操作,我在网上搜了一下,在防火墙的入站规则中添加了一个新规则,填了udp和端口,然后在本机启用服务器,进行连接,报了01连接失败,检查了几遍其他配置应该没有问题
你需要在阿里云或者腾讯云后台那个位置,找到防火墙然后添加同样的UDP7654端口放行
最近用不了是怎么回事,显示01错误无法连接至服务器
公开服务器被挤上限了 建议是自建服务端
基础连接已关闭:发送时发生错误
您好,请问发生了发生了未经处理的异常,无法连接到远程服务器这一问题如何解决?
************** 异常文本 **************
System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 由于目标计算机积极拒绝,无法连接。 127.0.0.1:443
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.HttpWebRequest.GetResponse()
在 .(String , String )
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 .(Object )
在 .(MethodBase , Boolean )
在 .( , )
在 .()
在 .(Boolean )
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 .(Object )
在 . ()
在 .(Object , UInt32 )
在 .(Boolean )
在 .(Object[] , Type[] , Type[] , Object[] )
在 .(Object , EventArgs )
在 System.Windows.Forms.Timer.OnTick(EventArgs e)
在 System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 已加载的程序集 **************
mscorlib
程序集版本:4.0.0.0
Win32 版本:4.8.4644.0 built by: NET48REL1LAST_B
基本代码:file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
P2P Party
程序集版本:1.0.0.1
Win32 版本:1.0.0.0
基本代码:file:///C:/Users/lenovo/Downloads/P2P%20Party%20v1.1/P2P%20Party%20v1.exe
----------------------------------------
System.Windows.Forms
程序集版本:4.0.0.0
Win32 版本:4.8.4550.0 built by: NET48REL1LAST_C
基本代码:file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
程序集版本:4.0.0.0
Win32 版本:4.8.4644.0 built by: NET48REL1LAST_B
基本代码:file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
程序集版本:4.0.0.0
Win32 版本:4.8.4390.0 built by: NET48REL1LAST_C
基本代码:file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
程序集版本:4.0.0.0
Win32 版本:4.8.4190.0 built by: NET48REL1LAST_B
基本代码:file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
程序集版本:4.0.0.0
Win32 版本:4.8.4644.0 built by: NET48REL1LAST_B
基本代码:file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
程序集版本:4.0.0.0
Win32 版本:4.8.4084.0 built by: NET48REL1
基本代码:file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
程序集版本:4.0.0.0
Win32 版本:4.8.4084.0 built by: NET48REL1
基本代码:file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
AutoUpdater.NET
程序集版本:1.6.0.0
Win32 版本:1.6.0.0
基本代码:file:///C:/Users/lenovo/Downloads/P2P%20Party%20v1.1/AutoUpdater.NET.DLL
----------------------------------------
Mindscape.Raygun4Net4
程序集版本:5.10.2.0
Win32 版本:5.10.2.0
基本代码:file:///C:/Users/lenovo/Downloads/P2P%20Party%20v1.1/Mindscape.Raygun4Net4.DLL
----------------------------------------
Mindscape.Raygun4Net
程序集版本:5.10.2.0
Win32 版本:5.10.2.0
基本代码:file:///C:/Users/lenovo/Downloads/P2P%20Party%20v1.1/Mindscape.Raygun4Net.DLL
----------------------------------------
System.Web
程序集版本:4.0.0.0
Win32 版本:4.8.4494.0 built by: NET48REL1LAST_B
基本代码:file:///C:/windows/Microsoft.Net/assembly/GAC_32/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
mscorlib.resources
程序集版本:4.0.0.0
Win32 版本:4.8.4084.0 built by: NET48REL1
基本代码:file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.resources
程序集版本:4.0.0.0
Win32 版本:4.8.4084.0 built by: NET48REL1
基本代码:file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.resources.dll
----------------------------------------
System.Windows.Forms.resources
程序集版本:4.0.0.0
Win32 版本:4.8.4084.0 built by: NET48REL1
基本代码:file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
************** JIT 调试 **************
要启用实时(JIT)调试,
该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
jitDebugging 值。
编译应用程序时还必须启用
调试。
例如:
启用 JIT 调试后,任何未经处理的异常
都将被发送到在此计算机上注册的 JIT 调试程序,
而不是由此对话框处理。
希望软件能更新支持IPv6(ó﹏ò。)
远程服务器返回错误522
远程服务器返回错误522