# GURU KCP

### VERSION 0.0.1

## 插件介绍

基于DotNetty版本实现的kcp(包含fec功能的实现).

KCP是一个基于udp的快速可靠协议(rudp)，能以比 TCP浪费10%-20%的带宽的代价，换取平均延迟降低 30%-40%，且最大延迟降低三倍的传输效果

主要用于构建unity客户端网络层.

kcp库基于https://github.com/l42111996/csharp-kcp ，
protobuf-net库基于https://github.com/protobuf-net/protobuf-net ，
两个库均做了适当修改，以完美适配Unity


## 安装和接入

### 插件引入

- 本插件需要使用公司内部的Gitlab加载对应的repo, 详见 [Castbox内部git服务器Gitea使用指南](https://docs.google.com/document/d/1DiGPDD5Teu2QcYaBhqAcsqMbb3DJ5sdnTQMuvVzJSUk/edit#heading=h.w9tkkzwwyjxf)
- 根据文档部署好本机配置后, 请在Unity内部配置如下参数
  - 修改位于项目Packages/manifest.json文件，在dependencies中添加
  ```
  {
  "dependencies": {
    "com.guru.unity.gurukcp": "git@git.chengdu.pundit.company:castbox/upm_guru_kcp.git",
    ...
    }
  }
  ```
  - 修改link.xml文件，添加
  ```
  <assembly fullname="GuruKCP.Runtime" preserve="all"/>
  ```