kcptun简介

网络传输层,常用的传输协议包括TCP和UDP,前者是以连接为基础的可靠协议,后者是不可靠协议。

正因为不可靠,所以UDP的响应很迅速。很多游戏的通信传输都选择UDP,就是因为UDP响应快。可以想象,玩吃鸡游戏时,网络快0.1秒的人,肯定是占优势的:能先把对方打趴。

kcptun 是一款加速UDP数据传输的工具。它的工作机制是:把两台机器之间的基于TCP传输转化为UDP传输,并通过适度的重复发包,来弥补UDP的不可靠,从而实现传输加速。

kcptun server端的安装过程

  1. 首先,到 https://github.com/xtaci/kcptun/releases官网下载对应的文件。

我是 ubuntu x64 的系统。解压缩之后,把server_linux_amd64复制到 /usr/bin/下面:

1
2
sudo copy server_linux_amd64 /usr/bin/
sudo chmod +x /usr/bin/server_linux_amd64
  1. 其次,创建 kcptun 配置文件:
1
2
sudo mkdir /etc/kcptun
sudo nano /etc/kcptun/config.json

内容如下:

1
2
3
4
5
6
7
8
9
{
    "listen": ":监听入站端口",
    "target": "127.0.0.1:需要加速数据端口",
    "key": "自定义密码",
    "crypt": "salsa20",
    "mode": "fast2",
    "nocomp": true,
    "keepalive": 10
}

参数的含义、更多的参数,见官网

  1. 第三,创建 kcptun 的启动 service 文件

我使用的是 ubuntu 系统,支持 systemd 这个启动管理、守护工具。

1
sudo nano /etc/systemd/system/kcptun.service

内容是:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
[Unit] 
Description = Kcptun Client Service 
After=network.target
[Service] 
Type=simple 
User=nobody 
ExecStart=/usr/bin/server_linux_amd64 -c /etc/kcptun/config.json
Restart=always 
RestartSec=5
[Install] 
WantedBy = multi-user.target
  1. 刷新并启用 kcptun 服务
1
2
3
4
sudo systemctl daemon-reload
sudo systemctl enable kcptun
sudo service kcptun start
sudo service kcptun status

kcptun client 端的安装过程

类似的,到 https://github.com/xtaci/kcptun/releases官网下载对应的文件。

我是windows系统,推荐 kcptun_glient 这款GUI客户端。