一、MMO游戏Proto3协议
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/80e8d42cf938dd40655fc5b004760358.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d885326fff4c630fc2da8068c3febaaa.png)
1 - MsgID :1
- SyncPid
- 同步玩家本次登录的ID(⽤来标识玩家), 玩家登陆之后,由Server端主动⽣成玩家ID发送给客户端
- 发起者:Server
- Pid:玩家ID
message SyncPid{
int32 Pid=1;
}
2 - MsgID :2
- Talk
- 同步玩家本次登录的ID(⽤来标识玩家), 玩家登陆之后,由Server端主动⽣成玩家ID发送给客户端
- 发起者:Client
- Content:聊天信息
message Talk{
string Content=1;
}
3 - MsgID :3
- MovePackege
- 移动的坐标数据
- 发起者:Client
- P: Position类型,地图的左边点
message Position{
float X=1;
float Y=2;
float Z=3;
float V=4;
}
4 - MsgID :200
- BroadCast
- ⼴播消息
- 发起者: Server
- Tp: 1 世界聊天, 2 坐标, 3 动作, 4 移动之后坐标信息更新
- Pid: 玩家ID
message BroadCast{
int32 Pid=1;
int32 Tp=2;
oneof Data {
string Content=3;
Position P=4;
int32 ActionData=5;
}
}
5 - MsgID :201
- SyncPid
- ⼴播消息 掉线/aoi消失在视野
- 发起者: Server
- Pid: 玩家ID
message SyncPid{
int32 Pid=1;
}
6 - MsgID :202
- SyncPlayers
- 同步周围的⼈位置信息(包括⾃⼰)
- 发起者: Server
- ps: Player 集合,需要同步的玩家
message SyncPlayers{
repeated Player ps=1;
}
message Player{
int32 Pid=1;
Position P=2;
}