• 五、MMO游戏的Proto3协议
    • MsgID:1
    • MsgID:2
    • MsgID:3
    • MsgID:200
    • MsgID:201
    • MsgID:202

    五、MMO游戏的Proto3协议

    MsgIDClientServer描述
    1-SyncPid同步玩家本次登录的ID(用来标识玩家)
    2Talk-世界聊天
    3Position-移动
    200-BroadCast广播消息(Tp 1 世界聊天 2 坐标(出生点同步) 3 动作 4 移动之后坐标信息更新)
    201-SyncPid广播消息 掉线/aoi消失在视野
    202-SyncPlayers同步周围的人位置信息(包括自己)

    MsgID:1

    SyncPid

    • 同步玩家本次登录的ID(用来标识玩家), 玩家登陆之后,由Server端主动生成玩家ID发送给客户端

    • 发起者: Server

    • Pid: 玩家ID

    1. message SyncPid{
    2. int32 Pid=1;
    3. }

    MsgID:2

    Talk:

    • 同步玩家本次登录的ID(用来标识玩家), 玩家登陆之后,由Server端主动生成玩家ID发送给客户端

    • 发起者: Client

    • Content: 聊天信息

    1. message Talk{
    2. string Content=1;
    3. }

    MsgID:3

    MovePackege:

    • 移动的坐标数据

    • 发起者: Client

    • P: Position类型,地图的左边点

    1. message Position{
    2. float X=1;
    3. float Y=2;
    4. float Z=3;
    5. float V=4;
    6. }

    MsgID:200

    BroadCast:

    • 广播消息

    • 发起者: Server

    • Tp: 1 世界聊天, 2 坐标, 3 动作, 4 移动之后坐标信息更新

    • Pid: 玩家ID

    1. message BroadCast{
    2. int32 Pid=1;
    3. int32 Tp=2;
    4. oneof Data {
    5. string Content=3;
    6. Position P=4;
    7. int32 ActionData=5;
    8. }
    9. }

    MsgID:201

    SyncPid

    • 广播消息 掉线/aoi消失在视野

    • 发起者: Server

    • Pid: 玩家ID

    1. message SyncPid{
    2. int32 Pid=1;
    3. }

    MsgID:202

    • 同步周围的人位置信息(包括自己)

    • 发起者: Server

    • ps: Player 集合,需要同步的玩家

    1. message SyncPlayers{
    2. repeated Player ps=1;
    3. }
    4. message Player{
    5. int32 Pid=1;
    6. Position P=2;
    7. }