1. 首页
  2. 自建游戏加速器

udpspeeder指南:游戏加速神器,前向纠错降低丢包率,UDP加速神器

本篇我们来了解udpspeeder这个UDP加速神器,它可以通过前向纠错技术实现降低UDP丢包,它甚至可以将20%的丢包率降低到1%以下,是不是看起来很好,但是也需要付出消耗流量增大的代价,根据不同的使用场景会有不同的参数设置,会产生不同的流量消耗,总结来说一般在1.5倍-3倍流量之间(看不懂也别急,后面会详细介绍到)。

游戏加速的重点

  • 降低延迟
  • 降低丢包率

说白了游戏加速就是需要降低线路延迟和丢包率,降低延迟要做的是优化路由,例如绕路的变直连、线路质量差的换高质量线路(当然通常来说高质量线路通常延迟和丢包都比较低),而线路不变的情况下,降低丢包就要依靠软件层面的处理,今天我们介绍的udpspeeder就是这样的一款应用。

这里我们提一下KCPTUN,它是针对TCP的加速,而udpspeeder是针对UDP的加速。

udpspeeder官方介绍

原理简介

主要原理是通过冗余数据来对抗网络的丢包,发送冗余数据的方式支持FEC(Forward Error Correction)和多倍发包,其中FEC算法是Reed-Solomon。

FEC方式的原理图:

udpspeeder指南:游戏加速神器,前向纠错降低丢包率,UDP加速神器

其他功能

对包的内容和长度做随机化(可以理解为混淆),从抓包看不出你发送了冗余数据,不用担心vps被封。

在多个冗余包之间引入延迟(时间可配)来对抗突发性的丢包,避开中间路由器因为瞬时buffer长度过长而连续丢掉所有副本。

模拟一定的延迟抖动(时间可配),这样上层应用计算出来的RTT方差会更大,以等待后续冗余包的到达,不至于发生在冗余包到达之前就触发重传的尴尬。

输出UDP收发情况报告,可以看出丢包率。

模拟丢包,模拟延迟,模拟jitter。便于通过实验找出应用卡顿的原因。

client支持多个udp连接,server也支持多个client

关键词

UDP加速器、双边UDP加速、全流量加速、开源加速器、游戏加速、网游加速器

udpspeeder使用方法

  1. udpspeeder是双边加速,需要客户端和服务端同时运行,搭建一条UDP隧道
  2. udpspeeder无法单独使用,仅仅作为隧道,前后端需要搭配例如sstap、wireguard等软件,例如wireguard客户端—>udpspeeder客户端—>udpspeeder服务端—>wireguard服务端

软件下载

udpspeeder已经有预编译的版本,它不区分客户端和服务端,只需要通过配置参数指定运行模式为客户端或服务端即可,你只需要下载对应的平台的udpspeeder即可。例如你本地是windows,服务器是linux,那么你本地下windows版,服务器上下载linux版。

官方release下载https://github.com/wangyu-/UDPspeeder/releases/download/20200714.0/speederv2_binaries.tar.gz

下载之后解压可以看到很多平台的版本,exe后缀是windows的,amd64是linux的,其他的若有需求请自行选择。

udpspeeder指南:游戏加速神器,前向纠错降低丢包率,UDP加速神器

使用方法

服务端配置udpspeeder

1、新建存放目录并进入

mkdir /usr/src/udpspeeder && cd /usr/src/udpspeeder

2、然后将下载的speederv2_amd64上传到上面的目录中

你可以直接从release下载后解压,删掉其他不用的平台,只留speederv2_amd64即可

wget https://github.com/wangyu-/UDPspeeder/releases/download/20200714.0/speederv2_binaries.tar.gz && tar -zxvf speederv2_binaries.tar.gz

3、运行服务端,下面有三个配置,适配了不同的场景,请选择其中一个即可

  • 监听端口:udpspeeder服务端监听的端口,客户端配置的适合需要指向此端口,任意配置一个不与现有端口冲突的端口即可。
  • -l:指本地端配置
  • -r:指远程端配置
  • 落地端口:udpspeeder是建立了一个UDP通道,通道两端都需要软件承载,例如串联wireguard,则落地端口是wireguard的监听端口。
  • -s:指udpspeeder以server模式运行,即服务端模式。
  • -f:配置FEC参数。
  • –mode:运行模式,这里默认为0即可,还有一种模式为1,一般情况用不到。
  • –timeout:指定fec编码器在编码时候最多可以引入多大的延迟。越高fec越有效率,调低可以降低延迟,但是会牺牲效率。
  • -k:简单加密,记得改一下your_password的值,随意设置一个密码即可

1.5倍流量(适合看视频、刷网页)

nohup ./speederv2_amd64 -s -l0.0.0.0:监听端口 -r127.0.0.1:落地端口 -f20:10 -k "your_password" --mode 0 --timeout 8 >speeder.log 2>&1 &

2倍流量(适合玩游戏丢包不太严重的情况,例如低于15%)

nohup ./speederv2_amd64 -s -l0.0.0.0:监听端口-r127.0.0.1:落地端口 -f2:2 -k "your_password" --mode 0 --timeout 0 >speeder.log 2>&1 &

3倍流量(适合玩游戏丢包较严重情况,高于15%)

nohup ./speederv2_amd64 -s -l0.0.0.0:监听端口-r127.0.0.1:落地端口 -f2:4 -k "your_password" --mode 0 --timeout 0 >speeder.log 2>&1 &

客户端使用udpspeeder

1、下载udpspeeder客户端

这里我们以windows为例,将speederv2.exe下载到C:\udp目录

2、进入cmd,进入udp目录

cd c:\udp

3、运行udpspeeder,按照服务端的三种场景,你可以分别对应设置

  • 监听端口:本地监听端口,其他前置应用应该指向这个端口。
  • 服务器IP:即服务端VPS的IP地址。
  • 远程端口:客户端设置的远程端口和服务端的本地端口必须一致。
  • -k:注意your_password的值要和服务端一致

1.5倍流量(适合看视频、刷网页)

speederv2.exe -l -l127.0.0.1:监听端口 -r服务器IP:远程端口 -f20:10 -k "your_password" --mode 0 --timeout 8

2倍流量(适合玩游戏丢包不太严重的情况,例如低于15%)

speederv2.exe -l -l127.0.0.1:监听端口-r服务器IP:远程端口 -f2:2 -k "your_password" --mode 0 --timeout 0

3倍流量(适合玩游戏丢包较严重情况,高于15%)

speederv2.exe -l -l127.0.0.1:监听端口-r服务器IP:远程端口 -f2:4 -k "your_password" --mode 0 --timeout 0

原创文章,作者:atrandys,如若转载,请注明出处:https://www.atrandys.xyz/2020/2739.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论列表(2条)

  • 小强 2020年8月1日 上午7:40

    期待一个UDP2RAW+SPEEDER+特洛伊的教程或许特洛伊可以省掉、

    • atrandys 回复 小强 2020年8月1日 上午11:11

      udp2raw会单独介绍一下,二者串联教程也补充一下