最近在玩跑跑2,这游戏直接裸连是能连上的,但是总遇到无法匹配的问题,所以想整个梯子代理下,遂有这篇文章记录下配置过程。
我以前也写过几篇类似的文章,里面都是用的kcptun,不得不说kcptun用来加速游戏的效果确实很牛逼,但跑跑2这游戏匹配玩家的时候走的是udp,kcptun只能加速tcp,udp流量是不管的,所以我在原有的基础上加了个udpspeeder。这样游戏无论是走tcp还是udp都能加速,走tcp的流量由kcptun加速,走udp的流量由udpspeeder加速。
下面的kcptun配置仅适用于游戏加速,对看视频或者网页的速度没有多大提升,甚至如果你在一个本身就不丢包的链路上用kcptun还会有适得其反的效果。这个kcptun的配置我平时用来玩maplestory国际服,已经用了几年了,不用kcptun加速各种延迟各种卡,用了之后完全感受不到任何延迟卡顿。
至于udpspeeder的配置我还没有使用多长时间,现阶段个人感受到的效果就是不用udpspeeder直接裸连跑跑2经常无法匹配,用了之后无法匹配的现象完全消失。
另外稍微说一下,我玩的这几个游戏对nat要求都不严格,但我还是测了下,这套配置是可以full cone的。对于某些nat限制严格的游戏比如gta5应该也是可以用的。(我电脑里面有gta5但不常玩,懒得试。。)
安装需要用到的包:
apt -y update apt -y install curl iptables supervisor
为后续可以更方便的启停服务,这里就不用systemd了,用supervisor可以把几个进程的启动配置都写在一个配置文件内,方便管理:
systemctl enable --now supervisor
下载解压udp2raw/udpspeeder/kcptun/singbox:
curl -L https://github.com/wangyu-/udp2raw/releases/download/20230206.0/udp2raw_binaries.tar.gz -o udp2raw_binaries.tar.gz curl -L https://github.com/wangyu-/UDPspeeder/releases/download/20230206.0/speederv2_binaries.tar.gz -o speederv2_binaries.tar.gz curl -L https://github.com/xtaci/kcptun/releases/download/v20230214/kcptun-linux-amd64-20230214.tar.gz -o kcptun-linux-amd64-20230214.tar.gz curl -L https://github.com/SagerNet/sing-box/releases/download/v1.2-beta10/sing-box-1.2-beta10-linux-amd64.tar.gz -o sing-box-1.2-beta10-linux-amd64.tar.gz tar -xzvf udp2raw_binaries.tar.gz tar -xzvf speederv2_binaries.tar.gz tar -xzvf kcptun-linux-amd64-20230214.tar.gz tar -xzvf sing-box-1.2-beta10-linux-amd64.tar.gz mv udp2raw_amd64 /usr/local/bin mv speederv2_amd64 /usr/local/bin mv server_linux_amd64 /usr/local/bin mv sing-box-1.2-beta10-linux-amd64/sing-box /usr/local/bin
新建两个目录,用于存放配置文件:
mkdir -p /usr/local/etc/sing-box mkdir -p /usr/local/etc/kcpserver
新建sing-box的配置文件:
nano /usr/local/etc/sing-box/config.json
用sing-box搭建一个ss节点,监听在10000端口:
{ "log": { "level": "info" }, "inbounds": [ { "type": "shadowsocks", "tag": "ss-in", "listen": "0.0.0.0", "listen_port": 10000, "method": "aes-256-gcm", "password": "shadowsockspassword" } ], "outbounds": [ { "type": "direct", "tag": "direct" } ] }
新建kcptun配置文件:
nano /usr/local/etc/kcpserver/server.json
kcptun端口监听在5000:
{ "listen": ":5000", "target": "127.0.0.1:10000", "key": "kcptunpassword", "crypt": "salsa20", "mode": "fast3", "mtu": 1350, "sndwnd": 2048, "rcvwnd": 2048, "datashard": 2, "parityshard": 2, "dscp": 46, "nocomp": true }
新建supervisor配置文件:
nano /etc/supervisor/conf.d/game.conf
写入如下配置:
[program:udp2raw-kcptun] command=/usr/local/bin/udp2raw_amd64 -s -l 0.0.0.0:5001 -r 127.0.0.1:5000 --raw-mode icmp --cipher-mode none -a -k "udp2rawpassword" autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/supervisor/udp2raw-kcptun.log [program:kcptun] command=/usr/local/bin/server_linux_amd64 -c /usr/local/etc/kcpserver/server.json autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/supervisor/kcptun.log [program:udp2raw-speederv2] command=/usr/local/bin/udp2raw_amd64 -s -l 0.0.0.0:6001 -r 127.0.0.1:6000 --raw-mode icmp --cipher-mode none -a -k "udp2rawpassword" autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/supervisor/udp2raw-speederv2.log [program:speederv2] command=/usr/local/bin/speederv2_amd64 -s -l 0.0.0.0:6000 -r 127.0.0.1:10000 -f 2:4 -k "udpspeederpassword" autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/supervisor/speederv2.log [program:singbox] command=/usr/local/bin/sing-box run -c /usr/local/etc/sing-box/config.json autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/supervisor/singbox.log
启动:
supervisorctl update
服务端就配置好了,下面是客户端配置。
启动两个udp2raw,第一个套kcptun:
.\udp2raw_mp_nolibnet.exe -c -l 0.0.0.0:50001 -r VPSIP:5001 --raw-mode icmp --cipher-mode none -k "udp2rawpassword"
第二个套udpspeeder:
.\udp2raw_mp_nolibnet.exe -c -l 0.0.0.0:60001 -r VPSIP:6001 --raw-mode icmp --cipher-mode none -k "udp2rawpassword"
kcptun和udpspeeder同时监听本地的12345端口,不会有冲突,因为kcptun只监听tcp,udpspeeder只监听udp:
.\client_windows_amd64.exe -l :12345 -r 127.0.0.1:50001 -key "kcptunpassword" -crypt salsa20 -nocomp -datashard 2 -parityshard 2 -mtu 1350 -sndwnd 512 -rcvwnd 2048 -dscp 46 -mode fast3
.\speederv2_wepoll.exe -c -l 0.0.0.0:12345 -r 127.0.0.1:60001 -f 2:4 -k "udpspeederpassword"
netch配置ss连接本地的12345端口:
整个连接过程:
localhost:12345(tcp)->localhost:50001->server:5001->server:5000->server:10000
localhost:12345(udp)->localhost:60001->server:6001->server:6000->server:10000
lala 加速游戏用的哪家的机器线路啊
用的众生平等电信163线路。。。
windows系统怎么用啊
大佬大佬 win10客户端配置时shift run udp2raw_mp_nolibnet.exe秒退怎么解决
你电脑装npcap了吗,没安装的话去这里下载个:https://npcap.com/#download
大佬,按照你的教程启动的时候出现了下面的代码:
supervisorctl update
error: , : file: /usr/lib/python3.8/xmlrpc/client.py line: 655
supervisor的问题,也许是这个原因导致的:https://github.com/Supervisor/supervisor/issues/48
用你不带UDPW2RAW的教程,启动客户端可以与服务端连接,但是NETCH设置以后还是显示NOUDP HTTP TIMEOUT
延迟也测不出来,是哪的问题呢?
noudp说明udpspeeder可能没配置好,因为udp流量是udpspeeder处理的。
“listen”: “0.0.0.0”,
“listen_port”: 10000, SS配置端口0.0.0.0需要更改成127.0.0.1吗?
不需要。
2023/04/26 17:03:45 compression: false
2023/04/26 17:03:45 mtu: 1350
2023/04/26 17:03:45 datashard: 2 parityshard: 2
2023/04/26 17:03:45 acknodelay: false
2023/04/26 17:03:45 dscp: 46
2023/04/26 17:03:45 sockbuf: 4194304
2023/04/26 17:03:45 smuxbuf: 4194304
2023/04/26 17:03:45 streambuf: 2097152
2023/04/26 17:03:45 keepalive: 10
2023/04/26 17:03:45 conn: 1
2023/04/26 17:03:45 autoexpire: 0
2023/04/26 17:03:45 scavengettl: 600
2023/04/26 17:03:45 snmplog:
2023/04/26 17:03:45 snmpperiod: 60
2023/04/26 17:03:45 quiet: false
2023/04/26 17:03:45 tcp: false
2023/04/26 17:03:45 initiating key derivation
2023/04/26 17:03:45 key derivation done
显示TCP:fasle
kcptun的tcp选项是指用模拟的tcp协议来运行kcptun,与这个无关。
[2023-04-26 17:04:57][INFO]parsing address: 0.0.0.0:12345
[2023-04-26 17:04:57][INFO]its an ipv4 adress
[2023-04-26 17:04:57][INFO]ip_address is {0.0.0.0}, port is {12345}
[2023-04-26 17:04:57][INFO]parsing address: 20.239.78.116:4001
[2023-04-26 17:04:57][INFO]its an ipv4 adress
[2023-04-26 17:04:57][INFO]ip_address is {20.239.78.116}, port is {4001}
[2023-04-26 17:04:57][INFO]jitter_min=0 jitter_max=0 output_interval_min=0 output_interval_max=0 fec_timeout=8 fec_mtu=1250 fec_queue_len=200 fec_mode=0
[2023-04-26 17:04:57][INFO]fec_str=2:4
[2023-04-26 17:04:57][INFO]fec_inner_parameter=1:4,2:4
[2023-04-26 17:04:57][INFO]now listening at 0.0.0.0:12345
[2023-04-26 17:05:33][INFO]new packet from 127.0.0.1:52124,conv_id=7f1d1e7b
没有找到下载udp2raw_mp_nolibnet.exe的地方,我下载的是udp2raw_mp.exe和udp2raw_mp_wepoll.exe,按照您的方法在Netch配置完后就是HTTP:Timeout,但是NAT是正常的。
拉拉好,客户端部分没有详细介绍,是要分别在win10系统安装kcptun、udpspeeder、udp2raw、winpcp、powershell、npcap这几个软件吗?盼回复,感谢!
大佬,我有一个疑惑:
我可以让kcptun监听a端口,转发给ss的端口
然后让udpspeeder监听b端口,转发给a端口
让udp2raw监听c端口,转发给b端口
客户端对应设置,是否可行?
理论上来说可以完成一次数据传输吧?为什么你加了更多的端口监听和转发?
因为udp2raw既要伪装kcptun的流量还要伪装udpspeeder的流量。并且你说的这个配置是错误的,c转b之后b不应该转给a而是直接转ss端口。
感谢!我之前搞了一下,我最近在研究加速Geforce Now,我想的是kcp监听ss之后发出来的都是udp协议的包,这样只用让udpspeeder来加速这些udp包,之后转发给udp2raw伪装之后发给vps的对应服务进程:
client:ss→kcp→udpspeeder→udp2raw
server:
udp2raw→udpspeeder→kcp→ss
逻辑上可行,好像我之前搞出来了一次。
今天抓了一下geforce now的包,感觉可以试试只加速udp看看效果。
过去一年都是用你的sing-box的ss来搭建的,现在ip被墙了,是不是墙变高了