ro-webgl/ProtocolGen/proto/crossserver.proto
2021-12-21 09:40:39 +08:00

171 lines
8.0 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto3";
package serverproto;
import "user.proto";
//该proto下文件会使用router节点进行转发
///////////////局部跨服 section cross
//远航试炼
message SSCrossYuanHangTrialViewListReq { //project crossserver //RouteRule crossserver
}
message SSCrossYuanHangTrialViewListAck { //project game
int32 error = 1;
repeated YuanHangTrialData trial_view_list = 2; //界面上可视列表
}
message SSCrossYuanHangTrialSelfReq { //project crossserver //RouteRule crossserver
uint64 self_uid = 1; //获取自身当前的远航数据(有可能已经结束)
//意外情况下导致远航没有出现在跨服,在每次获取自身数据时重新设置一遍
int32 trial_type = 2;
uint64 end_time_stamp = 3;
FightRoleInfo self_fight_info = 4;
int32 duration_time = 5; //持续时间(分钟)
}
message SSCrossYuanHangTrialSelfAck { //project game
YuanHangTrialData self_info = 1; //自身远航数据(和玩家个人保存数据有区别)
}
//发起远航试炼
message SSCrossYuanHangTrialReq { //project crossserver //RouteRule crossserver
int32 trial_type = 1;
uint64 end_time_stamp = 2;
FightRoleInfo self_fight_info = 3;
int32 duration_time = 4; //持续时间(分钟)
}
message SSCrossYuanHangTrialAck {
}
//远航试炼挑战
message SSCrossYuanHangTrialChallengeReq { //project crossserver //RouteRule crossserver
uint64 challenge_uid = 1;
uint64 challenge_uid_end_time = 2;
int32 be_challenge_max_num = 3; //最大被挑战次数
}
message SSCrossYuanHangTrialChallengeAck { //project game
int32 error = 1; //错误码
uint64 challenge_uid = 2;
uint64 challenge_uid_end_time = 3;
FightRoleInfo fight_info = 5; //被挑战玩家战斗数据
}
//变更列表通知
message SSCrossYuanHangTrialViewNtf { //project social|game
repeated YuanHangTrialData trial_view_list = 1; //界面上可视列表
}
//挑战结果通知
message SSCrossYuanHangTrialChallengeResultReq { //project crossserver //RouteRule crossserver
uint64 challenged_uid = 1;
uint64 challenged_uid_end_time = 2;
int32 fight_time = 3; //战斗持续时间(判断合法性)
bool win = 4;
string self_nick_name = 5; //玩家自己昵称
int32 self_zone = 6; //顽疾自己所在区服ID
FightRoleInfo fight_info = 7; //挑战玩家战斗数据
}
message SSCrossYuanHangTrialChallengeResultAck { //project game
int32 error = 1; //错误码
bool win = 2;
int32 ship_trial_level = 3; //远航试炼登记
YuanHangTrialLogData log_data = 4; //有则添加到自身记录中
}
//远航试炼排行榜积分更新
message SSCrossYuanHangTrialUpdateRankScoreNtf { //project crossserver //RouteRule crossserver
uint64 uid = 1;
uint64 rank_score = 2;
}
//获取远航试炼排行榜
message SSCrossYuanHangTrialRankListReq { //project crossserver //RouteRule crossserver
uint64 uid = 1;
int32 start_idx = 2;
}
message SSCrossYuanHangTrialRankListAck { //project game
int32 start_idx = 1;
uint32 self_rank = 2; //自身排名
uint64 self_score = 3; //自身积分
uint32 total_rank = 4; //当前参加排名的人数
repeated CommonRankInfo rank_list = 5;
}
//被挑战日志通知
message SSCrossYuanHangTrialLogNtf { //project social|game|db
uint64 ntf_uid = 1;
YuanHangTrialLogData log_data = 2; //有则添加到自身记录中
}
//查询飞艇信息
message SSCrossYuanHangTrialInfoReq { //project crossserver //RouteRule crossserver
uint64 trial_uid = 1;
uint64 trial_end_time = 2;
}
message SSCCrossYuanHangTrialInfoAck { //project game
int32 error = 1;
YuanHangTrialData trial_data = 2;
string nick_name = 3;
}
//跨服-巅峰爬塔
//排行榜按照最大战力/阵容数据实时刷新(不是最大战力时的阵容)
message SSCrossRankUpdateNtf { //project crossrank //RouteRule crossrank
uint64 self_max_fight_power = 1;
FightRoleInfo fight_info = 2; //挑战玩家战斗数据
}
//进入巅峰之塔玩家阵容信息更新
message SSCrossRankFightInfoUpdateNtf { //project crossrank //RouteRule crossrank
FightRoleInfo fight_info = 1; //挑战玩家战斗数据
}
//巅峰之塔匹配玩家
message SSCrossTopTowerMatchFightReq { //project crossrank //RouteRule crossrank
// repeated KeyValueTypeList match_list = 1; //1-10层匹配参数
}
message SSCrossTopTowerMatchFightAck { //project game
int32 error = 1;
repeated TopTowerFightRoleInfo fight_info_list = 2; //挑战玩家战斗数据
}
//买路排行榜通知
message SSCrossTopTowerForceWinRankUpdateNtf { //project crossrank //RouteRule crossrank
uint64 fight_uid = 1;
}
//获取买路排行榜
message SSCrossTopTowerForceWinRankListReq { //project crossrank //RouteRule crossrank
uint64 uid = 1;
int32 start_idx = 2;
}
message SSCrossTopTowerForceWinRankListAck { //project game
int32 start_idx = 1;
uint32 self_rank = 2; //自身排名
uint64 self_score = 3; //自身积分
uint32 total_rank = 4; //当前参加排名的人数
repeated CommonRankInfo rank_list = 5;
}
//该proto下文件会使用router节点进行转发
///////////////全局跨服global cross
//角色进入地图选择合适的AOI节点由玩家决定进入哪个线
message SSGCrossMapPlayerEnterReq { //project gcrossmap //RouteRule gcrossmap
int32 aoi_line = 1; //选择进入的地图
}
message SSGCrossMapPlayerEnterAck {
int32 error = 1; //错误码
Position pos = 2;
string aoi_node = 3; //选择的AOI服务器节点
}
message SSGCrossMapPlayerLeaveReq {
Position pos = 1;
}
message SSGCrossMapPlayerLeaveAck {
}
message SSGCrossMapPlayerLeaveNtf {
repeated Player players = 1;
}
//客户端1s内发送的位置同步包
message SSGCrossMapPlayerSyncPosReq {
Position pos = 1;
}
message SSGCrossMapPlayerSyncPosNtf {
repeated Player players = 1;
}
//移动的速度,方向
message SSGCrossMapPlayerMoveReq {
Position velocity = 1;
float speed = 2;
}