/GameServer

基于Skynet的游戏服务器开发框架

Primary LanguageC

基于skynet开发的游戏框架

Server

通信流程

client--->gateway--->login--->agentmgr--->newagent

client--->gateway--->agent--->one service

GameClient模拟客户端服务器进行交互

编译Client:

cd GameClient
mkdir build
cd build
cmake ..
make
cd bin
./main

proto文件编写规则

每一个消息要在分配一个唯一的message_id

caution: message_id中的keymsgName大写形式

client向server发送消息

    input formate: [protoId] [data]...

    //for example login.proto send LOGIN_REQUEST

    //message_id = 1001, id = 1, pw = 123

    terminal input: 1001 1 123 

如果你编写了新的proto文件

服务器端:

  1. 在proto文件夹下 执行 sh complie_pb.sh
  2. load_protocol.lua的fileName表添加proto文件名
  3. 在对应的agent服务添加agent.client.msgName方法

客户端:

  1. GameClient/proto下 执行 sh update_proto.sh
  2. protocol.h 包含对应的pb头文件,并且编写对应的封包函数与解包函数
  3. gameSocket.cppPACK_FUN_MAP(XX)加入新消息id与解封包函数的映射