V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
eastlhu
V2EX  ›  宽带症候群

[游戏加速方案] sstap-ss-kcptun-udpspeeder-udp2raw

  •  
  •   eastlhu · 2019-05-23 10:46:25 +08:00 · 1671 次点击
    这是一个创建于 2006 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两个方案都是为了游戏加速( pubg ),有一个 hk 的 vps,10ms 的延迟,普通电信线路几乎不丢包,方案 1 不能成功连接,方案 2 可以正常连接。麻烦大家帮忙看下方案 1 哪里有问题,两个方案如下:
    注:两个方案中,xx.xx.xx.xx 表示 vps 的 ip 地址

    方案 1:sstap-ss-kcptun-udpspeeder-udp2raw

    请问我这个配置有问题吗?
    客户端:

    tinymapper_wepoll.exe -l0.0.0.0:8089 -r127.0.0.1:5001 -u
    speederv2.exe -c -l0.0.0.0:5001 -r127.0.0.1:6001 -f2:4 -k "pwd" --mode 0 --timeout 1
    udp2raw_mp_nolibnet.exe -c -l0.0.0.0:6001 -rxx.xx.xx.xx:554 -k "pwd" --raw-mode easy-faketcp  
    

    本地 ss 的服务器地址是 127.0.0.1:8089
    本地 kcptun 的服务器地址是 127.0.0.1:5001,监听端口是 8089
    kcptun 的参数大概是如此

    {
        "listen":"0.0.0.0:9001",
        "target":"xx.xx.xx.xx:9090",
        "key":"password",
        "crypt":"aes-128",
        "conn":1,
        "sndwnd":8192,
        "rcvwnd":8192,
        "mtu":1350,
        "mode":"manual",
        "nocomp":true,
        "datashard":0,
        "parityshard":0,
        "dscp":46,
        "acknodelay":false,
        "nodelay":0,
        "resend":0,
        "nc":1,
        "interval":20,
        "autoexpire":60,
        "sockbuf":4194304,
        "keepalive":10
    }
    

    服务端:

    sudo ./udp2raw_amd64 -s -l0.0.0.0:554 -r127.0.0.1:9000 -a -k "pwd" --raw-mode faketcp
    sudo ./speederv2_amd64 -s -l0.0.0.0:9000 -r127.0.0.1:9001 -f2:4 -k "pwd" --mode 0 -q1
    

    服务端 kcptun 的 listen 端口是 9001,原来如果只用 ss+kcptun 是能正常上网的。

    整体思路是: 客户端通过 tinymapper 转发 ss 的 udp 流量到 speederv2 客户端通过 kcptun 将 tcp 流量转换为 udp 流量,再通过 kcptun 转发流量(tcp->udp)udp 流量到 speederv2 (加速)。
    现在出现的问题是,sstap 测试,tcp 转发成功,udp 失败,在服务器的 kcptun 日志里面,看到

    2019/05/21 09:25:22 stream opened 3
    2019/05/21 09:25:49 stream closed 3
    2019/05/21 09:25:50 io: read/write on closed pipe
    

    猜测是连接被马上关闭了。请问我哪里有问题?
    另外看到 udpspeeder 运行起来,控制台有一串参数如下:

    jitter_min=0 jitter_max=0 output_interval_min=0 output_interval_max=0 fec_timeout=8 fec_mtu=1250 fec_queue_len=1 fec_mode=0
    

    fec_mtu=1250,跟我 kcptun 中设置的 mtu=1350 不一致,是否这个会有影响?


    方案 2:sstap-ss-udpspeeder-udp2raw 方案

    如果我去掉 kcptun 这一层,是可以实现的。
    本地 ss 服务器地址填 127.0.0.1:8089,监听端口 1080,其他参数和服务端 ss 一致 本地 sstap 增加 socks5 代理,地址填 127.0.0.1:1080,其他参数不用填

    客户端:

    将本地 ss 的 tcp 流量转发到远端服务器上的 ss 端口 9090
    tinymapper_wepoll.exe -l0.0.0.0:8089 -rxx.xx.xx.xx:9090 -t
    
    监听 ss 访问的 127.0.0.1:8089 服务器,将 ss 的 udp 流量转发到本地 6001 端口
    speederv2.exe -c -l0.0.0.0:8089 -r127.0.0.1:6001 -f2:4 -k "password" --mode 0 --timeout 1
    将本地 6001 端口的 udp 流量转发到远端服务器 554 端口,这个终端需要管理员命令启动
    udp2raw_mp_nolibnet.exe -c -l0.0.0.0:6001  -rxx.xx.xx.xx:554 -k "password" --raw-mode easy-faketcp
    

    服务端:

    udp2raw --> udpspeeder:
    sudo soft/udp/udp2raw/udp2raw_amd64 -s -l0.0.0.0:554 -r127.0.0.1:9000  -a -k "password" --raw-mode faketcp
    
    udpspeeder --> ss
    sudo soft/udp/udpspeeder/speederv2_amd64 -s -l0.0.0.0:9000 -rxx.xx.xx.xx:9090 -k "password" --mode 0 -f2:4 -q1
    

    有一个疑问,kcptun+udpspeeder 有加速作用?是否需要加这一层 kcptun ?

    30 条回复    2019-06-10 11:25:06 +08:00
    hlz0812
        1
    hlz0812  
       2019-05-23 10:52:00 +08:00 via iPhone
    真要加速租个专线( nat 的也行)啥加速不用也比这个好,现在那么多不怕死把专线扔公网上来卖的
    eastlhu
        2
    eastlhu  
    OP
       2019-05-23 10:56:30 +08:00
    @hlz0812 嗯,专线肯定是更优的选择。主要是想探讨一下技术方案哪里有问题
    trys1
        3
    trys1  
       2019-05-23 11:00:40 +08:00 via Android
    请问楼主 10ms 的 vps 哪家买的?
    hlz0812
        4
    hlz0812  
       2019-05-23 11:03:28 +08:00 via iPhone
    @eastlhu 反正我觉得 udpspeeder 之类的东西加速作用不大,尤其是线路已经比较好的情况下,对差的线路有用,线路越好的时候想要更好花的钱就越多
    eastlhu
        5
    eastlhu  
    OP
       2019-05-23 11:07:20 +08:00
    @trys1 广东地区到 hk,gcp 就行了。
    QQ2171775959
        6
    QQ2171775959  
       2019-05-23 18:20:44 +08:00
    现在很多运营有障蔽一些端口的。
    eastlhu
        7
    eastlhu  
    OP
       2019-05-23 19:48:10 +08:00
    @QQ2171775959 我单独的 kcptun 用相同的端口,或者方案 2 都是可以正常使用的,应该不是端口问题吧。
    justs0o
        8
    justs0o  
       2019-05-24 08:42:34 +08:00
    还不如买个机场的阿里 BUG 专线来的方便
    eastlhu
        9
    eastlhu  
    OP
       2019-05-24 10:21:36 +08:00
    @justs0o 阿里专线多少一个月啊。。为啥我收不到你的回复提醒?是我被降权了还是你被降权了?
    kevincai100
        10
    kevincai100  
       2019-05-24 11:03:37 +08:00
    eastlhu
        11
    eastlhu  
    OP
       2019-05-24 11:07:54 +08:00
    @kevincai100 之前看了这个项目,应该也是可以。目前就是想试试 kcptun 在游戏加速的效果。
    eastlhu
        12
    eastlhu  
    OP
       2019-05-24 11:10:33 +08:00
    目前有一个方案 3,两条路线:
    客户端:sstap-ss(tcp)-kcptun(tcp->kcp) ------- 服务端:kcptun-ss
    客户端:sstap-ss(udp)-udpspeeder-udp2raw ------------服务端:udp2raw-udpspeeder-ss
    这个方案目前也是可以通过的,回去开游戏试试这几个效果哪个更好。
    lcy630409
        13
    lcy630409  
       2019-05-24 17:03:51 +08:00
    我曾经也是用自己的香港 vps 加速 只是用 sstap 加普通的服务端
    有个问题 就是白天不掉包 延迟低
    但是到晚上玩游戏的时候 会掉包,游戏延迟会加大 10 几 ms,虽然只是 10 几 ms 但是很卡,开门都要 1 秒的时间
    后来 花钱买了雷神 看中了可以暂停时间,开门就没问题了
    lcy630409
        14
    lcy630409  
       2019-05-24 17:04:39 +08:00
    只能说 自己的线路 还是比不上别人备案过的专线
    别人优先级别高 审查少

    自己的线路 优先低 还会被是不是审查 断 udp
    CernetBoom
        15
    CernetBoom  
       2019-05-24 19:05:17 +08:00 via Android
    @lcy630409 专线不在公网上没优先级
    hlz0812
        16
    hlz0812  
       2019-05-25 15:09:41 +08:00 via iPhone
    @eastlhu 1G 流量 1 块钱那样子,如果你要批发大量资源的话找人私下买均价会低一些
    hlz0812
        17
    hlz0812  
       2019-05-25 15:11:09 +08:00 via iPhone
    目前我的方案是阿里的专线直接走 anyconnect,玩游戏跟国服没啥两样
    ttvast
        18
    ttvast  
       2019-05-29 10:42:18 +08:00
    @CernetBoom 所谓的专线一样走公网,又不是真的虚电路,那个谁玩得起啊
    CernetBoom
        19
    CernetBoom  
       2019-05-29 10:53:33 +08:00 via Android
    @ttvast 我指的是跨境端对端的,不是电信移动推销的那种"上网专线"
    CernetBoom
        20
    CernetBoom  
       2019-05-29 10:55:39 +08:00 via Android
    @ttvast 稍微正常点的游戏加速器都是用的跨境专线
    hlz0812
        21
    hlz0812  
       2019-05-29 14:17:13 +08:00 via iPhone
    @ttvast 玩是玩的起,共享的很便宜,但不代表你就有合法资质使用,现在好多人偷偷卖,只是上面懒得管,毕竟拿专线玩的人比例极低,大多数人还停留在 vultr 之类的垃圾线路上玩
    mattx
        22
    mattx  
       2019-05-29 22:55:28 +08:00 via iPhone
    @hlz0812 #17 请问下哪种专线?
    hlz0812
        23
    hlz0812  
       2019-05-29 22:59:39 +08:00 via iPhone
    @mattx 阿里内网专线,bug 拿来卖的那种,正规的就是高速通道业务
    hlz0812
        24
    hlz0812  
       2019-05-29 23:03:56 +08:00 via iPhone
    @mattx 沪日专线我也用过,那个是正规专线,不是 bug 的,不过正规的带宽通常都是给的很小的(仅从质量的层面上来说是采购的正规的资源,但卖给公众客户违规),看你需要访问哪个地区了,东南亚用深港
    NeedforV2
        25
    NeedforV2  
       2019-05-30 09:05:59 +08:00
    kcptun 不需要,udpspeeder+udp2raw 就足够了
    eastlhu
        26
    eastlhu  
    OP
       2019-05-30 09:24:02 +08:00 via iPhone
    @NeedforV2 #22 kcptun 用来加速 tcp 呢?
    NeedforV2
        27
    NeedforV2  
       2019-05-30 09:50:33 +08:00   ❤️ 1
    tcp 不需要加速, kcptun 暴力发包,还容易被限制
    eastlhu
        28
    eastlhu  
    OP
       2019-05-30 10:54:48 +08:00
    @NeedforV2 好的,晚上回去试试这个,ss 直接连接,tcp 走 ss,udp2raw 转发 ss 的 udp 流量。那这样是否要把 ss 的服务器上的 udp 转发关闭?
    Cheons
        29
    Cheons  
       2019-05-30 15:17:57 +08:00 via Android
    不是直连就行嘛???🤔阿里香港、轻量、78ms
    ss ( VPS )→sstap (不代理局域国内)→游戏
    移动网
    cdh1075
        30
    cdh1075  
       2019-06-10 11:25:06 +08:00
    ss 是 tcp over tcp udp over udp,你要看你的游戏是 tcp 还是 udp,如果是 udp 你后面那一串就一点用也没有
    几乎不丢包的网络用 kcptun 和 udpspeeder 几乎没效果
    kcp 和 udpspeeder 是非常愚蠢的,实际上的效果类似 tcp over tcp over tcp,建议只留一个
    你的网络都好到 10ms 延迟了,这么麻烦干啥,直接 wireguard 或者 anyconnect 就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1926 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:21 · PVG 00:21 · LAX 08:21 · JFK 11:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.