README.md 1.86 KB

Pro2dServer

这是pro2d项目的服务器, 使用golang搭建

技术点

一个服务器需要的组件:

  • 数据库
  • 日志
  • 集群
  • 分布式
  • 热更

技术点:

  • mongo
  • redis
  • etcd
  • proto + models 查询
  • golang plugin

目录结构

.
├── 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)

环境安装

protoc-go-inject-tag: 目的是往protos文件中打入自定义标签

$ go get github.com/favadi/protoc-go-inject-tag

etcd

$ go get go.etcd.io/etcd/client/v3
$ 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

文档

Usage

编译 & 运行 && 游戏服 & 登录服务

$ make game
$ make account

测试

$ make test