huangyuhao 1 anno fa
parent
commit
a68a5bdcde

+ 133 - 0
code.lua

@@ -0,0 +1,133 @@
1
+-- 错误码 和前端共享
2
+
3
+local code = {
4
+    OK = 200, --成功
5
+    UNKNOWN = 400, --未知
6
+    REQUEST_NOT_FOUND = 404, --不支持此请求
7
+    REPLACE_LOGIN = 497, -- 被顶号
8
+    LOGINING = 498, -- 正在登录状态
9
+    NOT_REPEAT_LOGIN = 499, -- 自己顶自己,即重复登录
10
+    TOKEN_AUTH_FAIL = 500, --TOKEN验证失败
11
+    TOKEN_TIMEOUT = 501, --TOKEN超时失效
12
+    PARAMTER_ERROR = 502, --参数错误
13
+    CHANNEL_SHIELD = 503, -- 渠道屏蔽
14
+    VERSION_SHIELD = 504, -- 版本屏蔽
15
+    ACTIVITY_SHIELD = 505, -- 活动屏蔽
16
+    INNER_SERVER_ERROR = 506, -- 服务端内部未知错误
17
+    NOT_FOUND_SERVER = 507, -- 没有找到服务器
18
+    NOT_GRAY_TEST_USER = 508, -- 不是灰度测试用户
19
+    APP_VERSION_LOWER = 509, -- app版本过低
20
+    CONFIG_ERROR = 600, -- 配置错误
21
+    LEVEL_IS_MAX = 601, -- 升级到达上限
22
+    KICK = 602, -- 踢人
23
+    BANNED = 603, -- 禁言
24
+    USR = {
25
+        SIGN_PRIZE_NOT_FOUND = 2001, --救济领取完了
26
+        ALREADY_SIGN = 2002, --已经签到了
27
+        ALREADY_GET_TASK_AWARD = 2003, --已经获取了任务奖励
28
+        LOGIN_PASSWORD_ERROR = 2004, --密码错误
29
+        TASK_NOT_FINISH = 2005, --任务未完成
30
+        ACHIEVEMENT_NOT_FINISH = 2006, --成就未完成
31
+        ALREADY_GET_ACHIEVEMENT_AWARD = 2007, -- 已经领取了成就奖励
32
+        LACK_OF_DIAMOND = 2008, -- 钻石不足
33
+        FORCE_OUT = 2009, -- 账号被封杀!
34
+        ALREADY_REGISTER = 2010, -- 已经注册了的用户
35
+        EXCHANGE_CODE_USED = 2011, -- 兑换码已经使用了
36
+        QUESTION_ALREAY_SUBMIT = 2012, -- 问卷调查已经提交过
37
+        WEB_ACTIVITY_GET_AWARD_FAIL = 2013, -- WEB活动领取奖励失败
38
+        MSG_ALREADY_GET_AWARD = 2014, -- 系统消息奖励已领取
39
+        EXCHANGE_CODE_FAIL = 2015, -- 兑换码错误
40
+        EXCHANGE_ALRAEDY_EXCHANGE = 2016, -- 您已经兑换过该礼包
41
+        EXCHANGE_CODE_TIMEOUT = 2017, -- 兑换码过期
42
+        NOT_EXIST_USER = 2018, -- 不存在此用户
43
+        ALREADY_GET_SHARED_AWARD = 2019, -- 今天已经领取过分享奖励
44
+        MY_FRIEND_CMT_LIMIT = 2020, -- 我的好友数量限制
45
+        FRIEND_CMT_LIMIT = 2021, -- 对方好友数量限制
46
+        FRIEND_APPLY_LIMIT = 2022, -- 对方的好友申请已经达到上限
47
+        NOT_OPPO_MOVE_AWARD = 2023, -- 没有获取领取oppo迁移奖励的机会
48
+        HAS_GET_OPPO_MOVE_AWARD = 2024, -- 已经领取oppo迁移奖励
49
+        OPPO_MOVE_NOT_SUPPORT_CHANNEL = 2025, -- 迁移奖励不支持该渠道
50
+        RED_CODE_NOT_EXISTS = 2026, -- 红包码不存在
51
+        NOT_BIND_WX = 2027, -- 还没有绑定微信
52
+        RED_NOT_ENOUGH = 2028, -- 红包余额不足
53
+        RED_ID_EXISTS = 2029, -- 提现流水号已经存在
54
+        RED_ID_NOT_EXISTS = 2030, -- 提现流水号不存在
55
+        HAS_BIND_WX = 2031, -- 已经绑定微信
56
+        COUPON_NOT_EXISTS = 2032, -- 抵用卷不存在
57
+        COUPON_USING = 2033, -- 抵用卷已经被使用
58
+        COUPON_ORDER_ERROR = 2034, -- 抵用卷解锁订单号不匹配
59
+        VIP_PACKAGE_ALREADY_GET_AWARD = 2035, -- 奖励物品已领取
60
+        VIP_PACKAGE_LEVEL_LIMIT = 2036, -- 等级不足
61
+        VIP_PACKAGE_ITEMS_NOT_FOUND = 2037, -- 奖励物品未配置
62
+        ALREADY_GET_AWARD = 2038, -- 已经领取奖励
63
+        TASK_NOT_DATA = 2039, -- 无任务配置
64
+        ACCOUNT_CANCEL = 2040 -- 账号注销
65
+    },
66
+    ACTIVITY = {
67
+        NOT_FOUND_DATA = 6001, -- 没有活动配置
68
+        NOT_MORE_TIMES = 6002, -- 机会已用完
69
+        TIME_OUT = 6003, -- 活动结束
70
+        ITEMS_NOT_FOUND = 6004, -- 奖励物品未配置
71
+        AWARD_STATUS_ERROR = 6005, -- 领取奖励状态错误
72
+        RECHARGE_NO_ENOUGH = 6006 -- 充值金额不够
73
+    },
74
+    BAG_ITEM_NOT_ENOUGH = 3001, --物品不够
75
+    BAG_ITEM_NOT_EXIST = 3004, -- 道具不存在
76
+    BAG_GRID_NOT_ENOUGH = 3002, -- 背包格子不足
77
+    MAIL_NOT_FOUND = 4001, -- 邮件不存在
78
+    MAIL_NOT_ITEMS = 4002, -- 邮件中没有道具
79
+    MAIL_HAD_GET = 4003, -- 邮件道具已领取
80
+    -- 商店
81
+    SHOP_NOT_FIND_FUNC = 4100, -- 找不到模块方法(服务器错误)
82
+    SHOP_NOT_FIND_SHOP = 4101, -- 找不到模块ID(服务器错误)
83
+    SHOP_NOT_FIND_SHOP_MODULE = 4102, -- 找不到模块(服务器错误)
84
+    SHOP_PROGRESS_NOT_ENOUGH = 4103, -- 进度不满足
85
+    SHOP_GOODS_HAD_BUY = 4104, -- 商品已经购买
86
+    SHOP_GOODS_NOT_EXIST = 4105, -- 商品不存在
87
+    SHOP_GOODS_SELL_OUT = 4106, -- 商品已售罄
88
+    SHOP_REFRESH_COUNT_NOT_ENOUGH = 4107, -- 刷新次数不足
89
+    SHOP = {
90
+        NO_FOUND_ORDER = 4200, --没有发现此订单
91
+        ALREADY_GET_ORDER = 4200 --已经查询过了此订单
92
+    },
93
+    -- 广告
94
+    ADVERTISEMENT = {
95
+        UNFOUNT_POSITION_LIST = 5400, -- 没有广告展示位置配置
96
+        AWARD_TIMES_LIMIT = 5401, -- 无广告领取奖励次数
97
+        AWARD_ALREADY = 5402, -- 奖励已领取
98
+        AWARD_TIMES_NOT_ENOUGHT = 5403, -- 领取奖励次数不足
99
+        AWARD_UNFOUNT = 5404 -- 无奖励配置
100
+    },
101
+    -- 任务
102
+    TASK_NOT_FOUND = 7200, -- 任务不存在
103
+    TASK_STATUS_ERROR = 7201, -- 任务状态错误
104
+    TASK_CONFIG_ERROR = 7202, -- 任务配置错误
105
+    TASK_CHEST_HAD_OPEN = 7203, -- 任务宝箱已开启
106
+    TASK_NEED_RECEIVE = 7204, -- 还有任务需要领取
107
+    TASK_REFRESH_ERROR = 7205, -- 刷新错误
108
+    TASK_NOT_CHANGE_COUNT = 7206, -- 任务变换次数不足
109
+    TASK_REFRESH_CAN_AUTO = 7207, -- 可以自动刷新
110
+    TASK_REFRESH_LIMIT = 7208, -- 今天的刷新次数已达上限
111
+    -- 对战
112
+    BATTLE = {
113
+        IN_BATTLE = 8400, -- 有开始战斗
114
+        OFFLINE = 8401, -- 离线
115
+        MATCHING = 8402, -- 匹配中
116
+        FREE = 8403, -- 空闲
117
+        MAX_APPEND = 8404 -- 挑战队列已满
118
+    },
119
+    -- vip
120
+    VIP_LEVEL_LIMIT = 11000, -- VIP等级限制
121
+    ----------------------------------------
122
+    -- 这里是结束(避免上一行加逗号问题)
123
+    THIS_IS_OVER = 100000000
124
+}
125
+
126
+function code.is_not_ok(errCode)
127
+    if errCode == nil or errCode ~= code.OK then
128
+        return true
129
+    end
130
+    return false
131
+end
132
+
133
+return code

+ 289 - 0
define.lua

@@ -0,0 +1,289 @@
1
+-- 双端常量定义
2
+local m = {}
3
+
4
+-- 商城ID
5
+m.SHOP_ID_CARD = 1 -- 商店卡牌
6
+m.SHOP_ID_FREE_CHEST = 2 -- 商店免费宝箱
7
+m.SHOP_ID_EXPRESSION = 3 -- 商店表情
8
+m.SHOP_ID_DISCOUNT = 4 -- 商店特惠
9
+m.SHOP_ID_SAVINGS = 5 -- 小猪储蓄
10
+m.SHOP_ID_PASS = 6 -- 迷宫通行证
11
+m.SHOP_ID_FRIEND = 7 -- 累计充值
12
+m.SHOP_ID_GOLD_LEAF = 8 -- 金枝木
13
+m.SHOP_ID_SECOND_GIFT = 11 -- 次日赠礼
14
+m.SHOP_ID_FIRST_PAY = 12 -- 首充赠礼
15
+m.SHOP_ID_SIGN = 13 -- 迷宫通行证
16
+m.SHOP_ID_PAY_TOTAL = 14 -- 累计充值
17
+m.SHOP_ID_HUNT = 15 -- 新神巡狩
18
+
19
+-- 广告位ID
20
+m.AD_CHEST_POS_ID = 101 -- 免费宝箱
21
+m.AD_TASK_POS_ID = 102 -- 任务
22
+m.AD_NEW_POS_ID = 103 -- 新人福利
23
+m.AD_GOLD_POS_ID = 104 -- 免费福利领金币
24
+m.AD_DIAMOND_POS_ID = 105 -- 免费福利领钻石
25
+
26
+-- 道具ID
27
+m.ITEM_GOLD_ID = 101 -- 金币
28
+m.ITEM_DIAMOND_ID = 102 -- 宝石
29
+m.ITEM_RMB_ID = 103 -- 人民币
30
+m.ITEM_FRIEND_ID = 104 -- 同心结
31
+m.ITEM_CUPS_ID = 201 -- 奖杯/积分
32
+m.ITEM_EXP_ID = 202 -- 经验
33
+m.ITEM_KEY_ID = 301 -- 钥匙
34
+m.ITEM_CLR1_ID = 401 -- 色块1
35
+m.ITEM_CLR2_ID = 402 -- 色块2
36
+m.ITEM_CLR3_ID = 403 -- 色块3
37
+m.ITEM_CLR4_ID = 404 -- 色块4
38
+m.ITEM_KEY_BUFF = 501 -- 钥匙双倍
39
+m.ITEM_COLOR_BUFF = 502 -- 色块双倍
40
+m.ITEM_CLRFULL_BUFF = 503 -- 色块补满
41
+
42
+m.CLUB_TO_ITEM_LIST = {
43
+    m.ITEM_CLR1_ID,
44
+    m.ITEM_CLR2_ID,
45
+    m.ITEM_CLR3_ID,
46
+    m.ITEM_CLR4_ID
47
+}
48
+
49
+-- 道具类型
50
+m.ITEM_TYPE_CURRENCY = 1 -- 货币
51
+m.ITEM_TYPE_POINT = 2 -- 积分
52
+m.ITEM_TYPE_KEY = 3 -- 钥匙
53
+m.ITEM_TYPE_COLOR = 4 -- 颜色
54
+m.ITEM_TYPE_BUFF = 5 -- 加成
55
+m.ITEM_TYPE_ALBUM = 6 -- 头像
56
+m.ITEM_TYPE_EXPRESSION = 7 -- 表情
57
+m.ITEM_TYPE_TICKET = 8 -- 入场券
58
+m.ITEM_TYPE_PASS = 9 -- 通行证
59
+m.ITEM_TYPE_HERO = 1000 -- 英雄
60
+m.ITEM_TYPE_PUZZLE = 10000 -- 碎片
61
+m.ITEM_TYPE_FRAME = 20000 -- 头像框
62
+m.ITEM_TYPE_CHEST = 30000 -- 宝箱
63
+m.ITEM_TYPE_EQUIP = 40000 -- 装备
64
+m.ITEM_TYPE_STUFF = 50000 -- 材料
65
+m.ITEM_MASTER_CARD_QA_1 = 107 -- 普通万能卡
66
+m.ITEM_MASTER_CARD_QA_2 = 108 -- 稀有万能卡
67
+m.ITEM_MASTER_CARD_QA_3 = 109 -- 史诗万能卡
68
+m.ITEM_MASTER_CARD_QA_4 = 110 -- 传说万能卡
69
+
70
+--万能卡与品质对应表
71
+m.MASTER_VS_QA_LIST = {
72
+    [1] = m.ITEM_MASTER_CARD_QA_1,
73
+    [2] = m.ITEM_MASTER_CARD_QA_2,
74
+    [3] = m.ITEM_MASTER_CARD_QA_3,
75
+    [4] = m.ITEM_MASTER_CARD_QA_0
76
+}
77
+
78
+m.BUY_TYPE_RECHAGE = 4 -- 充值
79
+m.BUY_TYPE_FREE = 6 -- 免费
80
+m.BUY_TYPE_FIRST = 7 -- 首充免费
81
+
82
+-- 整卡兑碎片比例
83
+m.INTACT_TO_PIECEMEAL = 1
84
+-- 卡牌状态 CARD_STATUS
85
+m.CARD_STATUS_INIT = 1 -- 未解锁未获得
86
+m.CARD_STATUS_UNLOCK = 2 -- 已解锁未获得
87
+m.CARD_STATUS_GET = 3 -- 已获得不可出战
88
+m.CARD_STATUS_FIGHT = 4 -- 已获得可出战
89
+m.CARD_STATUS_UPGRADE = 5 -- 已获得可升级
90
+
91
+-- 宝箱最大空位
92
+m.MAX_DROP_CHEST_INDEX = 4
93
+m.MAX_OTHER_CHEST_INDEX = 100
94
+-- 宝箱状态
95
+m.CHEST_STATUS_INIT = 1 -- 不可打开
96
+m.CHEST_STATUS_CAN_OPEN = 2 -- 可打开
97
+m.CHEST_STATUS_HAD_OPEN = 3 -- 已打开
98
+-- 宝箱类型
99
+m.CHEST_TYPE_FIGHT = 1 -- 战斗
100
+m.CHEST_TYPE_COMMON = 2 -- 普通
101
+m.CHEST_TYPE_CHANGE = 3 -- 更换
102
+m.CHEST_TYPE_CHOICE = 4 -- 选择
103
+m.CHEST_TYPE_INCLUDE = 5 -- 包含
104
+-- 任务状态
105
+m.TASK_STATUS_INIT = 0 -- 完成中
106
+m.TASK_STATUS_FINSH = 1 -- 已完成未领取
107
+m.TASK_STATUS_RECEIVE = 2 -- 已领取
108
+-- 头像状态
109
+m.ALBUM_STATUS_INIT = 0 -- 未获得
110
+m.ALBUM_STATUS_GET = 1 -- 已获得
111
+m.ALBUM_STATUS_WEAR = 2 -- 正在使用
112
+-- 头像获取方式
113
+m.ALBUM_GETWAY_AUTO = 1 -- 自动获得
114
+m.ALBUM_GETWAY_CLICK = 2 -- 手动获得
115
+m.ALBUM_GETWAY_BUY = 3 -- 购买获得
116
+m.ALBUM_GETWAY_BIRTH = 4 -- 初始赠送
117
+-- 竞技场积分奖励状态
118
+m.CUP_STATUS_INIT = 0 -- 不可领取
119
+m.CUP_STATUS_CAN_GET = 1 -- 可领取
120
+m.CUP_STATUS_GET = 2 -- 已领取
121
+-- 礼包状态
122
+m.GIFT_STATUS_INIT = 0 -- 礼包触发中
123
+m.GIFT_STATUS_DOING = 1 -- 礼包已购买
124
+m.GIFT_STATUS_FINISH = 2 -- 礼包已赠送完
125
+-- 宝箱来源:来源ID不可修改删除,只可添加
126
+m.BOX_FROM_DROP = 1 -- 掉落宝箱
127
+m.BOX_FROM_FREE = 2 -- 免费宝箱
128
+m.BOX_FROM_SHOP = 3 -- 商店宝箱
129
+m.BOX_FROM_TASK = 4 -- 任务
130
+m.BOX_FROM_DISCOUNT = 5 -- 特惠商店
131
+m.BOX_FROM_CUP = 6 -- 竞技场奖励
132
+m.BOX_FROM_PASS = 7 -- 通行证
133
+m.BOX_FROM_HONOR = 8 -- 荣耀之路
134
+m.BOX_FROM_SAVE = 9 -- 兑换-萌宠储蓄
135
+m.BOX_FROM_GIFT = 10 -- 礼包
136
+m.BOX_FROM_GUIDE = 11 -- 新手引导
137
+m.BOX_FROM_ACTIVITY = 12 -- 活动
138
+m.BOX_FROM_MAIL_CUST = 13 -- 客服邮件
139
+m.BOX_FROM_MAIL_SYS = 14 -- 系统邮件
140
+m.BOX_FROM_EXCHANGE_CODE = 15 -- 兑换码
141
+m.BOX_FROM_STAGE = 16 -- 副本
142
+
143
+m.BOX_FROM_GM = 97 -- GM添加
144
+m.BOX_FROM_UNKNOW = 98 -- 未知
145
+m.BOX_FROM_OTHER = 99 -- 其他
146
+
147
+m.BOX_FROM_ID_TO_NAME = {
148
+    [m.BOX_FROM_DROP] = "SettleBox",
149
+    [m.BOX_FROM_FREE] = "FreeBox",
150
+    [m.BOX_FROM_SHOP] = "ShopBox",
151
+    [m.BOX_FROM_TASK] = "TaskBox",
152
+    [m.BOX_FROM_DISCOUNT] = "DiscountBox",
153
+    [m.BOX_FROM_CUP] = "CupBox",
154
+    [m.BOX_FROM_PASS] = "PassBox",
155
+    [m.BOX_FROM_HONOR] = "GloryRoadBox",
156
+    [m.BOX_FROM_SAVE] = "SavingBox",
157
+    [m.BOX_FROM_GIFT] = "Gifts",
158
+    [m.BOX_FROM_ACTIVITY] = "ActivityBox",
159
+    [m.BOX_FROM_MAIL_CUST] = "ServiceBox",
160
+    [m.BOX_FROM_MAIL_SYS] = "SystemBox",
161
+    [m.BOX_FROM_GUIDE] = "GuideBox",
162
+    [m.BOX_FROM_EXCHANGE_CODE] = "Cdkey",
163
+    [m.BOX_FROM_STAGE] = "StageBox",
164
+    --
165
+    [m.BOX_FROM_GM] = "GmBox",
166
+    [m.BOX_FROM_UNKNOW] = "UnknowBox",
167
+    [m.BOX_FROM_OTHER] = "OtherBox"
168
+}
169
+
170
+-- 公共配置key列表
171
+m.CKEY_INIT_SHOP_FREECHEST = "initShopFreeChest" -- 广告宝箱初始宝箱
172
+m.CKEY_INIT_DROP_CHEST = "initDropChest" -- 掉落宝箱初始宝箱
173
+m.CKEY_CHEST_KEY_MAX = "keyMax" -- 宝箱钥匙上限
174
+m.CKEY_CHEST_KEY_TIME = "keyTime" -- 宝箱钥匙恢复时间
175
+m.CKEY_CHEST_KEY_VALUE = "keyValue" -- 宝箱钥匙价值
176
+m.CKEY_CHEST_KEY_WEIGHT = "keyWeight" -- 宝箱钥匙爆炸几率
177
+m.CKEY_MYSTERIOUS_TIME = "mysteriousTime" -- 神秘小车刷新时间
178
+m.CKEY_MYSTERIOUS_COST = "mysteriousCost" -- 神秘小车强制刷新消耗
179
+m.CKEY_MYSTERIOUS_INIT = "mysteriousInit" -- 神秘小车初始物品列表
180
+m.CKEY_MYSTERIOUS_COLOR = "mysteriousColor" -- 神秘小车色块不足时宝石兑换色块比率
181
+m.CKEY_HONOR_CONST_HP = "honorConstHp" -- 荣耀之路固定血量
182
+m.CKEY_HONOR_HERO_MAX_LEVEL = "honorHeroMaxLevel" -- 荣耀之路最大等级
183
+m.CKEY_HERO_BLOCK_RATIO = "heroBlockRatio" -- 升级卡牌资源不足之钻石换色块比例
184
+m.CKEY_HERO_GOLD_RATIO = "heroLeafRatio" -- 升级卡牌资源不足之钻石换金币比例
185
+m.CKEY_RESET_PAY_GOODS_TIME = "resetPayGoodsTime" -- 重置商品购买次数时间
186
+m.CKEY_EQUIP_BLOCK_RATIO = "equipBlockRatio" -- 装备系统资源不足之钻石换色块比例
187
+m.CKEY_EQUIP_LEAF_RATIO = "equipLeafRatio" -- 装备系统资源不足之钻石换金币比例
188
+m.CKEY_ARENA_EX_SKILL_MIN_CUPS = "arenaExSkillMinCups" -- 怒气解锁积分
189
+m.CKEY_EX_SKILL_MAX_PERC_LIST = "arenaExSkillMaxPercList" -- 怒气解锁积分
190
+
191
+-- 神秘小车奖励状态
192
+m.MYSTERIOUS_INIT = 1 -- 可购买
193
+m.MYSTERIOUS_CANGET = 2 -- 可领取
194
+m.MYSTERIOUS_ALREADY = 3 -- 已领取
195
+
196
+m.GOLD_BUS_MAX_TIME = 86400 -- 黄金小车最大累计时间
197
+
198
+m.HONOR_FINISH_LOSE_COUNT = 3 -- 荣耀之路结束需要失败次数
199
+
200
+m.SETTLE_ADD_ID_CHEST = 1 -- 结算增值类型:获取银宝箱
201
+m.SETTLE_ADD_ID_PAY = 2 -- 结算增值类型:充值
202
+m.SETTLE_ADD_ID_SCENE_LV = 3 -- 结算增值类型:最高段位增加
203
+
204
+m.EVENT_ID_ITEM = 101 -- 事件ID:资源变化
205
+m.EVENT_ID_SETTLE = 102 -- 事件ID:游戏结算
206
+m.EVENT_ID_CHEST = 103 -- 事件ID:宝箱
207
+m.EVENT_ID_SHOP = 104 -- 事件ID:商店
208
+m.EVENT_ID_SCENE = 105 -- 事件ID:竞技场
209
+m.EVENT_ID_CARD = 106 -- 事件ID:英雄
210
+m.EVENT_ID_LOGIN = 107 -- 事件ID:登录
211
+m.EVENT_ID_CASTLE = 108 -- 事件ID:神龛
212
+m.EVENT_ID_COMMON = 109 -- 事件ID:辅助功能
213
+m.EVENT_ID_LEVEL = 110 -- 事件ID:辅助功能
214
+
215
+m.RANK_SHOW_COUNT = 100 -- 排行榜展示人数
216
+m.RANK_SAVE_COUNT = 500 -- 排行榜存储人数
217
+m.RANK_MIN_CUPS = 1000 -- 排行榜最低积分
218
+m.RANK_MIN_TIME = 60 -- 排行榜拉取时间最小间隔
219
+m.RANK_SAVE_DAYS = 30 -- 排行榜最大保存天数,超过此天数时,重启服务器后,将从列表中删除
220
+
221
+m.EXPRESSION_USE_MAX_COUNT = 8 -- 表情最大使用上限
222
+--广告位置
223
+m.ADS_POS_FREE_CHEST = 1 -- 免费宝箱
224
+m.ADS_POS_WIN = 2 -- 胜利结算双倍
225
+m.ADS_POS_LOSE = 3 -- 失败返还积分
226
+m.ADS_POS_KEY = 4 -- 宝箱钥匙
227
+m.ADS_POS_SEASON = 5 -- 赛季解锁下层
228
+m.ADS_POS_GOLD_CAR = 6 -- 金币小车
229
+m.ADS_POS_MYSTICAL = 7 -- 神秘小车
230
+m.ADS_POS_TASK = 8 -- 任务
231
+-- 公告
232
+m.NOTICE_STATUS_INIT = 1 -- 未读
233
+m.NOTICE_STATUS_READ = 2 -- 已读
234
+-- 分群配置ID
235
+m.GROUP_ID_EMAIL = "email" -- 邮件分群
236
+m.GROUP_ID_CHAT = "chat" -- 聊天分群
237
+
238
+-- 战斗类型
239
+m.BATTLE_TYPE = {
240
+    HONOR_WEN = 1, -- 问名
241
+    HONOR_YANG = 2, -- 扬名
242
+    NORMAL = 3, -- 云游之境
243
+    STAGE = 4, -- 剧情副本
244
+    ROOM = 5, -- 好友房
245
+    ROOM_CHALLENGE = 6, -- 俱乐部挑战赛
246
+    FRIEND_FAIR = 11, -- 好友公平模式
247
+    FRIEND_REAL = 12, -- 好友真实模式
248
+    RANK_CHALLENGE = 20, -- 榜单挑战
249
+    AI_NORMAL = 10003 -- AI模拟运算-云游之境
250
+}
251
+m.BATTLE_TYPE_HONOR_WEN = 1 -- 问名
252
+m.BATTLE_TYPE_HONOR_YANG = 2 -- 扬名
253
+m.BATTLE_TYPE_NORMAL = 3 -- 云游之境
254
+m.BATTLE_TYPE_FRIEND_FAIR = 11 -- 好友公平模式
255
+m.BATTLE_TYPE_FRIEND_REAL = 12 -- 好友真实模式
256
+
257
+-- 委派任务状态
258
+m.APPOINT_STATUS_INIT = 0 -- 未开始
259
+m.APPOINT_STATUS_RUN = 1 -- 委派中
260
+m.APPOINT_STATUS_FINISH = 2 -- 奖励已领取
261
+
262
+m.RANK_TYPE = {
263
+    CUP = 1,
264
+    CLUB = 2,
265
+    CLUB_LST1 = 3
266
+}
267
+m.CLUB_LEVEL = {
268
+    NORMAL = 2, -- 普通成员
269
+    MASTER = 8 -- 会长
270
+}
271
+m.CLUB_TASK_TYPE = {
272
+    OPEN_CLUB = 1, -- 打开俱乐部面板
273
+    CLUB_TALK = 2, -- 俱乐部留言
274
+    ROOM_VIEWER = 3, -- 围观好友房对局
275
+    BOOY_CLUB_GOOD = 4, -- 俱乐部商场购买
276
+    ROOM_BATTLE = 5, -- 参与好友房对局
277
+    CLUB_CHALLENGE = 6 -- 俱乐部挑战赛
278
+}
279
+
280
+-- 等级解锁功能
281
+m.LV_LOCK_CARD_LV = "cardLv" -- 卡牌等级上限字段
282
+m.LV_LOCK_EQUIP_LV = "equipLv" -- 装备等级上限字段
283
+m.LV_LOCK_GOLD_LV = "goldLv" -- 金枝木等级上限字段
284
+m.LV_LOCK_CASTLE_LV = "castleLv" -- 神龛等级上限字段
285
+
286
+-- VIP关键系统
287
+m.VIP_RANK_CHALLENGE = "maxBDTZBuy" -- 榜单挑战
288
+
289
+return m

+ 16 - 0
http_client.lua

@@ -0,0 +1,16 @@
1
+-- 客户端使用的http协议
2
+
3
+-- 服务端热更新使用
4
+package.loaded[PROTO_ROOT .. "proto-lib.all_http"] = nil
5
+
6
+local all_http = require(PROTO_ROOT .. "proto-lib.all_http")
7
+
8
+local c2s = all_http.c2s
9
+local s2c = all_http.s2c
10
+
11
+local root = {
12
+    c2s = c2s,
13
+    s2c = s2c
14
+}
15
+
16
+return root

+ 17 - 0
http_server.lua

@@ -0,0 +1,17 @@
1
+-- 服务端使用的http协议
2
+PROTO_ROOT = ""
3
+
4
+-- 服务端热更新使用
5
+package.loaded[PROTO_ROOT .. "proto-lib.all_http"] = nil
6
+
7
+local all_http = require(PROTO_ROOT .. "proto-lib.all_http")
8
+
9
+local c2s = all_http.c2s
10
+local s2c = all_http.s2c
11
+
12
+local root = {
13
+    c2s = c2s,
14
+    s2c = s2c
15
+}
16
+
17
+return root

+ 18 - 0
proto-lib/all_http.lua

@@ -0,0 +1,18 @@
1
+-- 所有http相关协议的汇总
2
+
3
+-- 热更新
4
+package.loaded[PROTO_ROOT .. "proto-lib.proto_http"] = nil
5
+package.loaded[PROTO_ROOT .. "proto-lib.proto_log"] = nil
6
+
7
+local proto_http = require(PROTO_ROOT .. "proto-lib.proto_http")
8
+local proto_log = require(PROTO_ROOT .. "proto-lib.proto_log")
9
+
10
+local c2s = proto_http.c2s .. proto_log.c2s
11
+local s2c = proto_http.s2c .. proto_log.s2c
12
+
13
+local proto = {
14
+    c2s = c2s,
15
+    s2c = s2c
16
+}
17
+
18
+return proto

+ 32 - 0
proto-lib/all_socket.lua

@@ -0,0 +1,32 @@
1
+-- 服务端热更新使用
2
+-- 协议最大ID 32766
3
+package.loaded[PROTO_ROOT .. "proto-lib.proto_socket"] = nil -- 1000~1999
4
+package.loaded[PROTO_ROOT .. "proto-lib.proto_user"] = nil -- 2000~2999
5
+package.loaded[PROTO_ROOT .. "proto-lib.proto_bag"] = nil -- 5000~5999
6
+package.loaded[PROTO_ROOT .. "proto-lib.proto_test"] = nil -- 9000~9999
7
+
8
+-- 其他协议
9
+-- proto-lib.proto_http -- 31000~31999
10
+-- proto-lib.proto_log -- 32000~32766
11
+
12
+local proto_socket = require(PROTO_ROOT .. "proto-lib.proto_socket")
13
+local proto_user = require(PROTO_ROOT .. "proto-lib.proto_user")
14
+local proto_bag = require(PROTO_ROOT .. "proto-lib.proto_bag")
15
+local proto_test = require(PROTO_ROOT .. "proto-lib.proto_test")
16
+
17
+local c2s = proto_socket.c2s
18
+c2s = c2s .. proto_user.c2s
19
+c2s = c2s .. proto_bag.c2s
20
+c2s = c2s .. proto_test.c2s
21
+
22
+local s2c = proto_socket.s2c
23
+s2c = s2c .. proto_user.s2c
24
+s2c = s2c .. proto_bag.s2c
25
+s2c = s2c .. proto_test.s2c
26
+
27
+local proto = {
28
+    c2s = c2s,
29
+    s2c = s2c
30
+}
31
+
32
+return proto

+ 10 - 0
proto-lib/all_struct.lua

@@ -0,0 +1,10 @@
1
+-- 所有struct数据结构的汇总
2
+
3
+-- 服务端热更新使用
4
+package.loaded[PROTO_ROOT .. "proto-lib.proto_struct"] = nil
5
+
6
+local struct = require(PROTO_ROOT .. "proto-lib.proto_struct")
7
+
8
+local proto_struct = struct
9
+
10
+return proto_struct

+ 35 - 0
proto-lib/proto_bag.lua

@@ -0,0 +1,35 @@
1
+-- 背包相关协议 5000~5999
2
+
3
+local proto_struct = [[
4
+]]
5
+
6
+local proto_c2s =
7
+    [[
8
+
9
+    # 获取背包信息
10
+    bag_get_info 5000 {
11
+        request {
12
+        }
13
+        response {
14
+            code 0: integer
15
+            items 1: *DataItemBag       # 物品列表
16
+        }
17
+    }
18
+]]
19
+
20
+local proto_s2c =
21
+    [[
22
+    # 玩家当前物品
23
+    on_user_items 5000 {
24
+        request {
25
+            items 0: *DataItemBag
26
+        }
27
+    }
28
+]]
29
+
30
+local proto = {
31
+    c2s = proto_struct .. proto_c2s,
32
+    s2c = proto_struct .. proto_s2c
33
+}
34
+
35
+return proto

+ 148 - 0
proto-lib/proto_http.lua

@@ -0,0 +1,148 @@
1
+-- http相关协议 31000~31999
2
+
3
+local proto_c2s =
4
+    [[
5
+        #登录
6
+        usr_login 1000 {
7
+            request {
8
+                uid 0: integer
9
+                version 1: string           # 版本号
10
+                password 2: string          # 密码
11
+                channel 3: integer          # 渠道号
12
+                apn 4: string               # 玩家网络状态
13
+                operator 5: string          # 运营商类型字段
14
+                platform 6: string          # 登录平台
15
+                appVerison 7: string        # 对内版本号
16
+                uuid 8: string              # UUID
17
+                udid 9: string              # UDID
18
+                region 10: string           # 省份
19
+                city 11: string             # 城市
20
+                location 12: string         # 经纬度(格式:经度在前,纬度在后,经纬度间以“,”分割)
21
+                sysVer 13: string           # 设备信息
22
+                openId 14: string           # 第三方登陆信息
23
+            }
24
+            response {
25
+                code 0: integer
26
+                sysTime 1: integer          # 服务器时间
27
+                ip 2: string                # Socket连接的IP
28
+                port 3: integer             # Socket连接的Port
29
+                token 4: string             # token
30
+                http 5: integer             # HTTP PORT
31
+                registerTime 6: integer     # 注册时间
32
+                errorMsg 7: string          # 登陆失败错误信息
33
+                isGuest 8: boolean          # 是否游客
34
+                wsPort 9: integer           # websocket连接端口
35
+                uuid 10: string             # UUID
36
+                configVersion 11: string    # configVersion
37
+                grayTestTime 12: integer    # 灰度测试开始时间
38
+                inWhiteList 13: boolean     # 是否在白名单内
39
+                freezeEndTime 14: integer   # 封号结束时间
40
+                bannedEndTime 15: integer   # 禁言结束时间
41
+                isBanding 16: boolean       # 是否绑定账号
42
+            }
43
+        }
44
+
45
+        #注册
46
+        usr_register 1001 {
47
+            request {
48
+                version 1: string           # 版本号
49
+                uuid 2: string              # UUID
50
+                device 3: string            # 设备名称
51
+                sysVer 4: string            # 设备信息
52
+                channel 5: integer          # 渠道号
53
+                apn 6: string               # 玩家网络状态
54
+                operator 7: string          # 运营商类型字段
55
+                platform 8: string          # 登录平台
56
+                udid 9: string              # UDID
57
+                appVerison 10: string       # 对内版本号
58
+                idfa 11: string             # 广告标签
59
+                region 12: string           # 省份
60
+                city 13: string             # 城市
61
+                location 14: string         # 经纬度(格式:经度在前,纬度在后,经纬度间以“,”分割)
62
+                deviceId 15: string         # 设备号
63
+                xwId 16: string             # 闲玩ID(备用)
64
+                openId 17: string           # 第三方登陆信息
65
+                isSdk 18: boolean           # 是否sdk注册
66
+            }
67
+            response {
68
+                code 0: integer
69
+                sysTime 1: integer          # 服务器时间
70
+                ip 2: string                # Socket连接的IP
71
+                port 3: integer             # Socket连接的Port
72
+                token 4: string             # token
73
+                uid 5: integer              #
74
+                password 6: string          # 密码
75
+                http 7: integer             # HTTP PORT
76
+                registerTime 8: integer     # 注册时间
77
+                errorMsg 9: string          # 登陆失败错误信息
78
+                isGuest 10: boolean         # 是否游客
79
+                wsPort 11: integer          # websocket连接端口
80
+                uuid 12: string             # UUID
81
+                configVersion 13: string    # configVersion
82
+                grayTestTime 14: integer    # 灰度测试开始时间
83
+                inWhiteList 15: boolean     # 是否在白名单内
84
+                freezeEndTime 16: integer   # 封号结束时间
85
+                bannedEndTime 17: integer   # 禁言结束时间
86
+                isBanding 18: boolean       # 是否绑定账号
87
+            }
88
+        }
89
+
90
+        #账号注册
91
+        usr_account_register 1002 {
92
+            request {
93
+                version 1: string           # 版本号
94
+                uuid 2: string              # UUID
95
+                device 3: string            # 设备名称
96
+                sysVer 4: string            # 设备信息
97
+                channel 5: integer          # 渠道号
98
+                apn 6: string               # 玩家网络状态
99
+                operator 7: string          # 运营商类型字段
100
+                platform 8: string          # 登录平台
101
+                udid 9: string              # UDID
102
+                appVerison 10: string       # 对内版本号
103
+                idfa 11: string             # 广告标签
104
+                region 12: string           # 省份
105
+                city 13: string             # 城市
106
+                location 14: string         # 经纬度(格式:经度在前,纬度在后,经纬度间以“,”分割)
107
+                deviceId 15: string         # 设备号
108
+                xwId 16: string             # 闲玩ID(备用)
109
+
110
+                account 17: string          # 账号
111
+                password 18: string         # 密码
112
+                jmName 19: string           # 实名
113
+                jmCard 20: string           # 身份证号
114
+                jmBirthDate 21: string      # 嘉米出生年月日格式 ‘20060601’
115
+                chBirthDate 22: string      # 渠道出生年月日格式 ‘20060601’
116
+            }
117
+            response {
118
+                code 0: integer
119
+                uid 1: integer              # 账号ID
120
+                password 2: string          # 密码
121
+            }
122
+        }
123
+
124
+        #登录
125
+        usr_account_login 1003 {
126
+            request {
127
+                account 0: string          # 账号
128
+                accountPassword 1: string  # 账号密码
129
+            }
130
+            response {
131
+                code 0: integer
132
+                uid 1: integer              # 账号ID
133
+                password 2: string          # 密码
134
+                jmName 3: string            # 实名
135
+                jmCard 4: string            # 身份证号
136
+            }
137
+        }
138
+]]
139
+
140
+local proto_s2c = [[
141
+]]
142
+
143
+local proto = {
144
+    c2s = proto_c2s,
145
+    s2c = proto_s2c
146
+}
147
+
148
+return proto

+ 69 - 0
proto-lib/proto_log.lua

@@ -0,0 +1,69 @@
1
+-- 客户端日志埋点相关协议 32000~32766
2
+
3
+local proto_struct =
4
+    [[
5
+        # 埋点信息
6
+        .DataEvent {
7
+            uid 0: integer          # 玩家ID
8
+            ver 1: string           # 版本号
9
+            chn 2: integer          # 渠道号
10
+            id 3: integer           # 事件ID
11
+            time 4: integer         # 时间
12
+            label 5: string         # 事件信息
13
+            seq 6: integer          # 事件顺序号
14
+            scene 7: string         # 场景名称
15
+            golds 8: integer        # 金币
16
+            diamonds 9: integer     # 钻石
17
+        }
18
+
19
+        # 埋点数量信息
20
+        .DataCountEvent {
21
+            uid 0: integer          # 玩家ID
22
+            ver 1: string           # 版本号
23
+            chn 2: integer          # 渠道号
24
+            id 3: integer           # 事件ID
25
+            count 4: integer        # 事件数量
26
+            beginTime 5: integer    # 开始时间
27
+            endTime 6: integer      # 结束时间
28
+        }
29
+]]
30
+
31
+local proto_c2s =
32
+    [[
33
+    # 事件统计
34
+    event_client_log_event 32000 {
35
+        request {
36
+            uid 0: integer          # 玩家ID
37
+            ver 1: string           # 版本号
38
+            chn 2: integer          # 渠道号
39
+            events 3: *DataEvent    # 事件列表
40
+            udid 4: string          # 玩家udid,设备ID
41
+            uuid 5: string          # 玩家uuid,给未注册玩家使用
42
+        }
43
+        response {
44
+            code 0: integer
45
+        }
46
+    }
47
+
48
+    # 事件次数统计(数量太多的时候)
49
+    event_client_log_event_count 32001 {
50
+        request {
51
+            uid 0: integer          # 玩家ID
52
+            ver 1: string           # 版本号
53
+            chn 2: integer          # 渠道号
54
+            events 3: *DataCountEvent   # 事件列表
55
+        }
56
+        response {
57
+            code 0: integer
58
+        }
59
+    }
60
+]]
61
+
62
+local proto_s2c = [[]]
63
+
64
+local proto = {
65
+    c2s = proto_struct .. proto_c2s,
66
+    s2c = proto_struct .. proto_s2c
67
+}
68
+
69
+return proto

+ 28 - 0
proto-lib/proto_socket.lua

@@ -0,0 +1,28 @@
1
+-- socket相关协议  1000~1999
2
+local proto_struct = [[
3
+]]
4
+
5
+local proto_c2s =
6
+    [[
7
+    # 连接游戏服务器,验证token是否有效
8
+    usr_auth_token 1000 {
9
+        request {
10
+            uid 0: integer
11
+            token 1: string
12
+        }
13
+        response {
14
+            code 0: integer
15
+        }
16
+    }
17
+
18
+]]
19
+
20
+local proto_s2c = [[
21
+]]
22
+
23
+local proto = {
24
+    c2s = proto_struct .. proto_c2s,
25
+    s2c = proto_struct .. proto_s2c
26
+}
27
+
28
+return proto

+ 79 - 0
proto-lib/proto_struct.lua

@@ -0,0 +1,79 @@
1
+-- 公共结构体
2
+
3
+local proto_struct =
4
+    [[
5
+        # 物品
6
+        .DataItem {
7
+            id 0: integer
8
+            count 1: integer
9
+        }
10
+
11
+        # 物品背包属性
12
+        .DataItemBag {
13
+            id 0: integer                   # 物品ID
14
+            count 1: integer                # 物品数量
15
+            endTime 2: integer              # 到期时间戳
16
+        }
17
+
18
+        # 玩家简洁信息
19
+        .DataPlayer {
20
+            uid 0: integer                  # 玩家uid
21
+            nickname 1: string              # 玩家昵称
22
+            album 2: integer                # 头像
23
+            cups 3: integer                 # 奖杯数
24
+            frame 4: integer                # 像框
25
+            vipLevel 5: integer             # vip等级
26
+            offLineTime 6: integer          # 离线时间戳
27
+            isOnline 7: boolean             # 是否在线
28
+        }
29
+
30
+        # 单日最大充值金额
31
+        .DataDayPayCount {
32
+            day 0: integer                  # 最近x天
33
+            payCount 1: integer             # 充值金额
34
+        }
35
+        # 支付信息
36
+        .DataPayInfo {
37
+            totalMoney 0: integer           # 终身,付费金额(单位分)
38
+            totalTimes 1: integer           # 终身,付费次数
39
+            payDays 2: integer              # 终身,付费天数
40
+            minMoney 3: integer             # 终身,最小付费金额(单位分)
41
+            maxMoney 4: integer             # 终身,最大付费金额(单位分)
42
+
43
+            dayMoney 10: integer            # 当天,付费金额(单位分)
44
+            dayTimes 11: integer            # 当天,付费次数
45
+            dayMaxMoney 12: integer         # 当天,最大付费金额(单位分)
46
+
47
+            monthMoney 20: integer          # 当月,付费金额(单位分)
48
+            monthTimes 21: integer          # 当月,付费次数
49
+            monthMaxMoney 22: integer       # 当月,最大付费金额(单位分)
50
+
51
+            firstMoney 30: integer          # 首次,付费金额(单位分)
52
+            firstPayTime 31: integer        # 首次,付费时间戳
53
+            lastMoney 32: integer           # 最后一次,付费金额(单位分)
54
+            lastPayTime 33: integer         # 最后一次,最后一次付费时间戳
55
+
56
+            ncDayPayCountList 40: *DataDayPayCount  # 最近x天,单日最大充值金额列表(不含当天)
57
+        }
58
+        # 商品支付信息
59
+        .DataGoodsPay {
60
+            gid 0: integer                  # 商品ID
61
+            times 1: integer                # 购买次数
62
+            lastPayTime 2: integer          # 最后支付时间
63
+            dayBuyTimes 3: integer          # 当天购买次数
64
+        }
65
+
66
+        # 战斗统计信息
67
+        .DataBattleTimes {
68
+            battleType 0: integer           # 战斗类型(-1:所有战斗)
69
+            times 1: integer                # 战斗次数(空:0)
70
+            winTimes 2: integer             # 胜场数(空:0)
71
+            winLink 3: integer              # 当前连胜场数(空:0)
72
+            maxWinLink 4: integer           # 最高连胜场数(空:0)
73
+            loseTimes 5: integer            # 负场数(空:0)
74
+            loseLink 6: integer             # 当前连负场数(空:0)
75
+            maxLoseLink 7: integer          # 最高连负场数(空:0)
76
+        }
77
+]]
78
+
79
+return proto_struct

+ 16 - 0
proto-lib/proto_test.lua

@@ -0,0 +1,16 @@
1
+-- 测试工具相关协议 9000~9999
2
+local proto_struct = [[
3
+]]
4
+
5
+local proto_c2s = [[
6
+]]
7
+
8
+local proto_s2c = [[
9
+]]
10
+
11
+local proto = {
12
+    c2s = proto_struct .. proto_c2s,
13
+    s2c = proto_struct .. proto_s2c
14
+}
15
+
16
+return proto

+ 114 - 0
proto-lib/proto_user.lua

@@ -0,0 +1,114 @@
1
+-- 用户相关协议 2000~2999
2
+
3
+local proto_struct =
4
+    [[
5
+    # 玩家基础信息
6
+    .DataUserBaseInfo {
7
+        uid 0: integer                  # 玩家uid
8
+        nickname 1: string              # 玩家昵称
9
+        level 2: integer                # 等级
10
+        vipLevel 3: integer             # 贵族等级
11
+        city 4: string                  # 城市
12
+        registerVersion 5: string       # 注册版本
13
+        phone 6: string                 # 绑定的手机号码
14
+        rechargeNum 7: integer          # 充值额度(22年3月15日 后端豪哥讲后面不再维护这个字段)
15
+        activeDays 8: integer           # 活跃天数
16
+        groupList 9: *string            # 分群配置列表
17
+    }
18
+
19
+    # 玩家时间信息
20
+    .DataUserTimeInfo {
21
+        sysTime 0: integer              # 服务器时间
22
+        debugTime 1: integer            # 调试时间(固定)
23
+    }
24
+
25
+    # 实名认证信息
26
+    .DataIdentity {
27
+        iType 0: integer                # 实名认证类型(1:嘉米 2:渠道)
28
+        jmName 1: string                # 名称
29
+        jmCard 2: string                # 身份证
30
+        jmBirthDate 3: string           # 嘉米出生年月日格式 ‘20060601’
31
+        chBirthDate 4: string           # 渠道出生年月日格式 ‘20060601’
32
+    }
33
+
34
+    # 防沉迷信息
35
+    .DataAntiAddiction {
36
+        isRealName 0: boolean           # 是否已实名认证
37
+        gameEndTime 1: integer          # 游戏结束时间戳(游戏时长限制,空:不限制)
38
+        limitLoginMinutes 2: integer    # 总在线时间的限制分钟数(单位分钟)
39
+        daysResetTime 3: integer        # 重置总游戏时长间隔天数
40
+        limitHourRange 4: *integer      # 可游戏时间范围(单位:小时,24小时制)(空:不限制)
41
+        limitEnablePay 5: boolean       # 限制,是否可付费(空:不限制)
42
+        limitDayOrderMoney 6: integer   # 限制金额,日单笔支付金额(单位:分, 空:不限制)
43
+        limitMonthMoney 7: integer      # 限制金额,月累计支付金额(单位:分, 空:不限制)
44
+    }
45
+
46
+    # 行为次数统计信息
47
+    .DataTimesInfo {
48
+        signMaxSerial 0: integer        # 最高连续签到次数
49
+        signTotal 1: integer            # 累计签到次数
50
+        signSerial 2: integer           # 当前连续签到次数
51
+        gamePassLevel 3: integer        # 通过等级
52
+        adTotal 4: integer              # 广告次数
53
+    }
54
+]]
55
+
56
+local proto_c2s =
57
+    [[
58
+    # 获取自己的信息
59
+    user_self_info 2000 {
60
+        request {
61
+            uid 0: integer
62
+            idInfo 1: DataIdentity          # 实名认证信息
63
+        }
64
+        response {
65
+            code 0: integer
66
+            baseInfo 1: DataUserBaseInfo    # 基础信息
67
+        }
68
+    }
69
+
70
+    #连接保活
71
+    user_keepalive 2004 {
72
+        request {
73
+        }
74
+        response {
75
+            systemTime 0: integer
76
+        }
77
+    }
78
+]]
79
+
80
+local proto_s2c =
81
+    [[
82
+    # 玩家系统信息
83
+    on_user_system_info 2050 {
84
+        request {
85
+            sheildList 0: *integer          # 功能ID列表
86
+            antiInfo 1: DataAntiAddiction   # 防沉迷信息
87
+            timesInfo 2: DataTimesInfo      # 行为次数统计信息
88
+            abValue 3: *string              # AB分群值
89
+            shareCode 4: string             # 分享码
90
+            uidBanding 5: integer           # 绑定玩家ID
91
+            payInfo 6: DataPayInfo          # 支付信息
92
+            battleTimesInfoList 7: *DataBattleTimes # 战斗统计信息
93
+            dayBattleTimesInfoList 8: *DataBattleTimes # 当天战斗统计信息
94
+            goodsPayInfoList 9: *DataGoodsPay   # 商品支付信息列表
95
+            activeModuleList 10: *integer   # 激活功能ID列表
96
+        }
97
+    }
98
+
99
+    # 玩家状态
100
+    on_server_code 2051 {
101
+        request {
102
+            code 0: integer                 # 值为497时是被顶号了,不要自动连接
103
+            freezeEndTime 1: integer        # 封号结束时间 code = 602
104
+            bannedEndTime 2: integer        # 禁言结束时间 code = 603
105
+        }
106
+    }
107
+]]
108
+
109
+local proto = {
110
+    c2s = proto_struct .. proto_c2s,
111
+    s2c = proto_struct .. proto_s2c
112
+}
113
+
114
+return proto

+ 40 - 0
proto_client.lua

@@ -0,0 +1,40 @@
1
+PROTO_ROOT = "sprotoparse."
2
+
3
+package.loaded[PROTO_ROOT .. "struct_client"] = nil
4
+package.loaded[PROTO_ROOT .. "socket_client"] = nil
5
+package.loaded[PROTO_ROOT .. "http_client"] = nil
6
+
7
+local struct_client = require(PROTO_ROOT .. "struct_client")
8
+local socket_client = require(PROTO_ROOT .. "socket_client")
9
+local http_client = require(PROTO_ROOT .. "http_client")
10
+
11
+local sprotoparser = require("3rd.sproto.sproto")
12
+
13
+local proto = {}
14
+
15
+-- socket
16
+proto.socket = {
17
+    c2s = struct_client .. socket_client.c2s,
18
+    s2c = struct_client .. socket_client.s2c
19
+}
20
+proto.c2s = sprotoparser.parse(proto.socket.c2s)
21
+proto.s2c = sprotoparser.parse(proto.socket.s2c)
22
+
23
+proto.host_c2s = proto.c2s:host("package")
24
+proto.host_s2c = proto.s2c:host("package")
25
+
26
+proto.fc2s_Request = proto.host_s2c:attach(proto.c2s)
27
+
28
+-- http
29
+proto.http = {
30
+    c2s = struct_client .. http_client.c2s,
31
+    s2c = struct_client .. http_client.s2c
32
+}
33
+proto.http_c2s = sprotoparser.parse(proto.http.c2s)
34
+proto.http_s2c = sprotoparser.parse(proto.http.s2c)
35
+
36
+proto.httpHost_c2s = proto.http_c2s:host("package")
37
+proto.httpHost_s2c = proto.http_s2c:host("package")
38
+
39
+proto.httpc2s_Request = proto.httpHost_s2c:attach(proto.http_c2s)
40
+return proto

+ 30 - 0
proto_server.lua

@@ -0,0 +1,30 @@
1
+PROTO_ROOT = ""
2
+
3
+local sprotoparser = require(PROTO_ROOT .. "sprotoparser")
4
+
5
+local proto = {}
6
+
7
+-- socket
8
+package.loaded[PROTO_ROOT .. "struct_server"] = nil
9
+package.loaded[PROTO_ROOT .. "socket_server"] = nil
10
+local struct_server = require(PROTO_ROOT .. "struct_server")
11
+local socket_server = require(PROTO_ROOT .. "socket_server")
12
+proto.socket = {
13
+    c2s = struct_server .. socket_server.c2s,
14
+    s2c = struct_server .. socket_server.s2c
15
+}
16
+proto.c2s = sprotoparser.parse(proto.socket.c2s)
17
+proto.s2c = sprotoparser.parse(proto.socket.s2c)
18
+proto.isParse = true
19
+
20
+-- http 目前 http 没有使用 struct
21
+package.loaded[PROTO_ROOT .. "http_server"] = nil
22
+local http_server = require(PROTO_ROOT .. "http_server")
23
+proto.http = {
24
+    c2s = http_server.c2s,
25
+    s2c = http_server.s2c
26
+}
27
+proto.http_c2s = sprotoparser.parse(proto.http.c2s)
28
+proto.http_s2c = sprotoparser.parse(proto.http.s2c)
29
+
30
+return proto

+ 16 - 0
socket_client.lua

@@ -0,0 +1,16 @@
1
+-- 客户端使用的socket协议
2
+
3
+-- 服务端热更新使用
4
+package.loaded[PROTO_ROOT .. "proto-lib.all_socket"] = nil
5
+
6
+local all_socket = require(PROTO_ROOT .. "proto-lib.all_socket")
7
+
8
+local c2s = all_socket.c2s
9
+local s2c = all_socket.s2c
10
+
11
+local root = {
12
+    c2s = c2s,
13
+    s2c = s2c
14
+}
15
+
16
+return root

+ 17 - 0
socket_server.lua

@@ -0,0 +1,17 @@
1
+-- 服务端使用的socket协议
2
+PROTO_ROOT = ""
3
+
4
+-- 服务端热更新使用
5
+package.loaded[PROTO_ROOT .. "proto-lib.all_socket"] = nil
6
+
7
+local all_socket = require(PROTO_ROOT .. "proto-lib.all_socket")
8
+
9
+local c2s = all_socket.c2s
10
+local s2c = all_socket.s2c
11
+
12
+local root = {
13
+    c2s = c2s,
14
+    s2c = s2c
15
+}
16
+
17
+return root

+ 10 - 0
struct_client.lua

@@ -0,0 +1,10 @@
1
+-- 客户端使用的结构体
2
+
3
+-- 服务端热更新使用
4
+package.loaded[PROTO_ROOT .. "proto-lib.all_struct"] = nil
5
+
6
+local all_struct = require(PROTO_ROOT .. "proto-lib.all_struct")
7
+
8
+local root = all_struct
9
+
10
+return root

+ 11 - 0
struct_server.lua

@@ -0,0 +1,11 @@
1
+-- 服务端使用的结构体
2
+PROTO_ROOT = ""
3
+
4
+-- 服务端热更新使用
5
+package.loaded[PROTO_ROOT .. "proto-lib.all_struct"] = nil
6
+
7
+local all_struct = require(PROTO_ROOT .. "proto-lib.all_struct")
8
+
9
+local root = all_struct
10
+
11
+return root