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

results matching ""

    No results matching ""