最近在玩steam的刀塔霸业,这两天频繁掉线,自己有VPS就折腾了一下游戏加速器。
游戏一般都是UDP的连接,通过UDP连接国外服务器的时候会丢包严重,导致频繁掉线。
核心就是需要把UDP协议包装成TCP再跟国外服务器连接。
方案选择是:Wireguard+udpspeeder+udp2raw
Wireguard是在电脑和手机端提供客户端功能,udpspeeder用来加速udp数据,udp2raw用来把UDP转成TCP。
如果在路由器实现,可以不用Wireguard,需要VPS安装ss来实现。
参考文章:
https://www.atrandys.com/2018/1277.html说下跟教程区别的地方,我的GCP服务器是ubuntu,安装脚本:
https://raw.githubusercontent.co ... d_install_ubuntu.sh脚本安装好Wireguard,再通过nohup运行两个程序。
udpspeeder:
https://raw.githubusercontent.co ... rd/master/speederv2udp2raw:
https://raw.githubusercontent.co ... uard/master/udp2raw- nohup speederv2 -s -l127.0.0.1:23401 -r127.0.0.1:[Wireguard的端口] -f2:4 --mode 0 --timeout 0 >speeder.log 2>&1 &
- nohup /home/goroma/udp2raw -s -l0.0.0.0:25124 -r 127.0.0.1:23401 --raw-mode faketcp -a -k 密码 >udp2raw.log 2>&1 &
复制代码这里的speederv2参数选择的是游戏模式的-f2:4 --timeout 0 ,会比较消耗流量,可以自己参考官网的说明修改一下。
保存服务器 /etc/wireguard/client/client.conf文件,就是客户端连接需要的配置文件。
客户端可以参考上面帖子安装软件,我是选择在本地的一台ubuntu虚拟机中运行udpspeeder+udp2raw,这样电脑只需安装tunsafe客户端就可以了,手机端也安装tunsafe来实现加速。
windows端
- cmd /c route add 服务器IP mask 255.255.255.255 本地网关地址 METRIC 20
- C:/speederv2.exe -c -l127.0.0.1:2090 -r127.0.0.1:2091 -f2:4 --mode 0 --timeout 0
- C:/udp2raw.exe -c -r服务器IP:25124 -l127.0.0.1:2091 --raw-mode faketcp -k 密码
复制代码保存成bat,以管理员权限运行,还需要安装软件npcap,
https://nmap.org/npcap/dist/npcap-0.99-r8.exe修改client.conf中的Endpoint
Endpoint = 127.0.0.1:2090
在tunsafe中导入conf文件就可以了。
ubuntu做本地转发
- nohup udp2raw -c -r服务器IP:25124 -l127.0.0.1:10290 --raw-mode faketcp -k 密码 >udp2raw.log 2>&1 &
- nohup speederv2 -c -l0.0.0.0:10291 -r127.0.0.1:10290 -f2:4 --mode 0 --timeout 0 >speeder.log 2>&1 &
复制代码修改client.conf中的Endpoint
Endpoint = 本地ubuntuIP地址:10291
在tunsafe中导入conf文件就可以了。
手机端
修改client.conf中的Endpoint
Endpoint = 公网IP或者动态域名:端口转发UDP端口