• 6.1 构建项目

    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

    1. package main
    2. import (
    3. "zinx/znet"
    4. )
    5. func main() {
    6. //创建服务器句柄
    7. s := znet.NewServer()
    8. //启动服务
    9. s.Serve()
    10. }

    2、在conf文件添加zinx.conf

    mmo_game/conf/zinx.conf

    1. {
    2. "Name":"Zinx Game",
    3. "Host":"0.0.0.0",
    4. "TcpPort":8999,
    5. "MaxConn":3000,
    6. "WorkerPoolSize":10
    7. }

    3、在pb下创建msg.proto文件和build.sh编译指令脚本

    mmo_game/pb/msg.proto

    1. syntax="proto3"; //Proto协议
    2. package pb; //当前包名
    3. option csharp_namespace="Pb"; //给C#提供的选项

    mmo_game/pb/build.sh

    1. #!/bin/bash
    2. protoc --go_out=. *.proto

    当前我们的项目路径应该结构如下:

    1. .
    2. └── mmo_game
    3. ├── api
    4. ├── conf
    5. └── zinx.json
    6. ├── core
    7. ├── aoi.go
    8. ├── aoi_test.go
    9. ├── grid.go
    10. ├── game_client
    11. └── client.exe
    12. ├── pb
    13. ├── build.sh
    14. └── msg.proto
    15. ├── README.md
    16. └── server.go