偶然间发现了Pcap2Socks

买了Switch一年多了,一直以来联机游戏体验都很受网络原因的困扰,甚至有时只能妥协购买网游加速器。

今年一月的时候玩动森的时候认识了一些朋友,联机游戏体验急需得到提升。

作为一名倔强的MJJ,肯定是不甘心掏钱给大厂的网游加速器的,不然我折腾这些服务器和线路是干嘛吃的?

直到我几个月前在Github上发现了Pcap2Socks这个项目,只需要Socks5代理即可以大厂加速器相近的原理实现加速效果。

理论上除了NS,同样适用于PS/XBox等游戏主机。


肯定是不想折腾路由器

有人问我为什么不直接在路由器上做代理,很简单,因为我弱智的时候买了一个华为的千兆路由器,CPU是海思的。

即使我手头有一台小米Mini,我也懒得折腾他,MTK的MIPS架构CPU转发性能属实捉急,上一篇关于NS加速的文章里应该很详细的说过了。

而且路由器支持的代理协议有限,可能并不安全,又或者不支持UDP转发。


要求环境

Pcap2Socks需要Npcap作为依赖,GUI版本可能还需要依赖最新版本的Microsoft Edge浏览器。

(可能还需要在管理员权限的cmd中执行以下命令启用 loopback )

CheckNetIsolation.exe LoopbackExempt -a -n="Microsoft.Win32WebViewHost_cw5n1h2txyewy"

如果不打算用GUI客户端那随便了(


代理协议和服务器防火墙

首先你需要一个支持转发UDP的代理协议在你本地开一个Socks5端口,某2Ray肯定是不行的,某R的话请自行衡量安全性,这里我选择的是某ojan。(开始打哑谜了属于是)

当然代理服务器需要完全关闭防火墙or开放所有UDP端口,否则一样白瞎,打洞打不出去你还玩个锤子,如果不是自建代理服务器的话可能需要咨询你所使用的代理服务商。

只有你的服务器完全开放了防火墙才能实现UDP的打洞,否则和你本地受限的网络没有区别。


设置网卡

Pcap2Socks需要指定你所使用的网卡,如果你使用GUI客户端或者只有一个活动的网卡就没问题了。

如果你使用命令行客户端且拥有多个活动的网卡,在正常启动的时候会提示错误,需要指定一个网卡。

.\pcap2socks.exe -s 10.6.0.1 -p 10.6.0.2 -d 127.0.0.1:1080 -i '\Device\NPF_{xxx}'


效果拔群

不废话就直接上图了。

动森联机实测只需要半分钟左右飞机就能落地,当然想要达到以上速度有一个很重要的前提。


以太网和无线网络

经过实测发现的一些小问题大概就是,在Wi-Fi下,工作效率会大幅低于使用以太网的情况。

而且最要命的问题在于,假设你在下载内容较大的游戏,下载内容的过程中,Pcap2Socks会先将需要更新的内容缓存在计算机内存中,如果计算机通过路由器与主机之间的传输效率低于加速器缓存更新内容的速率(且极大概率会低于此效率),如果游戏更新内容过大,可能会因回收机制问题导致计算机内存泄漏or占满。

挂下载的时间越久,内存占用就会越大,最久的一次在我电脑上达到了恐怖的7GB内存占用。

目前暂时没有较好的解决办法,可以限制代理服务器速率或者在下载更新时在NS中手动切换到使用Http代理来下载较大的内容。


线路很重要

经过我和朋友较长时间的测试之后发现,貌似游戏的加速效果只在我们两个人之间有效,原因是我们使用的深港IPLC接的一个香港Dmit落地机,这个落地机到国内的回程线路会绕美国。

也就是说,联机效果也会受到联机游戏对方到代理服务器的网络质量原因的影响,导致我和朋友在某动森群的联谊会中被一群头铁的裸连玩家卡在水里出不来,成了铁肺冠军(不是)。

最终的解决办法就是,我把IPLC的落地机换成了阿里云的香港轻量应用服务器,电信联通全程走CUG线路,移动走CMI,从那以后效果好了很多。


一些点滴

2020-2021和一些群友的联机跨年

最近才送走我的一位初始岛民,小动物们说话都很灵性,还是很舍不得的。

一起抓偕老同穴

第一次在动森里尝试搭配男孩子的衣服


音乐