Name Last Update
cmd Loading commit data...
common Loading commit data...
conf Loading commit data...
doc Loading commit data...
models Loading commit data...
pb Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
go.mod Loading commit data...
go.sum Loading commit data...
DesignerConfigs @ 5048930a93a
luban_examples @ 64026a935d2
protos @ 015742626c9

README.md

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