PC-20230316NUNE\Administrator d67032e1de 提交新概念 Tile从服务器
2024-08-31 15:35:12 +08:00

85 lines
1.8 KiB
Protocol Buffer

syntax = "proto3";
option java_package = "cn.jisol.ngame.proto";
// ---------------------- 状态 --------------------------
//连接客户端
message JNClientConnect{
string clientId = 1; //客户端Id
}
//断开客户端
message JNClientDisconnect{
string clientId = 1; //客户端Id
}
// ---------------------- 帧同步 --------------------------
//帧同步输入
message JNFrameInput{
int32 nId = 1; //输入的Id
optional bytes input = 2; //输入内容
int32 clientId = 3; //输入所属的客户端Id
}
//帧输入列表
message JNFrameInputs {
repeated JNFrameInput inputs = 1; //输入列表
}
//帧同步消息
message JNFrameInfo {
int32 index = 1; //帧数
repeated JNFrameInput messages = 2; //消息bytes
}
//帧同步集合
message JNFrameInfos{
repeated JNFrameInfo frames = 1; //帧数集
}
//帧同步输入
message JNInput {
optional string message = 1;
}
// ---------------------- 状态同步 --------------------------
// 状态数据
message JNStateData{
optional bytes data = 2; //数据
}
// 更新状态
message JNStateItemData{
int32 NetID = 1; //同步Id
map<uint64 ,JNStateData> messages = 2; //状态bytes
}
// 全量状态
message JNStateAllData{
repeated JNStateItemData data = 2; //数据
}
// --------------------- 状态Tile同步 -----------------------
// 状态Tile输入
message JNStateTileInputs{
int32 tId = 1; //区块Id
JNFrameInputs message = 2; //inputs
}
// Tile更新全量状态
message JNStateTileAllData{
int32 tId = 1; //区块Id
JNStateAllData data = 2;
}
// 获取指定区块的全量数据
message NSyncTileGetTileInfoRequest{
int32 tId = 1; //区块Id
}
//Tile服务器区块信息
message JNAddTileServer{
int32 tile = 1; //TileId
string ip = 2; //IP
int32 port = 3; //端口
bool master = 4; //是否是主服务器
}