wireguard+udpspeeder游戏加速方案

自建游戏加速器 atrandys 8个月前 (10-20) 10240次浏览 40个评论

放在前面

首先本节教程的文字内容会比较多,很多概念都是在文字中说明的,而且配置比以往教程稍有繁琐,如果你有耐心、折腾精神、谷歌搜索、分析问题、自学的能力,请继续阅读,这个教程暂时没有视频版了,有力气了再说已更新视频版教程,结合本教程查看

本次教程我们将探索,wireguard+udpspeeder的游戏代理方案,这套方案和openvpn+udpspeeder原理是一样的,只不过用wireguard代替了openvpn。注意我们所说的游戏加速器,都是针对外服游戏而言的。下面部分内容的wireguard简写为wg。

至于为什么使用wireguard代替openvpn,原因是wireguard号称下一代vpn技术,比openvpn搭建简单;本身wireguard比openvpn有更低的延迟,更高的效率。udpspeeder则用来降低丢包率,它并不能降低延迟,因为延迟只跟线路路由有关,对于游戏来说,丢包比延迟更为致命。

这里我们将介绍两种方案

方案一:直连方案。也就是本地电脑和代理服务器之间直连,本地电脑安装wg客户端和udpspeeder客户端,代理服务器安装udpspeeder服务端+wg服务端。

方案二:中转方案。也就是本地电脑和代理服务器之间加入一台中转服务器,本地电脑安装wg客户端,中转服务器安装udpspeeder客户端,代理服务器安装udpspeeder服务端和wg服务端。

直连方案的适用范围

1、拥有一台游戏服务器所在地区的代理服务器(例如港服的用香港VPS,美服的用美国VPS),并且本地电脑到代理服务器线路延迟较低或可接受。

2、适用于小范围的用户使用,意思是这些国内用户各自的网络到代理服务器的线路不错,本质上是这些用户本地网络到国际出口的线路延迟可接受(没有像铁通移动线路路由乱绕的情况)。

中转方案的适用范围

1、拥有一台游戏服务器所在地区的代理服务器,到游戏服务器的线路比较好,国内各点直接访问代理服务器的情况可以不好,但跟国内的云服务商的连接要不错。

2、拥有一台国内云服务商的服务器,即中转服务器,一般这些服务器使用BGP混合线路,国内各点直接访问中转服务器的情况都很不错,而且中转服务器和海外服务器的连接一般比民用线路直连好。

3、适用于比较大范围的用户使用,因为全国各地访问中转服务器的延迟比较低,丢包情况也比较好。

教程导览

1、我这里有一台阿里云深圳服务器用作中转服务器,有一台google香港服务器用作代理服务器,这两台服务器都安装为centos7系统。

2、我这里的线路是BJ联通,直接连Google香港服务器是绕路美国的,延迟约170ms,本地连接阿里云深圳服务器的延迟约为43ms,阿里云深圳连接Google香港约13ms。(后面的中转方案实际效果对比会使用这个数据)

3、我在教程里只是演示如何中转,选择使用手头正好有的阿里云深圳、谷歌香港,而你的实际搭建中,需要根据自己的情况选择合适的中转和代理服务器。

4、我会先演示直连方案的教程,使用本地网络直连Google香港服务器(虽然到Google香港是绕路的,但这里是为了演示一下,你如果使用直连方案,一定要选择可以直连的代理服务器)。

5、中转方案将放在后面演示,这个方案可以在直连方案上修改,加入中转服务器,达到中转的目的。所以不要直接跳过直连方案中转方案,因为前后两者是有关联的

6、注意谷歌云、阿里云都有额外防火墙设置,注意开放对应的端口,或者出入站全部放行。

直连方案教程

一、代理服务器安装wireguard服务端、udpspeeder服务端

1、安装wireguard服务端,执行下面centos7下的安装脚本

yum install -y wget && wget https://raw.githubusercontent.com/atrandys/wireguard/master/wireguard_install.sh && chmod +x wireguard_install.sh && ./wireguard_install.sh

首先选1,升级内核,安装完成会要求重启,重启后再次输入以下命令

./wireguard_install.sh

这次选择安装wireguard,等待安装完成,然后使用下面命令

wg

查看wireguard的监听端口,记住这个wireguard端口号,我这里是53517,后面使用。

2、安装配置udpspeeder服务端

wget https://github.com/atrandys/onekeyopenvpn/raw/master/speederv2 && chmod +x speederv2

继续执行下面命令,注意其中的53517端口,替换成你的wg的实际端口号

nohup ./speederv2 -s -l0.0.0.0:9999 -r127.0.0.1:53517 -k  "atrandys" --mode 0 -f2:4 -q1 >speeder.log 2>&1 &

3、获取客户端的配置文件

使用ftp工具连接VPS,然后进入到/etc/wireguard/目录,将其中的client.conf传送到客户端电脑。

client文件保存在桌面,这里我建议你复制一份,起名为transfer.conf,后面我们要使用到(配置中转方案时使用)。

二、安装配置wg客户端、udpspeeder客户端(这里只针对windows版)

1、wg客户端

我们使用TunSafe作为wireguard的客户端,直接去官网下载安装即可。

tunsafe下载

2、udpspeeder下载

网盘下载:点击下载

下载后得到一个udpspeeder文件夹,包含三个文件:speederv2.exe、start.bat、stop.bat,好了细心的时候来了,注意跟我一起修改几个参数。

3、修改参数

首先在已经安装的tunsafe软件上右键,打开文件位置,然后进入config目录

然后将udpspeeder文件夹中的三个文件、你保存在桌面的client.conf文件,都复制到config目录下。然后打开电脑cmd,输入下面命令

ipconfig

然后看到你的默认网关是多少,如图我的默认网关是192.168.1.1。

然后在start.bat右键选择编辑,将图中的ip改为你的代理服务器的IP,将网关改为你的默认网关,然后保存。

然后在stop.bat上右键选择编辑,将图中的ip改为你的代理服务器IP,然后保存。

然后在client.conf上右键用记事本打开,在Address的下一行增加

PostUp = start.bat
PostDown = stop.bat

然后将其中的Endpoint修改为127.0.0.1:9898 然后保存,如下图所示

4、打开tunsafe,修改optiongs,如下图打勾。

然后选择client,然后点击connect,连接成功即可。

此时本机所有流量都将被全局代理,可以登录游戏测试,直连方案的介绍到此结束。

中转方案

注意,中转方案的前置条件是代理服务器安装并配置完成wireguard服务端和udpspeeder服务端,即完成了直连方案的步骤一:代理服务器安装wireguard服务端、udpspeeder服务端

一、配置中转服务器

1、连接中转服务器,安装配置udpspeeder客户端

wget https://github.com/atrandys/onekeyopenvpn/raw/master/speederv2 && chmod +x speederv2

2、使用命令开启服务,注意其中的“代理服务器ip”替换为你的代理服务器的真实IP地址,这里是让中转服务器监听9898端口,并把数据转发到代理服务器的9999端口。

nohup ./speederv2 -c -l0.0.0.0:9898 -r代理服务器IP:9999 -k "atrandys" --mode 0 -f2:4 -q1 >speeder.log 2>&1 &

二、配置wg客户端

1、还记得直连方案获取的client.conf文件吗,我们复制了一份起名叫做transfer.conf,找到它,我们需要来配置它。

打开transfer.conf,修改Endpoint参数,修改为实际的“中转服务器IP:9898”,我的中转服务器是39.108.55.171,所以改为39.108.55.171:9898

2、保存配置文件,打开tunsafe,导入transfer.conf,连接即可,因为有了中转,连接会稍等几秒,如下图所示,我的配置连接成功。

3、此时我的流量应该先经过阿里云深圳中转,然后连接到谷歌香港服务器,这里我测试一下开启代理下直接ping代理服务器的ip,如下图所示,延迟明显降低下来了。

相比之前直连谷歌香港的170ms延迟,目前中转后延迟为57ms,约等于我本地到阿里云深圳的43ms+阿里云深圳到谷歌香港的13ms。

最后

好了,到这里全部教程就结束了,但还是有一些要提到的问题。

1、教程写在非高峰期,期间测试阿里云深圳中转谷歌香港效果是不错的,如教程中所示。然而夜间测试的时候,阿里云深圳到谷歌香港的延迟居然增加到了60-80ms左右,这让人十分错愕啊,后续会继续测试一下,所以如果你需要中转方案,选择中转和代理服务器的时候一定要测试高峰时期的网络情况

2、实际的游戏效果还是需要大家反馈一下,有的游戏效果不错,有的游戏就效果不好。

3、udpspeeder是GitHub的开源软件,我们能使用这么好的软件还是要感谢wangyu大神,可以去关注支持一下。

后续

2018-10-26 14:35 因为阿里云深圳到谷歌香港得延迟变动比较厉害,即使非高峰也经常延迟几十多,这里我选择中转服务器放在阿里云上海,延迟情况就好了不少,开启代理ping基本上56ms,上下波动1ms,丢包情况几乎没有,下面是ping截图,可以说比较稳了,待高峰期测试再来补充。

2018-10-26 22:45 此时算是高峰期,使用阿里云上海中转谷歌香港,延迟情况非常不错与非高峰期几无差别,100次ping没有丢包。

2018-10-27 10:39 今天测试使用阿里云上海中转谷歌香港,1000次ping效果,1个丢包,平均56ms,基本上确定这条路线可以比较稳定了。


文章标题:wireguard+udpspeeder游戏加速方案
固定链接:https://atrandys.com/2018/963.html
原创文章,未经允许,禁止转载。
喜欢 (6)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(40)个小伙伴在吐槽
  1. Windows无法找到',bat'。确保正确键入名称,然后重试。大佬这个怎么解决
    小九九2019-03-05 19:10 回复
    • 是不是系统不显示文件后缀名?设置显示试一下。
      atrandys2019-03-05 19:39 回复
  2. 有没有 ubuntu 客户端的 wireguard+udp2raw的配置脚本? 试了下udp2raw能连接,客户端wireguard的 的MTU也改小了,但是一打开wireguard客户端网就挂了
    wyjssb2018-12-25 09:02 回复
    • wg服务端 mtu改小了吗,另外是本地udp2raw崩还是服务端udp2raw崩,服务端可以用保活。
      atrandys2018-12-25 10:03 回复
  3. 成功启动后,电脑打不开网站,下端状态显示解析主机
    ttt2018-12-13 10:19 回复
    • 然后就是这样 无法显示此网页 错误代码 DNS_PROBE_POSSIBLE
      ttt2018-12-13 10:36 回复
      • DNS污染了,已解决,谢谢!
        ttt2018-12-13 10:44 回复
  4. 你好,想请问一下这些命令能在Debian系统下面用吗?我的vps装了些其他东西在用,换系统比较麻烦。谢谢
    lsl91192018-12-11 14:27 回复
    • 可以,网上有debian相关的脚本,配置udpspeeder过程是一样的。
      atrandys2018-12-11 15:01 回复
  5. 搭建成功也测试成功 ping 的时候会出现超时 ping值不稳定 100+ 忽然到300+ 来回窜 还有就是手机怎么才能加速 游戏 因为现在玩谷歌游戏比较多,能出一个手游的加速教程就好啦!
    花名乀2018-12-10 15:55 回复
  6. 一直找不到 .bat啊 1 到底怎么搞,我是小白 没有基础知识
    x2018-12-10 04:35 回复
  7. :cry: 站长你好,我手头有台走NCP的小鸡做了Wireguard直连,但是国内高峰期实在太拥堵了,想再做一台阿里云中转,不加udp speeder(因为线路质量很好,拿别人商业加速器的几台阿里云地址都测试过回ping很稳定不丢包),苦于不知如何部署中转,还请指教,谢谢!
    Robert Waterman Lee2018-12-06 21:23 回复
    • 直接在阿里云上配置iptables端口转发,或者用haproxy转发,谷歌教程非常多。
      atrandys2018-12-07 00:32 回复
      • 配置WG的iptables端口转发能教下么?虽然网上能找到教程,但是还是不太明白,毕竟不是针对性的!同时开启UDP.TCP的转发
        n2cool2019-04-21 12:56 回复
  8. 请问,服务器有5个公网ip,wg要如何设置,才能让5个用户分别使用5个ip呢?
    abc2018-11-25 11:14 回复
  9. 大佬问一个小白的问题,中转服务器与代理服务器服务器之间的延迟应该去测呢?
    haxx77772018-11-24 21:22 回复
    • 连接中转服务器,使用 [pre] ping 代理服务器IP [/pre] 命令,ctrl+c是停止。
      atrandys2018-11-24 23:52 回复
      • 谢谢
        haxx77772018-11-25 09:10 回复
  10. 测试了一下 效果还可以 我大东北 延迟 300多点 不过很稳 的ping 比之前好很多了
    sulo2018-11-17 03:02 回复
  11. 可以出个wireguard+udpspeeder+udp2raw教程吗
    2018-11-14 20:09 回复
  12. nohup ./speederv2 -c -l0.0.0.0:9898 -r代理服务器IP:9999 -k "atrandys" --mode 0 -f2:4 -q1 >speeder.log 2>&1 & 这里-f2:4是不是有点浪费流量了啊?如果是vultr 默认500G流量能坚持多久。。。
    paul2018-11-13 10:55 回复
    • 丢包情况不严重改成2:2也可以
      atrandys2018-11-13 11:25 回复
      • 还有个事情麻烦问问大佬,一般来说服务器机房之间ping掉包几率很小吧,您代理到中转走了speeder,不管有没有必要,有总是比较好的,这个没毛病。但是本地到中转之间貌似经常出问题的,我个人遇到很多。。。本地网络一旦不稳定,或者4g热点这种,到中转经常丢包,我感觉在本地到中转也设置一个speeder,虽然麻烦点,但是不知道会不会更加能保障网络质量呢
        paul2018-11-13 11:58 回复
        • 理论上可以的,本地speeder客户端--->中转speeder服务端---->中转speeder客户端---->代理服务器speeder服务端。也就是中转上既有前段的服务端也有后段的客户端,本地到中转也是多倍流量。
          atrandys2018-11-13 13:42
  13. 我这边调用start.bat时 显示windows找不到文件.bat请确定文件名是否正确 在CMD里运行是一样的 加了环境变量后还是不行(不知道操作有没有正确) 经常出现一直卡在握手的情况上 出现情况时服务器两个服务都是活进程 所以怀疑是没有正确的启用udpspeeder 求大神指点 :redface:
    MTE.Norm2018-11-11 11:32 回复
    • Retrying handshake, attempt 2... 已经搞定了.bat找不到的问题 但是还是一直出现如上所示的问题,能不能连上还是要看脸 只有第一次连接 持续了4个小时,然后开始断线 之后就算能连上也肯定半小时内掉 会不会是被干扰了?
      MTE.Norm2018-11-11 12:45 回复
      • 整个传输过程都是UDP,如果对于UDP有干扰,可能会出现这种情况
        atrandys2018-11-11 12:49 回复
    • 请问怎么搞定 .bat问题的 我也是按着教程操作 显示找不到 重启电脑 或者 软件也是一样 找不到
      ekin2018-11-14 11:39 回复
      • 尝试修改client.conf,把bat文件所在路径补全
        atrandys2018-11-14 12:16 回复
  14. 感谢博主的教程,之后弄弄试试 , :biggrin: ,附个小建议 以后共享文件可以传到mega/onedriver/googledriver之类的网盘,个人感觉都比百度好一些,百度网盘没准哪天就把你的链接给和谐了。。。
    thxauther2018-11-10 16:42 回复
    • 好的,本来考虑fq问题,我会增加一个谷歌备份下载
      atrandys2018-11-10 18:38 回复
  15. 好的
    xu2018-10-31 19:39 回复
  16. 大神;谷歌找了一天,有相同问题,但它里面没有解决方法,请帮忙一下,先谢了。
    xu2018-10-31 17:01 回复
  17. 输入ps -aux lgrep speed出现error: user name does not exist,怎么了不认得用户名
    xu2018-10-30 18:12 回复
  18. very good ! thank you
    dsafds2018-10-30 12:43 回复
  19. 不要运行start吗?
    hczhong2018-10-26 13:54 回复
    • 自动调用,加了PostUp和down的语句了。
      atrandys2018-10-26 13:55 回复
  20. 感谢大佬的教程,晚点试试。。。
    andy2018-10-26 10:37 回复