game2006go/server/imserver/proto/cs_proto.proto

376 lines
6.9 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 = "proto2";
package cs;
option go_package = ".;cs";
/*
约定:
CM前缀客户端发给服务器的消息(client message)
SM前缀服务器发给客户的的消息(server message)
MF前缀消息的内嵌字段只能作为其他消息的内嵌字段不能send(message field)
_e后缀枚举类型
_uniid后缀唯一id
union_前缀联合体
_前缀该字段仅服务器使用客户端无需处理
网络包格式msghead + msgbody
msghead: packagelen + msgid + seqid + magiccode + reserved = 2 + 2 + 4 + 2 + 2 = 12字节
msgbody protobuf数据
msghead说明
packagelenunsigned short 双字节网络包长度,
msgid(unsigned short): 双字节消息id
seqid(unsigned int): 4字节序号id
magiccode(unsigned short): 2字节魔数并且为固定常数KS占位符客户端不需什么处理
reserved(unsigned short): 保留
十六进制位运算数据表示法
0x01 == 1<<0
0x02 == 1<<1
0x04 == 1<<2
*/
//常量
enum Constant_e
{
ProtoVersion = 2023051601; //系统版本
}
//心跳
message CMPing
{
}
message SMPing
{
optional int32 param1 = 1;
optional int32 source = 2 [default = 0]; //0:tcp 1:udp
}
//rpc调用错误
message SMRpcError
{
optional int32 error_code = 1;
optional string error_msg = 2;
optional string debug_msg = 3;
optional string file = 4;
optional int32 lineno = 5;
optional int32 error_param = 6;
}
//int32键值对
message MFPair
{
optional int32 key = 1; //key
optional int32 value = 2; //val
}
//int64键值对
message MFPair64
{
optional int64 key = 1; //key
optional int64 value = 2; //val
}
//int32元组
message MFTuple
{
repeated int32 values = 1; //values
}
//string元组
message MFTupleString
{
repeated string values = 1; //values
}
//登录
message CMLogin
{
optional int32 server_id = 1; //保留
optional string team_uuid = 2; //保留
optional string account_id = 3; //账号id
optional int32 proto_version = 5; //协议版本号Constant_e.ProtoVersion
optional string session_id = 20; //账号id
}
//登录回复
message SMLogin
{
optional string server_info = 1; //服务器信息(重连时使用)
optional string account_id = 2;
}
//断线重连
message CMReconnect
{
optional int32 server_id = 1; //保留
optional string team_uuid = 2; //保留
optional string account_id = 3; //账号id
optional string session_id = 4; //session_id
optional string room_uuid = 5; //房间唯一id
optional string server_info = 6; //服务器信息
}
//断线重连回复
message SMReconnect
{
optional int32 errcode = 1; //错误码 0成功 1:重连失败
optional string errmsg = 2; //错误描述
}
// 请求搜索用户
message CMSearchUser
{
optional string search_keyword = 1; //搜索文本关键字
}
// 回复搜索用户
message SMSearchUser
{
repeated MFUser users = 1;
}
// 请求搜索用户 CMSearchUserByAccountId
message CMSearchUserByAccountId
{
optional string search_keyword = 1; //搜索account id
}
// 回复搜索用户
message SMSearchUserByAccountId
{
optional string account_id = 1;
optional string username = 2;
}
// 请求发送添加好友请求
message CMAddFriendRequest
{
optional string target_account_id = 1; // 账号id
}
// 回复发送添加好友请求
message SMAddFriendRequest
{
optional string reason = 1;
optional string status = 2;
}
// 请求接受好友请求
message CMAcceptFriendRequest
{
optional string target_account_id = 1; // 账号id
}
// 回复接受好友请求
message SMAcceptFriendRequest
{
optional string reason = 1;
optional string status = 2;
}
// 请求拒绝好友请求
message CMRejectFriendRequest
{
optional string target_account_id = 1; // 账号id
}
// 回复拒绝好友请求
message SMRejectFriendRequest
{
optional string reason = 1;
optional string status = 2;
}
// 请求等待验证的好友请求
message CMListPendingFriendRequest
{
}
// 回复等待验证的好友请求
message SMListPendingFriendRequest
{
repeated MFPendingFriendRequest pendingFriendRequest = 1;
}
// 请求我的好友列表
message CMListFriend
{
}
// 回复我的好友列表
message SMListFriend
{
repeated MFUser users = 1;
}
// 请求删除好友
message CMDeleteFriendShip
{
optional string target_account_id = 1; // 账号id
}
// 回复删除好友
message SMDeleteFriendShip
{
optional string reason = 1;
optional string status = 2;
}
message MFUser {
optional string account_id = 1;
optional string username = 2;
}
message MFPendingFriendRequest {
optional string account_id = 1;
optional bool flag = 2;
}
// 请求公会信息
message CMGuildInfo
{
}
// 回复公会信息
message SMGuildInfo
{
optional MFGuild curr_guild = 1;
repeated MFGuild random_guilds = 2;
}
// 请求创建公会
message CMCreateGuild
{
optional string name = 1;
}
// 回复创建公会
message SMCreateGuild
{
optional int64 guild_id = 1;
optional string err_msg = 2;
}
// 请求申请加入公会
message CMApplyToGuild
{
optional int64 guild_id = 1;
}
// 回复创建公会
message SMApplyToGuild
{
optional string err_msg = 1;
}
// 请求批准申请加入公会
message CMApprove
{
optional int64 guild_id = 1;
optional string applicant_account_id = 2;
}
// 回复批准申请加入公会
message SMApprove
{
optional string err_msg = 1;
}
// 请求批准申请加入公会
message CMReject
{
optional int64 guild_id = 1;
optional string applicant_account_id = 2;
}
// 回复批准申请加入公会
message SMReject
{
optional string err_msg = 1;
}
// 请求离开公会
message CMLeaveGuild
{
optional int64 guild_id = 1;
}
// 回复离开公会
message SMLeaveGuild
{
optional string err_msg = 1;
}
// 请求开除成员
message CMDismissMember
{
optional int64 guild_id = 1;
optional string dismissAccountId = 2;
}
// 回复开除成员
message SMDismissMember
{
optional string err_msg = 1;
}
// 请求提升成员为干部
message CMPromoteMember
{
optional int64 guild_id = 1;
optional string PromoteAccountId = 2;
}
// 回复提升成员为干部
message SMPromoteMember
{
optional string err_msg = 1;
}
// 请求解除成员干部身份
message CMDemoteMember
{
optional int64 guild_id = 1;
optional string DemoteAccountId = 2;
}
// 回复解除成员干部身份
message SMDemoteMember
{
optional string err_msg = 1;
}
// 请求解散公会
message CMDisband
{
optional int64 guild_id = 1;
}
// 回复解散公会
message SMDisband
{
optional string err_msg = 1;
}
// 请求搜索公会
message CMSearchGuilds
{
optional string keyword = 1;
}
// 回复搜索公会
message SMSearchGuilds
{
repeated MFGuild guilds = 1;
}
message MFGuild {
optional int64 guild_id = 1;
optional string name = 2;
optional string leader_id = 3;
optional int32 members = 4;
optional int32 max_members = 5;
}