Skip to content

服务器间使用消息

服务器间使用消息

相关概念

  • 基于proto协议,名字空间Smd全称ServerCommand,协议号段200-249,此编号在整个游戏体系统一分配的。
  • 平台,游戏服务器,双方公用,修改时需注意双方兼容。

脚本工具

  • proto.sh proto生成pb.go文件时包含文件会有目录包含关系报错,本工具用来解报错。
  • prototype 类和枚举都增加一个从类型名字字符串到实力的映射,方便用反射来做消息解析,也方便发送时根据字符串查找消息号。
  • .gitignore 生成的pb.go文件不需要提交服务器,这里添加相关忽略。
  • Makefile 生成pb.go 并且进行二次加工。

消息文件

  • Common.proto 公共结构定义,其他proto包含此文件。
  • Smd.proto 一级消息号段定义,目前是每个监听端口配分配一个一级协议号。
    package Smd;

    enum ServerCommand 
    {
        Gate        = 200;
        Login       = 201;
        Name        = 202;
    }
  • Gate.proto 游戏服务器与网关的通信协议都定义在这里
  • Login.proto 游戏服务器与登录服务器的通信协议都定义在这里
  • Name.proto 游戏服务器与角色验证服务器的通信协议都定义在这里