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
|
```
###
|