update: 更新Readme
parent
0ee80dacf7
commit
15bbf28970
100
README.md
100
README.md
|
|
@ -1,56 +1,76 @@
|
||||||
# GURU Dof kcp Client
|
# GURU Dof Client Library
|
||||||
|
|
||||||
### VERSION 0.0.1
|
### VERSION 0.0.1
|
||||||
|
|
||||||
## 插件介绍
|
## 插件介绍
|
||||||
|
|
||||||
基于upm_guru_kcp库,服务与dof项目的客户端类封装.
|
> 本插件是基于 `upm_guru_kcp` 库,服务与 `dof` 项目的客户端类封装.
|
||||||
在更新了prot文件之后,需要重新生成对应的cs文件。请按以下步骤进行操作:
|
>
|
||||||
|
> 当客户端或服务端更新了 `prot` 文件之后,需要重新生成对应的cs文件。
|
||||||
|
>
|
||||||
|
> 具体请按以下步骤进行操作:
|
||||||
|
>
|
||||||
|
|
||||||
## 安装 .NET 6.0 运行时(必须使用6.0版本)
|
</br>
|
||||||
|
|
||||||
|
## 环境部署
|
||||||
|
|
||||||
|
### 安装 .NET 6.0 运行时(必须使用6.0版本)
|
||||||
* 下载离线安装包
|
* 下载离线安装包
|
||||||
- Mac: https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/sdk-6.0.413-macos-x64-installer
|
- Mac: https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/sdk-6.0.413-macos-x64-installer
|
||||||
- Windows: https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/sdk-6.0.413-windows-x64-installer
|
- Windows: https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/sdk-6.0.413-windows-x64-installer
|
||||||
|
|
||||||
* Mac下建议使用 homebrew
|
* Mac下建议使用 homebrew
|
||||||
brew tap isen-ng/dotnet-sdk-versions
|
```shell
|
||||||
brew install --cask dotnet-sdk6-0-400
|
brew tap isen-ng/dotnet-sdk-versions
|
||||||
|
|
||||||
## 安装 protobuf-net.Protogen 命令行程序
|
brew install --cask dotnet-sdk6-0-400
|
||||||
dotnet tool install --global protobuf-net.Protogen --version 3.2.12
|
```
|
||||||
|
|
||||||
|
### 安装 protobuf-net.Protogen 命令行程序
|
||||||
|
|
||||||
|
* 命令行安装 protobuf-net.Protogen 工具
|
||||||
|
```shell
|
||||||
|
dotnet tool install --global protobuf-net.Protogen --version 3.2.12
|
||||||
|
```
|
||||||
|
|
||||||
* Windows
|
* Windows
|
||||||
protogen 的安装目录为 C:\Users\用户名\.dotnet\tools ,可直接在 cmd 命令行下运行 protogen
|
protogen 的安装目录为 `C:\Users\用户名\.dotnet\tools` ,可直接在 cmd 命令行下运行 protogen
|
||||||
|
|
||||||
* Macos
|
* Macos
|
||||||
在 Macos 下 protogen 的安装目录为 /Users/用户名/.dotnet/tools,可能需要手动将
|
在 Macos 下 protogen 的安装目录为 `/Users/用户名/.dotnet/tools`,可能需要手动将
|
||||||
```
|
```shell
|
||||||
PATH=PATH:/Users/用户名/.dotnet/tools
|
PATH=PATH:/Users/用户名/.dotnet/tools
|
||||||
```
|
```
|
||||||
加入到 ~/.bash_profile中,因为 homebrew 加入的 PATH ~/.dotnet/tools 无效
|
加入到 `~/.bash_profile` 中,因为 homebrew 加入的 `PATH ~/.dotnet/tools` 无效
|
||||||
|
|
||||||
## 生成 cs 文件
|
</br>
|
||||||
|
|
||||||
|
## 文件构建
|
||||||
|
|
||||||
|
### 生成 cs 文件
|
||||||
|
|
||||||
* Windows
|
* Windows
|
||||||
```
|
```shell
|
||||||
cd upm_guru_dof_lib\Runtime\ServerProto
|
cd upm_guru_dof_lib\Runtime\ServerProto
|
||||||
protogen messages.proto --csharp_out=..\NetworkGen
|
protogen messages.proto --csharp_out=..\NetworkGen
|
||||||
```
|
```
|
||||||
|
|
||||||
* MacOS
|
* MacOS
|
||||||
```
|
```shell
|
||||||
cd upm_guru_dof_lib/Runtime/ServerProto
|
cd upm_guru_dof_lib/Runtime/ServerProto
|
||||||
~/.dotnet/tools/protogen messages.proto --csharp_out=../NetworkGen
|
~/.dotnet/tools/protogen messages.proto --csharp_out=../NetworkGen
|
||||||
```
|
```
|
||||||
|
</br>
|
||||||
|
|
||||||
## 安装和接入
|
## UPM 安装和接入
|
||||||
|
|
||||||
### 插件引入
|
### 插件引入
|
||||||
|
|
||||||
- 本插件需要使用公司内部的Gitlab加载对应的repo, 详见 [Castbox内部git服务器Gitea使用指南](https://docs.google.com/document/d/1DiGPDD5Teu2QcYaBhqAcsqMbb3DJ5sdnTQMuvVzJSUk/edit#heading=h.w9tkkzwwyjxf)
|
* 本插件需要使用公司内部的Gitlab加载对应的repo, 详见 [Castbox内部git服务器Gitea使用指南](https://docs.google.com/document/d/1DiGPDD5Teu2QcYaBhqAcsqMbb3DJ5sdnTQMuvVzJSUk/edit#heading=h.w9tkkzwwyjxf)
|
||||||
- 根据文档部署好本机配置后, 请在Unity内部配置如下参数
|
* 根据文档部署好本机配置后, 请在Unity内部配置如下参数
|
||||||
- 修改位于项目Packages/manifest.json文件,在dependencies中添加
|
- 修改位于项目 `Packages/manifest.json` 文件,在dependencies中添加
|
||||||
```
|
```json
|
||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.guru.unity.gurudoflib": "git@git.chengdu.pundit.company:castbox/upm_guru_dof_lib.git",
|
"com.guru.unity.gurudoflib": "git@git.chengdu.pundit.company:castbox/upm_guru_dof_lib.git",
|
||||||
|
|
@ -59,6 +79,28 @@ cd upm_guru_dof_lib/Runtime/ServerProto
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
- 修改link.xml文件,添加
|
- 修改link.xml文件,添加
|
||||||
```
|
```xml
|
||||||
<assembly fullname="GuruDofLib.Runtime" preserve="all"/>
|
<assembly fullname="GuruDofLib.Runtime" preserve="all"/>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## UPM 发布
|
||||||
|
|
||||||
|
在项目研发中, 根据业务需求, 将会需要更改接口的逻辑及结构. 并更新此库. 需要项目组自行维护和发布 dof_lib 的版本.
|
||||||
|
|
||||||
|
插件更新流程如下:
|
||||||
|
|
||||||
|
1. 研发流中正常修改 `proto` 接口和对应的业务逻辑, 并提交推送至 `main` 分支
|
||||||
|
2. 手动修改 `./Makefile` 中的 `Version` 字段并提交. (该字段为插件的版本号, 请遵循三位版本号规范, 如: `1.0.0`)
|
||||||
|
3. 在此路径中, 执行命令行, 项目会自动提交并打入Tag标签
|
||||||
|
```shell
|
||||||
|
make publish
|
||||||
|
```
|
||||||
|
4. 在游戏主项目中, 修改 `Packages/manifest.json` 文件, 将 `com.guru.unity.gurudoflib` 的版本号改为刚刚发布的版本号, 并等待编译结束. (没有的需要再repo地址后添加 `#x.x.x` 作为版本标记)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"dependencies": {
|
||||||
|
"com.guru.unity.gurudoflib": "git@git.chengdu.pundit.company:castbox/upm_guru_dof_lib.git#0.0.1",
|
||||||
|
...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
15
helper.py
15
helper.py
|
|
@ -2,16 +2,15 @@
|
||||||
import argparse
|
import argparse
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
# Change Version to json file with 'version' key
|
||||||
def set_version(path, version):
|
def set_version(path, version):
|
||||||
s = json.loads(open(path).read())
|
s = json.loads(open(path).read())
|
||||||
s["version"] = version
|
s["version"] = version
|
||||||
# print('json', s)
|
# print('json', s)
|
||||||
json.dump(s, open(path, "w"))
|
json.dump(s, open(path, "w"), indent=1)
|
||||||
print('Packge version set to', version)
|
print('Packge version set to', version)
|
||||||
|
|
||||||
|
# Entry
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# 解析参数
|
# 解析参数
|
||||||
parser = argparse.ArgumentParser(description='Process some integers.')
|
parser = argparse.ArgumentParser(description='Process some integers.')
|
||||||
|
|
@ -24,13 +23,13 @@ if __name__ == '__main__':
|
||||||
path = args.path
|
path = args.path
|
||||||
if len(path) == 0:
|
if len(path) == 0:
|
||||||
print('no path found')
|
print('no path found')
|
||||||
|
exit(1)
|
||||||
|
|
||||||
ver = args.ver
|
ver = args.ver
|
||||||
|
if len(ver) == 0:
|
||||||
|
ver = '0.0.1'
|
||||||
|
|
||||||
if args.action == 'set_ver':
|
if args.action == 'set_ver':
|
||||||
set_version(path, ver)
|
set_version(path, ver)
|
||||||
|
|
||||||
|
#------ main end ------
|
||||||
|
|
||||||
Loading…
Reference in New Issue