Blame view

README.md 2.08 KB
ee23102d   zhangqijia   支持mongo, grpc接服务器
1
2
3
4
  ## Pro2dServer
  这是pro2d项目的服务器, 使用golang搭建
  
  ## 技术点
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
5
6
7
8
9
  一个服务器需要的组件:
  * 数据库
  * 日志
  * 集群
  * 分布式
29b6d86f   zhangqijia   update plugin doc
10
  * 热更
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
11
12
  
  
29b6d86f   zhangqijia   update plugin doc
13
  技术点: 
ee23102d   zhangqijia   支持mongo, grpc接服务器
14
  * mongo
29b6d86f   zhangqijia   update plugin doc
15
  * redis
ee23102d   zhangqijia   支持mongo, grpc接服务器
16
  * etcd
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
17
  * proto + models 查询
29b6d86f   zhangqijia   update plugin doc
18
  * golang plugin
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
19
  
252ca9a0   zhangqijia   解释目录结构
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
  ## 目录结构
  ```text
  .
  ├── bin
  ├── cmd                 //入口文件
  ├── conf                //配置文件
  ├── csvdata             //csv的golang struct
  ├── doc                 //文档
  ├── docker              //docker部署
  ├── protos
  │   ├── doc             //协议文档
  │   └── pb              //生成的pb.go文件
  ├── src                 //逻辑目录
  │   ├── actions         //逻辑处理
  │   ├── common
  │   ├── components      //组件
  │   │   ├── db          
  │   │   ├── etcd
  │   │   ├── jwt
  │   │   ├── logger
  │   │   └── net         //网络组件(http + tcp)
  │   ├── models          //数据模型
  │   ├── plugin          //逻辑热更的插件
  │   └── utils           //通用函数
  ├── test                //测试
  ├── tools               //工具(proto自动生成协议号,csv自动生成struct)
  ```
ee23102d   zhangqijia   支持mongo, grpc接服务器
47
48
  
  ## 环境安装
f74e34e3   zhangqijia   fix: 批量删除装备
49
50
51
  protoc二进制下载地址: https://github.com/protocolbuffers/protobuf/releases/tag/v21.0-rc2
  >win下载3.8版本。其他平台随意,没遇到问题。
  
3592dfd3   zhangqijia   重构models, 索引唯一索引
52
53
54
55
56
  protoc-go-inject-tag: 目的是往protos文件中打入自定义标签
  ```shell
  $ go get github.com/favadi/protoc-go-inject-tag
  ```
  
f74e34e3   zhangqijia   fix: 批量删除装备
57
  protoc-go & etcd
ee23102d   zhangqijia   支持mongo, grpc接服务器
58
59
  ```shell
  $ go get go.etcd.io/etcd/client/v3
f74e34e3   zhangqijia   fix: 批量删除装备
60
  $ go get google.golang.org/protobuf/cmd/protoc-gen-go
ee23102d   zhangqijia   支持mongo, grpc接服务器
61
62
63
64
  $ go install google.golang.org/protobuf/cmd/protoc-gen-go
  $ go get google.golang.org/grpc/cmd/protoc-gen-go-grpc
  $ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc
  ```
88e31175   zhangqijia   grpc 增加tls, 使用san证书
65
  ## 文档
29b6d86f   zhangqijia   update plugin doc
66
67
68
  * [证书制作](doc/cret.md)
  * [包组成结构](doc/proto.md)
  * [go plugin热更的使用](doc/plugin.md)
88e31175   zhangqijia   grpc 增加tls, 使用san证书
69
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
70
  ## Usage
29b6d86f   zhangqijia   update plugin doc
71
  ### 编译 & 运行 && 游戏服 & 登录服务
ee23102d   zhangqijia   支持mongo, grpc接服务器
72
  ```shell
11abbdea   zhangqijia   csv 读取加载
73
  $ make game
29b6d86f   zhangqijia   update plugin doc
74
  $ make account
ee23102d   zhangqijia   支持mongo, grpc接服务器
75
  ```
29b6d86f   zhangqijia   update plugin doc
76
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
77
78
79
  测试
  ```shell
  $ make test
29b6d86f   zhangqijia   update plugin doc
80
81
82
  ```
  
  ###