这两个方案都是为了游戏加速( pubg ),有一个 hk 的 vps,10ms 的延迟,普通电信线路几乎不丢包,方案 1 不能成功连接,方案 2 可以正常连接。麻烦大家帮忙看下方案 1 哪里有问题,两个方案如下:
注:两个方案中,xx.xx.xx.xx 表示 vps 的 ip 地址
请问我这个配置有问题吗?
客户端:
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 不一致,是否这个会有影响?
如果我去掉 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
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.