-- 用户相关协议 2000~2999 local proto_struct = [[ # 玩家基础信息 .DataUserBaseInfo { uid 0: integer # 玩家uid nickname 1: string # 玩家昵称 level 2: integer # 等级 vipLevel 3: integer # 贵族等级 city 4: string # 城市 registerVersion 5: string # 注册版本 phone 6: string # 绑定的手机号码 rechargeNum 7: integer # 充值额度(22年3月15日 后端豪哥讲后面不再维护这个字段) activeDays 8: integer # 活跃天数 groupList 9: *string # 分群配置列表 } # 玩家时间信息 .DataUserTimeInfo { sysTime 0: integer # 服务器时间 debugTime 1: integer # 调试时间(固定) } # 实名认证信息 .DataIdentity { iType 0: integer # 实名认证类型(1:嘉米 2:渠道) jmName 1: string # 名称 jmCard 2: string # 身份证 jmBirthDate 3: string # 嘉米出生年月日格式 ‘20060601’ chBirthDate 4: string # 渠道出生年月日格式 ‘20060601’ } # 防沉迷信息 .DataAntiAddiction { isRealName 0: boolean # 是否已实名认证 gameEndTime 1: integer # 游戏结束时间戳(游戏时长限制,空:不限制) limitLoginMinutes 2: integer # 总在线时间的限制分钟数(单位分钟) daysResetTime 3: integer # 重置总游戏时长间隔天数 limitHourRange 4: *integer # 可游戏时间范围(单位:小时,24小时制)(空:不限制) limitEnablePay 5: boolean # 限制,是否可付费(空:不限制) limitDayOrderMoney 6: integer # 限制金额,日单笔支付金额(单位:分, 空:不限制) limitMonthMoney 7: integer # 限制金额,月累计支付金额(单位:分, 空:不限制) } # 行为次数统计信息 .DataTimesInfo { signMaxSerial 0: integer # 最高连续签到次数 signTotal 1: integer # 累计签到次数 signSerial 2: integer # 当前连续签到次数 gamePassLevel 3: integer # 通过等级 adTotal 4: integer # 广告次数 } ]] local proto_c2s = [[ # 获取自己的信息 user_self_info 2000 { request { uid 0: integer idInfo 1: DataIdentity # 实名认证信息 } response { code 0: integer baseInfo 1: DataUserBaseInfo # 基础信息 } } #连接保活 user_keepalive 2004 { request { } response { systemTime 0: integer } } ]] local proto_s2c = [[ # 玩家系统信息 on_user_system_info 2050 { request { sheildList 0: *integer # 功能ID列表 antiInfo 1: DataAntiAddiction # 防沉迷信息 timesInfo 2: DataTimesInfo # 行为次数统计信息 abValue 3: *string # AB分群值 shareCode 4: string # 分享码 uidBanding 5: integer # 绑定玩家ID payInfo 6: DataPayInfo # 支付信息 battleTimesInfoList 7: *DataBattleTimes # 战斗统计信息 dayBattleTimesInfoList 8: *DataBattleTimes # 当天战斗统计信息 goodsPayInfoList 9: *DataGoodsPay # 商品支付信息列表 activeModuleList 10: *integer # 激活功能ID列表 } } # 玩家状态 on_server_code 2051 { request { code 0: integer # 值为497时是被顶号了,不要自动连接 freezeEndTime 1: integer # 封号结束时间 code = 602 bannedEndTime 2: integer # 禁言结束时间 code = 603 } } ]] local proto = { c2s = proto_struct .. proto_c2s, s2c = proto_struct .. proto_s2c } return proto