- SHADOWROCKET KCPTUN HOW TO
- SHADOWROCKET KCPTUN MANUAL
- SHADOWROCKET KCPTUN FULL
- SHADOWROCKET KCPTUN CODE
In coding theory, the Reed–Solomon code belongs to the class of non-binary cyclic error-correcting codes. rcvwnd value set receive window size(num of packets) (default: 1024) sndwnd value set send window size(num of packets) (default: 1024) target value, -t value target server address, or path/to/unix_socket (default: "127.0.0.1:12948") listen value, -l value kcp server listen address (default: ":29900") c value config from json file, which will override the command from shell quiet to suppress the 'stream open/close' messages
log value specify a log file to output, default goes to stderr snmpperiod value snmp collect period, in seconds (default: 60) snmplog value collect snmp to file, aware of timeformat in golang, like. keepalive value seconds between heartbeats (default: 10) streambuf value per stream receive buffer in bytes, smux v2+ (default: 2097152) smuxbuf value the overall de-mux buffer in bytes (default: 4194304) smuxver value specify smux version, available 1,2 (default: 1) sockbuf value per-socket buffer in bytes (default: 4194304) parityshard value, -ps value set reed-solomon erasure coding - parityshard (default: 3) datashard value, -ds value set reed-solomon erasure coding - datashard (default: 10) rcvwnd value set receive window size(num of packets) (default: 512) sndwnd value set send window size(num of packets) (default: 128) mtu value set maximum transmission unit for UDP packets (default: 1350) scavengettl value set how long an expired connection can live (in seconds) (default: 600) autoexpire value set auto expiration time(in seconds) for a single UDP connection, 0 to disable (default: 0) conn value set num of UDP connections to server (default: 1)
SHADOWROCKET KCPTUN MANUAL
mode value profiles: fast3, fast2, fast, normal, manual (default: "fast") crypt value aes, aes-128, aes-192, salsa20, blowfish, twofish, cast5, 3des, tea, xtea, xor, sm4, none (default: "aes")
key value pre-shared secret between client and server (default: "it's a secrect") remoteaddr value, -r value kcp server address (default: "vps:29900")
localaddr value, -l value local listen address (default: ":12948") Help, h Shows a list of commands or help for one command Expert Tuning Guide OverviewĬlient_linux_amd64 command If you insist on running under some ARM routers, you'd better turn off FEC and use salsa20 as the encryption method.
SHADOWROCKET KCPTUN FULL
To unleash the full potential of kcptun, a multi-core x86 homeserver CPU like AMD Opteron is recommended. Kcptun made use of ReedSolomon-Codes to recover lost packets, which requires massive amount of computation, a low-end ARM device cannot satisfy kcptun well. (Setting -smuxver MUST be IDENTICAL on both side, default is 1. By limiting stream buffer on the receiver side, a back-pressure will be conducted to the sender and limits reading, and finally prevent source from sending too much data to occupy every bits of buffer along the link. Increasing -smuxbuf to a larger value (default 4MB) may mitigate this problem, obviously this will costs more memory.įor versions >= v20190924, you can switch to smux version 2, smux v2 has options to limit per-stream memory usage, now set -smuxver 2 to enable smux v2, and adjust -streambuf to limit per-stream memory usage, eg: -streambuf 2097152 can limit per-stream memory usage to 2MB. Since streams are multiplexed into a single physical channel, head of line blocking may appear under certain circumstances, by Q: I'm using kcptun for game, I don't want any lag happening.Ī: Lag means packet loss for most of the time, lags can be improved by changing -mode.Īggresiveness/Responsiveness on retransmission for embeded modes are:įast3 > fast2 > fast > normal > default HOLB (mtu is adjustable by -mtu) Improving Latency
SHADOWROCKET KCPTUN HOW TO
Q: I have a high speed network link, how to reach the maximum bandwidth?Ī: Increase -rcvwnd on KCP Client and -sndwnd on KCP Server simultaneously & gradually, the mininum one decides the maximum transfer rate of the link, as wnd * mtu / rtt Then try downloading something and to see if it meets your requirements. Practical bandwidth graph with parameters: -mode fast3 -ds 10 -ps 3 Basic Tuning Guide Improving Thoughput All precompiled releases are genereated from build-release.sh script.