6.1 构建项目
api
:主要是注册一些mmo业务的一些Router处理业务。
conf
:存放mmo_game的一些配置文件,比如"zinx.json"。
core
:存放一些核心算法,或者游戏控制等模块。
game_client
:存放游戏客户端。
pb
:存放一些protobuf的协议文件和go文件。
1、我们在mmo_game
下,创建一个server.go
作为我们main包,主要作为服务器程序的主入口。
mmo_game/server.go
package main
import (
"zinx/znet"
)
func main() {
//创建服务器句柄
s := znet.NewServer()
//启动服务
s.Serve()
}
2、在conf
文件添加zinx.conf
mmo_game/conf/zinx.conf
{
"Name":"Zinx Game",
"Host":"0.0.0.0",
"TcpPort":8999,
"MaxConn":3000,
"WorkerPoolSize":10
}
3、在pb
下创建msg.proto文件和build.sh编译指令脚本
mmo_game/pb/msg.proto
syntax="proto3"; //Proto协议
package pb; //当前包名
option csharp_namespace="Pb"; //给C#提供的选项
mmo_game/pb/build.sh
#!/bin/bash
protoc --go_out=. *.proto
当前我们的项目路径应该结构如下:
.
└── mmo_game
├── api
├── conf
│ └── zinx.json
├── core
│ ├── aoi.go
│ ├── aoi_test.go
│ ├── grid.go
├── game_client
│ └── client.exe
├── pb
│ ├── build.sh
│ └── msg.proto
├── README.md
└── server.go