relation/server/tools/protobuild/cs_proto.proto
aozhiwei ed0f3dfbac 1
2021-07-08 19:17:47 +08:00

857 lines
22 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.

package cs;
//常量
enum Constant_e
{
ProtoVersion = 2020061101; //协议版本
}
//心跳(每60秒上报)
message CMPing
{
}
message SMPing
{
optional int32 param1 = 1;
}
//string元组
message MFStringTuple
{
repeated string values = 1; //values
}
//int32 pair
message MFPairInt32
{
optional int32 key = 1; //key
optional int32 val = 2; //val
}
//int64 pair
message MFPairInt64
{
optional int64 key = 1; //key
optional int64 val = 2; //val
}
//分页信息
message MFPaging
{
optional int32 curr_page = 1; //当前页第一页是0
optional int32 page_size = 2; //每页记录数
optional int32 _total_page = 3; //总页数(服务器填充该字段)
optional int32 _total_count = 4; //总记录数(服务器填充该字段)
}
//用户基础数据(可用于缓存除下划线开头的字段会存储到db)
message MFBaseUserData
{
optional string account_id = 1; //账号id
optional string nickname = 2; //昵称
optional string avatar_url = 3; //头像
optional int32 sex = 4; //性别 1男 2女 0未知
optional int32 last_login_time = 5; //最后登录时间
optional int64 guild_id = 6; //工会id(没有公会的话为0)
optional int32 guild_job = 7; //公会职位 1:公会长 2:副公会长 3精英成员 其他(0):普通会员
optional int32 vip_lv = 8 [default = 0]; //性别
optional int32 head = 9 [default = 0]; //头像框
optional int32 contribute = 10 [default = 0]; //贡献度
optional int64 user_value1 = 50; //用户字段1
optional int64 user_value2 = 51; //用户字段2
optional int64 user_value3 = 52; //用户字段3
optional int64 base_data_version = 100; //数据版本号
optional int32 _online = 101; //是否在线
}
//临时用户自定义数据(不会存储每次上/下线时时都重置为0)
message MFUserTempCustomData
{
optional int64 value1 = 1 [default = 0]; //自定义字段1
optional int64 value2 = 2 [default = 0]; //自定义字段2
optional int64 value3 = 3 [default = 0]; //自定义字段3
}
//账号信息(自己)
message MFAccountInfo
{
optional MFUserInfo user_info = 1; //用户数据
optional string user_sign = 2; //用户签名用于接口确权
}
//用户信息
message MFUserInfo
{
optional MFBaseUserData base_data = 1; //基础数据
optional MFUserTempCustomData temp_custom_data = 2; //临时用户自定义数据
optional int32 is_sys_user = 3; //是否系统用户(主要在聊天时判断)
}
//用户状态
message MFUserStatus
{
optional string account_id = 1; //账号id
optional int32 _online = 2; //是否在线
optional MFUserTempCustomData temp_custom_data = 3; //临时用户自定义数据
}
//好友申请
message MFFriendApply
{
optional int64 idx = 1; //唯一索引id
optional int64 applyid = 2; //applyid
optional string target_id = 3; //target_id
optional MFBaseUserData base_data = 4; //基础数据
}
//公会申请
message MFGuildApply
{
optional int64 idx = 1; //唯一索引id
optional int64 applyid = 2; //applyid
optional int64 guild_id = 3; //guild_id
optional MFBaseUserData base_data = 4; //基础数据
}
//公会基本信息
message MFGuildBasic
{
optional int64 guild_id = 1; //公会id
optional string guild_name = 2; //公会名
optional int32 guild_lv = 3; //公会等级
optional double guild_exp = 4; //公会经验
optional int32 guild_badge = 5; //公会徽章
optional int32 member_num = 6; //公会成员数
optional string guild_declaration = 7; //公会宣言
optional string owner_id = 8; //公会队长id
optional string owner_name = 9; //公会队长名字
optional string owner_avatar_url = 10; //公会队长头像
optional int32 owner_sex = 23; //公会队长性别
optional int32 owner_vip_lv = 12 [default = 0]; //vip等级
optional int32 owner_head = 13 [default = 0]; //头像框
optional int32 join_unlimited = 11; //不限制加入
optional int32 join_cond1 = 20; //加入条件1
optional int32 join_cond2 = 21; //加入条件2
optional int32 applyed = 22; //是否已申请
optional int32 _gameid = 100; //gameid
optional int32 _channel = 101; //channel
optional int32 _createtime = 102; //createtime
optional int32 _modifytime = 103; //modifytime
optional int64 _name_ext1 = 104; //name_ext1
optional int64 _name_ext2 = 105; //name_ext2
optional int64 _guild_status = 106; //guild_status
}
//聊天消息
message MFChatMsg
{
/*
消息唯一id递增序列,客户端可以用chat_channel + msg_uuid作为主键
!!!不同的频道msg_uuid可能重复
*/
optional int64 msg_uuid = 1;
optional MFUserInfo sender = 2; //发送者
optional MFUserInfo receiver = 3; //接收者
optional int32 chat_channel = 4; //聊天频道
optional int32 msg_type = 5; //消息类型 0文本消息(json) 1自定义协议 (json) 2:纯文本(但是任会做屏蔽字替换)
optional string msg_body = 6; //消息内容(json类型里的字段!开头的会做屏蔽替换)
optional int32 send_time = 7; //消息发送时间
}
//登录好友服
message CMLoginCommonHead
{
optional int32 server_id = 1; //保留
}
message CMLoginOld
{
optional string account_id = 3; //账号id
optional string session_id = 20; //sessionid
optional string nickname = 4; //昵称
optional string avatar_url = 5; //头像
optional int32 sex = 6; //性别
}
message CMLogin
{
optional int32 server_id = 1; //保留(定死传1)
optional string reserved2 = 2; //保留
optional string account_id = 3; //账号id
optional string session_id = 20; //sessionid
optional string nickname = 4; //昵称
optional int32 proto_version = 5; //协议版本号Constant_e.ProtoVersion
optional int32 sex = 6; //性别
optional string avatar_url = 7; //头像
optional int32 vip_lv = 8; //性别
optional int32 head = 9; //头像框
}
//登录回复
message SMLogin
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
optional MFAccountInfo account_info = 3; //账号信息
}
//更新用户信息(增量更新,不需更新的字段不传即可)
message CMUpdateUserInfo
{
optional string nickname = 2; //昵称
optional string avatar_url = 3; //头像
optional int32 sex = 4; //性别 1男 2女 0未知
optional int32 vip_lv = 8; //性别
optional int32 head = 9; //头像框
optional int32 contribute = 10; //贡献度
optional int64 user_value1 = 50; //用户字段1
optional int64 user_value2 = 51; //用户字段2
optional int64 user_value3 = 52; //用户字段3
optional int32 delay_time = 100; //延迟更新(单位毫秒)
optional int32 delay_flag = 101; //延迟更新标志(只能为1-16)相同的flag定时器覆盖
}
//屏蔽字检查
message CMDirtyWordCheck
{
optional string text = 2; //待检查文本
}
//屏蔽字检查回复
message SMDirtyWordCheck
{
optional int32 errcode = 1; //错误消息
optional string errmsg = 2; //错误消息
}
//获取自己的公会信息
message CMGetUserGuild
{
optional string account_id = 1; //用户id传空或不传获取自己
}
//获取自己
message SMGetUserGuild
{
optional int32 errcode = 1; //1:公会不存在
optional string errmsg = 2; //错误消息
optional string account_id = 3; //用户id传空或不传获取自己
optional int64 guild_id = 4; //工会id(没有公会的话为0)
optional int32 guild_job = 5; //公会职位 1:公会长 2:副公会长 3精英成员 其他(0):普通会员
}
//获取好友列表
message CMFriendList
{
}
//好友列表回复
message SMFriendList
{
optional int32 errcode = 1; //错误消息
optional string errmsg = 2; //错误消息
repeated MFUserInfo friend_list = 3; //好友列表
}
//好友申请
message CMFriendApply
{
optional string friend_id = 1; //好友id
optional string msg = 2; //消息
}
//好友申请回复
message SMFriendApply
{
optional int32 errcode = 1; //1:已经是好友
optional string errmsg = 2; //消息描述
}
//获取好友申请列表
message CMFriendApplyList
{
optional MFPaging paging = 1; //分页信息
}
//获取好友申请列表回复
message SMFriendApplyList
{
optional int32 errcode = 1; //
optional string errmsg = 2; //错误消息
optional MFPaging paging = 3; //分页信息回传
repeated MFFriendApply apply_list = 4; //申请加好友列表
}
//同意申请
message CMFriendAgree
{
optional MFFriendApply apply = 1; //申请信息
}
//同意申请回复
message SMFriendAgree
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误消息
}
//拒绝好友申请
message CMFriendRefuse
{
optional MFFriendApply apply = 1; //申请信息
}
//拒绝好友申请回复
message SMFriendRefuse
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误消息
}
//删除好友
message CMFriendDelete
{
optional string friend_id = 1; //好友id
}
//删除好友回复
message SMFriendDelete
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误消息
optional string friend_id = 3; //好友id
}
//获取黑名单
message CMFriendBlackList
{
}
//获取黑名单回复
message SMFriendBlackList
{
repeated MFUserInfo black_list = 1; //黑名单
}
//添加黑名单
message CMFriendAddBlack
{
optional MFUserInfo user_info = 1; //好友信息
}
//添加黑名单回复
message SMFriendAddBlack
{
optional int32 errcode = 1; //
optional string errmsg = 2; //错误消息
}
//删除黑名单
message CMFriendDeleteBlack
{
optional string account_id = 1; //好友id
}
//删除黑名单回复
message SMFriendDeleteBlack
{
optional int32 errcode = 1; //
optional string errmsg = 2; //错误消息
}
//获取好友/黑名单id列表
message CMFriendIdList
{
}
//获取好友/黑名单id列表回复
message SMFriendIdList
{
optional int32 errcode = 1; //
optional string errmsg = 2; //错误消息
repeated string friends = 3; //好友
repeated string blacklist = 4; //黑名单
}
//建群
message CMTeamCreate
{
optional string team_name = 1; //群名称
}
//建群返回
message SMTeamCreate
{
optional int32 errcode = 1; //1:群已存在 2: 你已经有群
optional string errmsg = 2; //错误消息
}
//加群
message CMTeamJoin
{
optional int64 team_id = 1; //群id
}
//加群返回
message SMTeamJoin
{
optional int32 errcode = 1; //1:群id不存在 2:群已满
optional string errmsg = 2; //错误消息
}
//同意加群
message CMTeamAgree
{
}
message SMTeamAgree
{
optional int32 errcode = 1;
optional string errmsg = 2;
}
//踢人
message CMTeamKick
{
optional string account_id = 1;
}
//踢人回复
message SMTeamKick
{
optional int32 errcode = 1; //1:群id错误
optional string errmsg = 2; //错误消息
}
//退群
message CMTeamQuit
{
}
message SMTeamQuit
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误消息
}
//解散群
message CMTeamDismiss
{
}
message SMTeamDismiss
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
}
//群改名
message CMTeamRename
{
optional string new_team_name = 1; //新群名
}
message SMTeamRename
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
}
//获取公会信息
message CMGuildInfo
{
optional int64 guild_id = 1; //公会id
}
//获取公会信息返回
message SMGuildInfo
{
optional int32 errcode = 1; //1:公会不存在
optional string errmsg = 2; //错误消息
optional MFGuildBasic info = 3; //公会信息
}
//建公会
message CMGuildCreate
{
optional string guild_name = 1; //公会名字
optional int32 guild_badge = 2; //公会徽标
optional string guild_declaration = 3; //公会徽标
optional int32 join_unlimited = 4; //不限制加入
optional int32 join_cond1 = 5; //加入条件1
optional int32 join_cond2 = 6; //加入条件2
}
//建公会返回
message SMGuildCreate
{
optional int32 errcode = 1; //1:公会已存在 2: 你已经有公会
optional string errmsg = 2; //错误消息
optional int64 guild_id = 3; //公会id
}
//加公会
message CMGuildJoin
{
optional int64 guild_id = 1; //公会id
}
//加群返回
message SMGuildJoin
{
optional int32 errcode = 1; //1:公会id不存在 2:公会已满
optional string errmsg = 2; //错误消息
}
//同意加公会
message CMGuildAgree
{
optional MFGuildApply apply = 1; //申请信息
optional int32 batchid = 2; //批次号批量的时候id相同建议用时间戳
}
message SMGuildAgree
{
optional int32 errcode = 1;
optional string errmsg = 2;
}
//拒绝加公会申请
message CMGuildRefuse
{
optional MFGuildApply apply = 1; //申请信息
optional int32 batchid = 2; //批次号批量的时候id相同建议用时间戳
}
message SMGuildRefuse
{
optional int32 errcode = 1;
optional string errmsg = 2;
}
//踢人
message CMGuildKick
{
optional string account_id = 1;
}
//踢人回复
message SMGuildKick
{
optional int32 errcode = 1; //1:群id错误
optional string errmsg = 2; //错误消息
}
//退公会
message CMGuildQuit
{
}
message SMGuildQuit
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误消息
}
//解散公会
message CMGuildDismiss
{
}
message SMGuildDismiss
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
}
//修改公会信息(增量更新不需要修改的字段不传)
message CMGuildChange
{
optional string guild_name = 1; //公会名字
optional int32 guild_badge = 2; //公会徽标
optional string guild_declaration = 3; //公会徽标
optional int32 join_unlimited = 4; //不限制加入
optional int32 join_cond1 = 5; //加入条件1
optional int32 join_cond2 = 6; //加入条件2
}
message SMGuildChange
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
optional MFGuildBasic info = 3; //公会信息
}
//查询公会
message CMGuildSearch
{
optional MFPaging paging = 1; //分页信息
optional string guild_name = 2; //公会名字
}
message SMGuildSearch
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
optional MFPaging paging = 3; //分页信息
repeated MFGuildBasic guild_list = 4; //公会列表
}
//公会排行榜
message CMGuildRank
{
optional MFPaging paging = 1; //分页信息
}
message SMGuildRank
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
optional MFPaging paging = 3; //分页信息
repeated MFGuildBasic guild_list = 4; //公会列表
}
//公会成员
message CMGuildMemberList
{
optional MFPaging paging = 1; //分页信息
optional string member_name = 2; //成员名字
}
message SMGuildMemberList
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
optional MFPaging paging = 3; //分页信息
repeated MFUserInfo member_list = 4; //公会成员列表
optional int32 guild_lv = 5; //公会等级
}
//获取公会申请列表
message CMGuildApplyList
{
optional MFPaging paging = 1; //分页信息
}
//获取公会申请列表回复
message SMGuildApplyList
{
optional int32 errcode = 1; //
optional string errmsg = 2; //错误消息
optional MFPaging paging = 3; //分页信息回传
repeated MFGuildApply apply_list = 4; //申请加公会友列表
optional int32 guild_lv = 5; //公会等级
}
//公会动态(日志)
message CMGuildLog
{
optional MFPaging paging = 1; //分页信息
}
message SMGuildLog
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
optional MFPaging paging = 3; //分页信息
/*
values[0]: account_id
values[1]: 角色名
values[2]: 职位 1:队长 2:副队长 3:精英会员 其他(0):普通会员
values[3]: 行为时间(unix时间戳)
values[4]: 行为
*/
repeated MFStringTuple logs = 4;
}
//设置公会成员职位
message CMGuildMemberSetJob
{
optional string member_id = 1; //成员id
optional int32 job = 2; //职位
}
message SMGuildMemberSetJob
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
}
//同意邀请
message CMGuildAgreeInvite
{
optional int64 guild_id = 1; //公会id
optional string user_sign = 2; //邀请方签名
}
message SMGuildAgreeInvite
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
}
//新增公会经验
message CMGuildGainExp
{
optional int32 exp = 1; //检验值
}
message SMGuildGainExp
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
}
//查询公会成员信息
message CMGuildSearchMember
{
optional string target_id = 1; //账号id
}
message SMGuildSearchMember
{
optional int32 errcode = 1; //错误码
optional string errmsg = 2; //错误信息
optional MFGuildBasic guild_basic = 3; //公会基本信息
optional MFUserInfo user_info = 4; //用户信息
}
//发送聊天消息
message CMSendChatMsg
{
optional int32 chat_channel = 1; //聊天频道 1: 世界 2好友 3战队 4:小队这时target表示队伍Id 5大喇叭 6跑马灯只能收不能发
optional string target = 2; //目标
optional int32 msg_type = 3; ////消息类型 0文本消息(json) 1自定义协议 (json) 2:纯文本(但是任会做屏蔽字替换)
optional string msg_body = 4; //消息内容
repeated string members = 5; //小队成员列表(包含自己)
}
//读取聊天消息列表并且开启聊天通知
message CMReadMsgAndOpenChatNotify
{
optional int32 curr_channel = 1; //当前频道
repeated MFPairInt64 last_ids = 2; //所有频道 key聊天频道 val该频道最后一次收到的消息id
}
//设置当前私聊目标
message CMSetCurrPrivateChatTarget
{
optional string private_target = 1; //私聊对象id, 只有当前聊频道是私聊时字段才有意义
optional int64 last_id = 2; //最后收到想消息id
}
//关闭聊天通知
message CMCloseChatNotify
{
}
//发送自定义消息
message CMSendCustomMsg
{
repeated string target_list = 1; //目标列表
optional string msg = 2; //消息内容
optional int64 param1 = 3; //透传参数1
optional int64 param2 = 4; //透传参数2
optional int64 param3 = 5; //透传参数3
}
//更新临时自定义数据
message CMUpdateTempCustomData
{
/*
更新方式
0: 覆盖
1: 用新数据和服务器数据做或运算
2: 用新数据和服务器数据做与运算
!!!注意
MFUserRaltimeData走的是增量更新如果不需要处理的字段不传就行
服务器对未传的自动不做任何处理
*/
optional int32 update_type = 1; //更新方式
optional MFUserTempCustomData temp_custom_data = 2; //临时自定义数据
optional int32 delay_time = 100; //延迟更新(单位毫秒)
optional int32 delay_flag = 101; //延迟更新标志(只能为1-16)相同的flag定时器覆盖
}
//查询用户状态
message CMQueryUserStatus
{
repeated string user_list = 1; //用户列表
}
//查询用户状态返回
message SMQueryUserStatus
{
repeated MFUserStatus status_list = 1; //用户状态列表
}
//获取推荐好友
message CMRecommandFriend
{
}
//获取推荐好友返回
message SMRecommandFriend
{
repeated MFUserInfo friend_list = 1; //好友列表
}
//用户上/下线通知
message SMUserStatusNotify
{
repeated string online_users = 1; //上线用户
repeated string offline_users = 2; //下线用户
}
//聊天消息通知
message SMChatMsgNotify
{
repeated MFChatMsg msg_list = 1; //消息列表客户端需要根据chat_channel和msg_uuid更新本地的last_ids
}
//发送自定义消息
message SMCustomMsgNotify
{
optional string sender = 1; //发送者
optional string msg = 2; //消息内容
optional int64 param1 = 3; //透传参数1
optional int64 param2 = 4; //透传参数2
optional int64 param3 = 5; //透传参数3
}
//更新用户信息
message SMUserInfoUpdate
{
repeated MFUserInfo user_infos = 1; //用户信息列表
}
//删除好友通知a
message SMDeleteFriendNotify
{
repeated string user_list = 1; //用户列表
}
//新增黑名单
message SMAddBlackListNotify
{
repeated MFUserInfo user_infos = 1; //用户信息列表
}
//删除黑名单通知
message SMDeleteBlackListNotify
{
repeated string user_list = 1; //用户列表
}
//更新用户临时自定义信息
message SMUserTempCustomDataUpdate
{
optional string account_id = 1; //账号id
optional MFUserTempCustomData temp_custom_data = 2; //用户临时自定义数据
}
//更新账号信息通知
message SMUpdateAccountInfo
{
}
//更新红点信息
message SMUpdateRedPointNotify
{
optional int32 red_point_flags = 1; //红点信息 1<<0:好友申请 1<<1:公会申请 1<<2聊天红点
}
//更新聊天红点信息
message SMUpdateChatRedPointNotify
{
repeated int32 has_unread_msg_channels = 1; //含有未读消息的渠道id列表不在列表里的渠道默认不含有
}
//更新私聊红点信息
message SMUpdatePrivateChatRedPointNotify
{
repeated string has_unread_msg_accounts = 1; //有未读消息的账号列表不在列表里的好友more不含有
}
//更新频道最后一次收到的消息id
message SMUpdateChatChannelLastId
{
repeated MFPairInt64 last_ids = 1; //所有频道 key聊天频道 val该频道最后一次收到的消息id
}
//显示飘字
message SMShowErrorMsg
{
optional string msg = 1; //飘字内容
}