原插件活动修改记录

原有插件活动修改记录


插件活动相同修改

插件活动名称和广播key

  • 原插件配置文件中actnamekey作为广播key,现修改为actnamekey未插件名称key,添加broadcastkey字段表示广播key;
  • v2.0.3, 2021-01-25

公共模块 public

配置文件分离

  • 原插件活动的配置都记录在同一份配置文件ms_activity_lua.xml中,会导致该文件会越来越臃肿,不便于查看,故新增插件活动的配置单独记录一份配置文件,添加了新增插件配置文件的处理;
  • v2.0.1, 2020-12-04

线上插件活动未按时开启

问题描述

  • 问题:线上更新插件配置文件并执行gm命令重载后,到了预定的插件活动开启时间,插件并未开启;
  • 原因:当前更新的插件配置文件中,插件的开启时间是在当前时间之后,而目前的插件配置处理是:初始化时读取插件每一期的开启时间段,以当前时间判断该插件是否开启并记录开启状态,之后就一直使用该状态,导致实际的插件开启状态没有随时间更新;
  • 解决:初始化时读取插件每一期的开启时间段,不在根据当前时间计算开启状态,而是记录在当前时间之后的每个时间段,在需要判断插件是否开启时,以当时的时间和记录的各个开启时间段判断是否开启
  • v2.0.4, 20201-02-20

线上插件活动预发测试

  • 需求:目前线上插件活动的测试,需要在配置文件更新后,这时实际已经发布到正式服,即对玩家已经开放使用了,如果出现问题会带来不好的游戏体验,故在正式服正式发布前,添加一个预发阶段,使用预测账号在正式服上进行测试,发现问题及时修改;
  • 配置文件ms_activity_lua.xml添加预测账号列表,每一期的插件活动添加一个预发字段pretest表示这一期活动是否是预发测试阶段,可以不配置表示不是预发;
  • 预发测试账号不要配置太多,已过期的活动内容不要保存太多;
  • 功能未发布

祈福 pray


绘卷 bingo


大富翁(寻宝) adventure

扔骰子抽奖过程中退出寻宝

问题描述

  • 问题:消耗骰子,得到了商城的奖励,但是客户端实际没有获得
  • 原因:服务端实际下发奖励通知,但是客户端退出了寻宝导致该消息被丢弃没有处理;
  • 解决:抽奖得到了商城的奖励,则服务端通知客户端并记录奖励等数据,等待客户端确认后再清除该数据,没有得到回复则一直保留,在客户端下次请求时将该奖励下发客户端;

修复版本

  • v2.0.4
  • 2021-02-20

交互协议

新增部分交互结果
local EnumResult = {
    success = 0, -- 成功
    module_close = 1, -- 模块未开启
    id_error = 2, -- id错误
    param_error = 3, -- 参数错误
    consume_goods_error = 4, -- 使用道具失败
    activity_no_open = 5, -- 活动未开启
    add_goods_error = 6, -- 添加道具失败
    redis_error = 7, -- redis失败
    click_too_fast = 8, -- 点击太快(防止一瞬间多次请求)
    logic_error = 9, -- 逻辑错误
    config_error = 10, -- 配置错误
    no_data = 11, -- 不存在map数据
    data_error = 12, -- 数据错误
    quize_timeout = 13, -- 问答已过期

    -- 新增
    last_roll_not_exist = 14, -- 不存在未回复的抽奖数据
    roll_ack_not_match = 15, -- 抽奖回复不匹配
}
抽奖 opid=2
  • 回复数据添加部分字段
    result=结果,[新增]last_roll_not_do表示收到该结果需要请求上次抽奖数据(opid=5),
    id=当期活动期数id,
    rollnum=骰子点数,
    statmap=地图等数据,
    actionlist=响应的动作列表(注意:如果type=11表示获取商城奖励{type,data,flag},会增加一个字段flag:字符串,唯一表示该数据,需要客户端请求到商城后给服务端回一个包,内容中的ackflag=flag),
    
抽奖回包确认 opid=6
  • [新增]协议
  • 客户端请求包

    opid=6,
    data={
      id=当前活动期数id,
      ackflag=确认标记
    }
    
  • 服务端回复包

    result=EnumResult.success/param_error/id_error/activity_no_open/redis_error/last_roll_not_exist/roll_ack_not_match,
    id=当期活动期数id
    
请求上次未处理的抽奖数据 opid=5
  • [新增]协议
  • 客户端请求包

    opid=5,
    data={
      id=当前活动期数id
    }
    
  • 服务端回复包

    result=EnumResult.success/param_error/id_error/activity_no_open/redis_error/last_roll_not_exist,
    id=当期活动期数id,
    shopactionlist=响应的动作列表(只有商城相关的数据{type,data,flag})
    

九星连珠 stargaze

消耗与掉落日志无法关联

问题描述

  • 问题:消耗的道具与得到的奖励的日志都是单独记录的,但是两者之间无法关联起来,既不知道消耗了道具后得到了什么;
  • 解决:在消耗与掉落日志中哥增加一个字段id,通过该字段将两者关联

修复版本

  • v2.0.1
  • 2020-11-02