First Thing First
Today is Christmas
So Merry Christmas
首先
此方案适合已搭建$$或者$$R的 毕竟配合SSTap
而且SSTap灵活性与可扩展都比较比较强 所以个人推荐使用SSTap
关于服务器的地区问题 由于一般外服游戏在HK都有服务器 所以VPS所在地当然推荐HK
你还需要拥有用来跑客户端软件的Linux系统的主机 我这里是树莓派 Linux路由器当然也可以
针对我校的网络好像会突然QoS的现象 所以推荐配合udp2raw使用
动机
写这文的动机是因为作者的教程里面没有提到配合$$使用 所以本文针对这个来进行
下面这几个放出项目地址的都是 wangyu- 开发的
项目地址
udp2raw
UDPspeeder
tinyPortMapper
知识
Q:为什么游戏要用UDP
A: 网络游戏 采用的是tcp协议还是udp协议? -- fei zhang的回答 -- 知乎
通过阅读Github 我自行总结出
- UDPspeeder会在发包时会多发包以此保障丢包不影响正常的连接
- udp2raw将UDP伪装成TCP包 保证包不被运营商的奇特策略丢弃
- $$或$$R的流量经过加密后依然为原数据包的协议
- UDP和TCP的端口号没关联
上面只是概括 更多详情请自行查阅项目地址与学习计算机网络的知识
拓拔图
1 2 3 4 5 | TCP↓ |-------------tinyPortMapper-------------| SSTap--raspberrypi--| |--$$ Server |--UDPspeeder client--UDPspeeder server--| UDP↑ |
如果需要串联udp2raw 用这个图脑补UDP链路
1 | --UDPspeeder client--udp2raw client--udp2raw server--UDPspeeder server-- |
也就是把UDPspeeder server的出口用udp2raw server包装起来
同样的用udp2raw client解包并把解包后的包转给UDPspeeder client
也可以直接点进这里 UDPspeeder和udp2raw串联加速OpenVPN
为了方便 就不演示怎么搭配udp2raw 有问题的可以在评论区里问
如果看不到评论区 请检查梯子
配置VPS
假设$$服务在监听443端口 VPS地址为45.66.77.88
UDPspeeder监听端口为2333 参数使用游戏模式的 推荐设置
更多参数请点 这里
先上传 UDPspeeder 的二进制文件的 对应 版本到VPS 然后执行
1 | ./speederv2 -s -l 0.0.0.0:2333 -r 127.0.0.1:443 -k "passwd" --mode 0 -f2:4 -q1 |
VPS上就这样了
配置树莓派
这里可以自定义监听端口 假设为800
先上传 UDPspeeder 和 tinyPortMapper 的二进制文件的 对应 版本到树莓派 然后执行
1 2 | ./speederv2 -c -l 0.0.0.0:800 -r 45.66.77.88:2333 -k "passwd" --mode 0 -f2:4 -q1 ./tinymapper -l 0.0.0.0:800 -r 45.66.77.88:443 -t #将TCP:800转发到45.66.77.88:443 |
UDPspeeder的参数server和client需要一致
如果会使用iptables等 可以不使用tinymapper
配置SSTap
添加一个$$代理
IP设置为树莓派的IP 端口为树莓派正在监听的800
密码 协议等 与$$服务的一样
如果配置得当 就会得到这样的结果
然后选择游戏 连接 就行了
后记
这里只简单阐述了配置的过程
个人认为参数需要根据VPS的带宽 当前到VPS延迟与丢包进行恰当的设置
可以在Github的Issue上找到很多有趣的东西 XD
EOF