neo 2 vuotta sitten
vanhempi
commit
44bf87eafe

+ 362 - 0
code.lua

@@ -0,0 +1,362 @@
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
+    RANK_TIME_NOT_ENOUGH = 6000, -- 排行榜拉取时间间隔不足
102
+    CARD = {
103
+        NOT_FOUND = 7001, -- 没有卡牌
104
+        NOT_VALID = 7002, -- 无效卡牌
105
+        NOT_ENOUGH = 7003, -- 碎片不足
106
+        MAX_USE_CARD = 7004, -- 最大出战卡组
107
+        IS_USING = 7004, -- 正在出战中
108
+        NOT_USING = 7005, -- 没有出战
109
+        NOT_SAME_COLOR = 7006, -- 不是同一种颜色
110
+        OVER_MAX_LV = 7007 -- 超过最高等级
111
+    },
112
+    -- 宝箱
113
+    CHEST_NOT_FOUND = 7100, -- 找不到该宝箱
114
+    CHEST_STATUS_ERROR = 7101, -- 宝箱状态错误
115
+    CHEST_NOT_EMPTY = 7102, -- 没有空余位置
116
+    CHEST_OVER_UNLOCK = 7103, -- 正在解锁中
117
+    CHEST_CONFIG_ERROR = 7104, -- 宝箱配置错误
118
+    CHEST_OVER_LINEUP = 7105, -- 真正排队中
119
+    CHEST_KEY_NOT_ENOUGH = 7110, -- 宝箱钥匙不足
120
+    CHEST_KEY_NO_POS = 7111, -- 宝箱钥匙位置不存在
121
+    CHEST_KEY_IS_OPEN = 7112, -- 宝箱钥匙位置已经打开
122
+    -- 任务
123
+    TASK_NOT_FOUND = 7200, -- 任务不存在
124
+    TASK_STATUS_ERROR = 7201, -- 任务状态错误
125
+    TASK_CONFIG_ERROR = 7202, -- 任务配置错误
126
+    TASK_CHEST_HAD_OPEN = 7203, -- 任务宝箱已开启
127
+    TASK_NEED_RECEIVE = 7204, -- 还有任务需要领取
128
+    TASK_REFRESH_ERROR = 7205, -- 刷新错误
129
+    TASK_NOT_CHANGE_COUNT = 7206, -- 任务变换次数不足
130
+    TASK_REFRESH_CAN_AUTO = 7207, -- 可以自动刷新
131
+    TASK_REFRESH_LIMIT = 7208, -- 今天的刷新次数已达上限
132
+    -- 赛季通行证
133
+    SEASON_CONFIG_ERROR = 7301, -- 通行证配置错误
134
+    SEASON_TIME_ERROR = 7302, -- 通行证时间错误
135
+    SEASON_DAYS_ERROR = 7303, -- 解锁天数没到
136
+    SEASON_VIP_ERROR = 7304, -- 没有赛季通行证
137
+    SEASON_COMPLETE_ERROR = 7305, -- 没有完成任务
138
+    SEASON_LAST_ERROR = 7306, -- 请领取上一个奖励
139
+    -- 礼包
140
+    GIFT_CONFIG_ERROR = 7400, -- 礼包配置错误
141
+    GIFT_STATUS_ERROR = 7401, -- 礼包状态错误
142
+    GIFT_TIME_ERROR = 7402, -- 礼包购买截止时间错过
143
+    GIFT_OVER_BUY_TIMES = 7403, -- 礼包超过可购买次数
144
+    GIFT_REPEAT_TIMES = 7404, -- 礼包超过可触发次数
145
+    GIFT_NOT_WORK = 7405, -- 礼包尚未实现
146
+    GIFT_COUNT_LIMIT = 7406, -- 礼包触发列表到达上限
147
+    -- 相册
148
+    ALBUM_NOT_GET = 7500, -- 未获取头像
149
+    ALBUM_ALREADY_GET = 7501, -- 已经获取头像
150
+    ALBUM_FORBID_BUY = 7502, -- 不能购买的头像
151
+    ALBUM_NOT_EXIST = 7503, -- 头像不存在
152
+    -- 竞技场积分奖励
153
+    CUP_FORBID_GET = 7600, -- 奖励不能领取
154
+    CUP_ALREADY_GET = 7601, -- 奖励已领取
155
+    -- 神秘小车
156
+    MYSTICAL_REWARD_NOT_GET = 7700, -- 有奖励未领取
157
+    MYSTICAL_TIME_NOT_ENOUGH = 7701, -- 刷新时间未到
158
+    MYSTERIOUS_NOT_CAN_GET = 7702, -- 奖励不可领取
159
+    MYSTERIOUS_CAN_GET = 7703, -- 奖励可领取
160
+    MYSTERIOUS_ALREADY_GET = 7704, -- 奖励已领取
161
+    MYSTERIOUS_NEED_WAIT = 7705, -- 奖励已领取,但时间未到
162
+    -- 荣耀之路
163
+    HONOR_ALREAD_UNLOCK = 7800, -- 已经解锁
164
+    HONOR_NOT_UNLOCK = 7801, -- 未解锁
165
+    HONOR_LOSE_NOT_ENOUGH = 7802, -- 失败次数不足
166
+    HONOR_LOSE_ENOUGH = 7803, -- 失败次数已到上限
167
+    HONOR_WIN_ENOUGH = 7804, -- 胜利次数已到上限
168
+    HONOR_NOT_MORE_TIMES = 7805, -- 当天次数限制
169
+    -- 奖励状态
170
+    REWARD_FORBID_GET = 7900, -- 奖励不能领取
171
+    REWARD_ALREADY_GET = 7901, -- 奖励已领取
172
+    -- 签到
173
+    SIGN_DAY_NOT_ENOUGH = 8000, -- 签到天数不足
174
+    SIGN_REWARD_ALREADY_GET = 8001, -- 签到奖励已领取
175
+    -- 累计充值
176
+    PAY_TOTAL_NOT_ENOUGH = 8100, -- 累计充值金额不足
177
+    PAY_TOTAL_ALREADY_GET = 8101, -- 累计充值奖励已领取
178
+    -- 好友
179
+    FRIEND = {
180
+        COUNT_LIMIT = 8200, -- 好友数量上限
181
+        FRIEND_IN_LIST = 8201, -- 已添加好友
182
+        FRIEND_NOT_IN_LIST = 8202, -- 未成为好友
183
+        APPEND_COUNT_LIMIT = 8203, -- 申请好友数量限制
184
+        APPEND_IN_LIST = 8204, -- 已在申请列表
185
+        APPEND_NOT_IN_LIST = 8205, -- 为申请好友
186
+        DAY_DELETE_COUNT_LIMIT = 8206, -- 每日删除好友上限
187
+        GIVE_NOT_FRIEND = 8207, -- 非好友赠送
188
+        GIVE_ALREADY = 8208, -- 已赠送
189
+        GIVED_ALREADY = 8209, -- 已接收赠送
190
+        BLACK_IN_LIST = 8210, -- 黑名单
191
+        BLACK_NOT_IN_LIST = 8211, -- 不在黑名单
192
+        PLAYER_COUNT_LIMIT = 8212 -- 对方好友数量上限
193
+    },
194
+    -- 新神巡狩
195
+    HUNT_TASK_NOT_FINISH = 8300, -- 任务未完成
196
+    HUNT_TASK_REWARD_ALREADY_GET = 8301, -- 任务奖励已经领取
197
+    HUNT_RATE_NOT_FINISH = 8302, -- 积分不足
198
+    HUNT_RATE_REWARD_ALREADY_GET = 8303, -- 积分奖励已经领取
199
+    -- 对战
200
+    BATTLE = {
201
+        IN_BATTLE = 8400, -- 有开始战斗
202
+        OFFLINE = 8401, -- 离线
203
+        MATCHING = 8402, -- 匹配中
204
+        FREE = 8403, -- 空闲
205
+        MAX_APPEND = 8404 -- 挑战队列已满
206
+    },
207
+    -- 委派
208
+    FRIEND_LIST_IS_EMPTY = 8500, -- 没有好友
209
+    APPOINT_STATUS_INIT = 8501, -- 未委派
210
+    APPOINT_STATUS_RUN = 8502, -- 委派中
211
+    APPOINT_STATUS_FINISH = 8503, -- 已完成
212
+    APPOINT_STATUS_CAN_FINISH = 8504, -- 委派中可完成
213
+    APPOINT_STATUS_NOT_FINISH = 8505, -- 委派中不可完成
214
+    APPOINT_COLOR_ERROR = 8510, -- 颜色不匹配
215
+    APPOINT_TOTAL_ATTACK_NOT_ENOUGH = 8520, -- 总灵力不足
216
+    APPOINT_SINGLE_ATTACK_NOT_ENOUGH = 8521, -- 单卡牌灵力不足
217
+    APPOINT_SPECIFIC_ATTACK_NOT_ENOUGH = 8522, -- 强制卡牌灵力不足
218
+    APPOINT_REFRESH_COUNT_LIMIT = 8523, -- 刷新次数不足
219
+    APPOINT_REPEAT_HERO = 8530, -- 委派英雄重复(同一个任务中)
220
+    APPOINT_REPEAT_HERO_OTHER_POS = 8531, -- 委派英雄重复(出现在其他委派任务中)
221
+    APPOINT_HELP_TOTAL_LIMIT = 8540, -- 支援总次数不足
222
+    APPOINT_HELP_ONE_TASK_LIMIT = 8541, -- 单次委派支援数超过上限
223
+    APPOINT_HELP_SINGLE_LIMIT = 8542, -- 单个玩家支援自己次数达到上限
224
+    APPOINT_HELP_TIME_LIMIT = 8543, -- 支援卡牌冷却中
225
+    APPOINT_TASK_NOT_CAN_REFRESH = 8550, -- 没有可以刷新的任务
226
+    APPOINT_TASK_NO_EVENT = 8560, -- 任务没有事件
227
+    -- 聊天
228
+    CHAT_SEND_COUNT_LIMIT = 8600, -- 每分钟发送条数达到上限
229
+    CHAT_SEND_SAME_COUNT_LIMIT = 8601, -- 每分钟发送相同消息条数达到上限
230
+    CHAT_SEND_TIME_LIMIT = 8602, -- 发送间隔太短
231
+    CHAT_SEND_TYPE_LIMIT = 8603, -- 发送类型未开启
232
+    -- 剧情副本
233
+    STAGE = {
234
+        NO_MORE_TIMES = 8700, -- 次数不足
235
+        LEVEL_LOCK = 8701, -- 等级未解锁
236
+        ERR_PLAYER_INFO = 8702 -- 玩家信息错误
237
+    },
238
+    -- 装备
239
+    EQUIP_LEVEL_LIMIT = 8800, -- 装备等级已达上限
240
+    EQUIP_IS_NOT_EXIST = 8801, -- 装备不存在
241
+    EQUIP_NO_AVAILABLE = 8802, -- 没有可用装备
242
+    EQUIP_NO_CHANGE = 8803, -- 装备没有发生变化
243
+    EQUIP_CANNOT_DECOMPOSE = 8804, -- 装备不可分解
244
+    STUFF_CANNOT_COMPOSE = 8805, -- 装备不可合成
245
+    STUFF_CANNOT_DECOMPOSE = 8806, -- 装备不可分解
246
+    EQUIP_BAG_COUNT_LIMIT = 8807, -- 装备位置不足
247
+    -- 等级
248
+    LEVEL_LOCK = 8900, -- 等级锁定功能上限
249
+    LEVEL_NOT_ENOUGH = 8901, -- 等级不足
250
+    LEVEL_REWARD_ALREADY_GET = 8902, -- 等级奖励已经领取
251
+    -- 抽奖
252
+    LOTTERY_TYPE_CLOSE = 9000, -- 抽奖类型未开放
253
+    LOTTERY_DAILY_COUNT_LIMIT = 9001, -- 每日抽奖次数不足
254
+    -- 榜单挑战
255
+    CHALLENGE_TIME_NO_START = 10000, -- 赛季未开启
256
+    CHALLENGE_TIME_END = 10001, -- 赛季已结束
257
+    CHALLENGE_COUNT_LIMIT = 10002, -- 挑战次数不足
258
+    CHALLENGE_PLAYER_NOT_RANK = 10003, -- 挑战玩家不在排行中
259
+    CHALLENGE_HERO_NOT_ENOUGH = 10004, -- 出战卡牌不足
260
+    CHALLENGE_PALYER_IN_FIGHT = 10005, -- 玩家正在被挑战
261
+    -- vip
262
+    VIP_LEVEL_LIMIT = 11000, -- VIP等级限制
263
+    ------------------- 俱乐部 -------------------
264
+    CREATE_CLUB_FAIL_TAG_REPEAT = 9000, -- 俱乐部创建失败,名字重复
265
+    CREATE_CLUB_FAIL_BRIEF_LEN_LIMIT = 9001, -- 俱乐部创建失败,简介内容长度超出
266
+    CREATE_CLUB_FAIL_NOT_PIC_ID = 9002, -- 俱乐部创建失败,没有头像id
267
+    CREATE_CLUB_FAIL_NOT_LEADER_UID = 9003, -- 俱乐部创建失败,没有指定会长uid
268
+    CREATE_CLUB_FAIL_VIP_LEVEL_LIMIT = 9004, -- 俱乐部创建失败,贵族权限限制
269
+    CLUB_NOT_EXIST = 9005, --俱乐部不存在
270
+    CLUB_MEM_FULL = 9006, --俱乐部人数已满
271
+    CLUB_JOIN_UPPER_LIMIT = 9007, --申请加入的俱乐部数量已达上限
272
+    JOIN_CLUB_FAIL_VIP_LEVEL_LIMIT = 9008, -- 俱乐部加入失败,贵族权限限制
273
+    JOIN_CLUB_MEMBER_ALREAY_IN = 9009, -- 俱乐部加入失败,玩家已经是该俱乐部成员
274
+    DEAL_CLUB_REQUIRE_NOT_DATA = 9010, -- 处理申请失败,申请数据不存在
275
+    RESIGN_CLUB_FAIL_TARGET_VIP_LEVEL_LIMIT = 90011, -- 俱乐部转让失败,被转让成员贵族等级不足
276
+    CLUB_OPT_MEMBER_NOT_EXIST = 90012, --俱乐部操作成员不存在
277
+    CLUB_TARGET_MEMBER_NOT_EXIST = 90013, --俱乐部目标成员不存在
278
+    CLUB_OPT_MEMBER_LEVEL_LIMIT = 90014, --俱乐部操作成员等级限制
279
+    CLUB_TARGET_MEMBER_LEVEL_LIMIT = 90015, --俱乐部目标成员等级限制
280
+    CLUB_TALK_FAIL_VIP_LEVEL_LIMIT = 90016, --俱乐部聊天失败,贵族权限限制
281
+    CLUB_JOIN_DAILY_NUM_LIMIT = 90017, --刚退出俱乐部,需要12小时后才能申请
282
+    -- 好友房
283
+    ROOM = {
284
+        NOT_EXIST = 91000, -- 房间不存在
285
+        DISMISSED = 91001, -- 房间已解散
286
+        -- 创建
287
+        CREATED = 91010, -- 已创建
288
+        CREATE_IN_TABLE = 91011, -- 已进入组局
289
+        CREATE_NULL_CLUB = 91012, -- 未加入俱乐部
290
+        CREATE_TABLE_CONF_ERR = 91013, -- 组局配置不存在
291
+        CREATE_ROUND_ERR = 91014, -- 组局回合数错误
292
+        CREATE_TAG_ERR = 91015, -- 组局不符合规定
293
+        CREATE_VIEWER_COUNT_ERR = 91016, -- 围观人数设置错误
294
+        CREATE_NULL_ID = 91017, -- 未能创建组局ID
295
+        CREATE_BAND_ERR = 91018, --
296
+        -- 进入房间
297
+        ENTER_VIEWER_MAX = 91020, -- 围观人数已达上限
298
+        -- 离开
299
+        LEAVE_BATTLE_START = 91030, -- 已开局,不能离开
300
+        -- 操作
301
+        OPT_PLAYER_NOT_EXIST = 91040, -- 玩家不存在
302
+        OPT_STATUS_ERR = 91041, -- 状态错误
303
+        OPT_HOST_ERR = 91042, -- 非组局者操作
304
+        OPT_NOT_EMPTY_SEAT = 91043, -- 不能坐下,无空位
305
+        OPT_ILLEGAL = 91044, -- 非法操作
306
+        OPT_BATTLE_CARD = 91045, -- 战斗卡错误
307
+        -- 开局
308
+        START_PLAYER_ERR = 91050, -- 开局,玩家数据不匹配
309
+        IN_ROOM_BATTLE = 91051, -- 开局,玩家已进入友谊战流程
310
+        -- band卡
311
+        BAND_NOT_OPT_PLAYER = 91060, -- 被操作玩家不存在组局
312
+        BAND_CARDS_ERR = 91061, -- 操作卡错误
313
+        BAND_CARD_ITERATE = 91062 -- 卡颜色重复
314
+    },
315
+    ------------------- 俱乐部 -------------------
316
+
317
+    ------------------- 功勋宝箓 -------------------
318
+    EXPLOIT = {
319
+        NOT_AWARD_ITEM = 92000, -- 宝箓 - 无此奖励
320
+        AWARD_ITEM_UNACTIVE = 92001, -- 宝箓 - 奖励未激活
321
+        AWARD_NOT_MORE = 92003, -- 宝箓 - 无可领取奖励
322
+        VIP_UNACTIVE = 92004, -- 宝箓 - 未激活vip奖励
323
+        BUY_ITEM_UNACTIVE = 92005, -- 宝箓 - 无此奖励
324
+        SEASON_RESET = 92006, -- 宝箓 - 赛季未开始
325
+        TASK_MODE_UNIDENTITY = 92010, -- 任务 - 无此模式任务
326
+        TASK_UNIDENTITY = 92011, -- 任务 - 无此任务
327
+        TASK_NOT_DONE = 92012, -- 任务 - 任务未完成
328
+        TASK_AWARDED = 92013, -- 任务 - 已领取
329
+        TASK_CHANGE_ITEM_AWARD = 92014, -- 任务 - 可领取,不可替换
330
+        TASK_CHANGE_NOT_MORE = 92015 -- 任务 - 没有可更换任务
331
+    },
332
+    ------------------- 功勋宝箓 -------------------
333
+    ------------------- 演武争彩 -------------------
334
+    HONOR = {
335
+        BATTLE_CARDS_ITERATE = 92100, -- 出战卡组 - 卡牌重复
336
+        BATTLE_CARDS_NOT_OWN = 92101, -- 出战卡组 - 未获得卡牌
337
+        BATTLE_CARDS_COLOR = 92102, -- 出战卡组 - 卡牌颜色重复
338
+        BAN_CARD_STATUS = 92103, -- ban卡 - 状态错误
339
+        BAN_CARD_OPERATE_UID = 92104, -- ban卡 - 非操作玩家
340
+        BAN_CARD_TARGET = 92105, -- ban卡 - 对手信息错误
341
+        BAN_CARD_TARGET_CARDS_UNSET = 92106, -- ban卡 - 对手未设置出战卡组
342
+        BAN_CARD_TARGET_CARDS_NOT_OWN = 92107, -- ban卡 - 对手未获得该卡
343
+        BAN_CARD_BANED = 92108, -- ban卡 - 已ban过
344
+        BATTLE_CARD_STATUS = 92109, -- 选择出战卡组 - 状态错误
345
+        BATTLE_CARD_CARDS_UNSET = 92110, -- 选择出战卡组 - 未设置出战卡组
346
+        BATTLE_CARD_CARDS_NOT_OWN = 92111, -- 选择出战卡组 - 未获得该卡
347
+        BATTLE_CARD_BANED = 92112 -- 选择出战卡组 - 卡牌被ban
348
+    },
349
+    ------------------- 演武争彩 -------------------
350
+    ----------------------------------------
351
+    -- 这里是结束(避免上一行加逗号问题)
352
+    THIS_IS_OVER = 100000000
353
+}
354
+
355
+function code.is_not_ok(errCode)
356
+    if errCode == nil or errCode ~= code.OK then
357
+        return true
358
+    end
359
+    return false
360
+end
361
+
362
+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