事故回顾和处理
1月28日,世界Boss战奖励连续发50封奖励邮件!
问题原因:是erlang的一个匹配错误,导致进程状态保存失败,三测后新增的功能引起,
当少量玩家测试时不会有问题,只有大量玩家一起玩的时候才会有问题;
解决办法:
用try catch end的方式写发放奖励的代码,避免异常重复发奖励
经验教训:
多人玩法修改新增功能,需要用机器人重新测试流程
1月29日,服务器 ticket 校验居然没开!
经验教训:
开服前再次检查确认服务器所有配置
1月30日,本地调试日志功能拉线上服日志影响线上充值,深夜3点到早上9点,160多订单!
经验教训:
1. 不经过充分测试的功能不能上线;
2. 合理启用UCMT的电话通知功能;
2月03日,停服更新,引起竞技场积分清零,开服加载数据时漏了一张表引起
年后计划
后端
跨服活动:战场、排行榜、军团
跨服中心,数据同步,逻辑调整
合服
数据库合并(表直接合并,表取舍,某些字段的修改合并)
数据库备份和恢复
备份:mysql主从同步
回档:定时备份
测试和CodeReview
加强后端机器人功能模块测试,特别是多人玩法
远古传说总结:
一.活动系统相关:
1. erlcron 处理以下时间(weekly)回调时间错误,统一用daily投递,回调时再判断星期;
2. 第三方库erlcron并不支持超过45天的定时任务;
二.天梯赛相关:
1. 程序设计的时候需要考虑策划规则bug
挑战列表按策划给出的刷选规则,在名次比较前的时候,出现挑战列表重复的现象;
三.聊天系统
1. 如果运营有通过跑马灯搞活动的需求,世界聊天最好预留配置跑马灯内容的接口或者
预留足够的带宽;
四.邮件系统
1. 尽量避免同一时间内,向大量离线玩家发邮件,用event:offevent 实现,写数据库操作
每晚8点天梯赛邮件奖励发放处理方式:
另起进程平滑发邮件timer:sleep(10) (每0.01秒发一个玩家,目前离线玩家event,大概每分钟处理2w条记录)
五.成就称号系统
1. 如果游戏有这个玩法系统,尽量尽早规划上线,如果等游戏商业化一段时间后再规划的话,
在采集各系统采集数据时,处理比较麻烦,需要在玩家登录的时候,做各系统数据检查是否
达到成就称号需求,耗时低效;
六.单人副本玩法相关(秘境,守护圣石头等)
做好玩家与怪物的属性校验,防止外挂作弊
七.多人副本多人玩法相关
1. 寻路初始实现:用python根据地形坐标点生成寻路所需的数据,用erlang实现广度优先遍历
缺点:a. 地形数据生成流程复杂,导出性能低;
b. 寻路效率一般
2. 寻路功能改进实现:采用U3D引擎导出的地形数据,用C++封装起来,引入第三方库raycast实现;
3. wunit被覆盖的问题
1月28日,世界Boss战奖励连续发50封奖励邮件!
问题原因:是erlang的一个匹配错误,导致进程状态保存失败,三测后新增的功能引起,
当少量玩家测试时不会有问题,只有大量玩家一起玩的时候才会有问题;
解决办法:
用try catch end的方式写发放奖励的代码,避免异常重复发奖励
经验教训:
多人玩法修改新增功能,需要用机器人重新测试流程
1月29日,服务器 ticket 校验居然没开!
经验教训:
开服前再次检查确认服务器所有配置
1月30日,本地调试日志功能拉线上服日志影响线上充值,深夜3点到早上9点,160多订单!
经验教训:
1. 不经过充分测试的功能不能上线;
2. 合理启用UCMT的电话通知功能;
2月03日,停服更新,引起竞技场积分清零,开服加载数据时漏了一张表引起
年后计划
后端
跨服活动:战场、排行榜、军团
跨服中心,数据同步,逻辑调整
合服
数据库合并(表直接合并,表取舍,某些字段的修改合并)
数据库备份和恢复
备份:mysql主从同步
回档:定时备份
测试和CodeReview
加强后端机器人功能模块测试,特别是多人玩法
远古传说总结:
一.活动系统相关:
1. erlcron 处理以下时间(weekly)回调时间错误,统一用daily投递,回调时再判断星期;
2. 第三方库erlcron并不支持超过45天的定时任务;
二.天梯赛相关:
1. 程序设计的时候需要考虑策划规则bug
挑战列表按策划给出的刷选规则,在名次比较前的时候,出现挑战列表重复的现象;
三.聊天系统
1. 如果运营有通过跑马灯搞活动的需求,世界聊天最好预留配置跑马灯内容的接口或者
预留足够的带宽;
四.邮件系统
1. 尽量避免同一时间内,向大量离线玩家发邮件,用event:offevent 实现,写数据库操作
每晚8点天梯赛邮件奖励发放处理方式:
另起进程平滑发邮件timer:sleep(10) (每0.01秒发一个玩家,目前离线玩家event,大概每分钟处理2w条记录)
五.成就称号系统
1. 如果游戏有这个玩法系统,尽量尽早规划上线,如果等游戏商业化一段时间后再规划的话,
在采集各系统采集数据时,处理比较麻烦,需要在玩家登录的时候,做各系统数据检查是否
达到成就称号需求,耗时低效;
六.单人副本玩法相关(秘境,守护圣石头等)
做好玩家与怪物的属性校验,防止外挂作弊
七.多人副本多人玩法相关
1. 寻路初始实现:用python根据地形坐标点生成寻路所需的数据,用erlang实现广度优先遍历
缺点:a. 地形数据生成流程复杂,导出性能低;
b. 寻路效率一般
2. 寻路功能改进实现:采用U3D引擎导出的地形数据,用C++封装起来,引入第三方库raycast实现;
3. wunit被覆盖的问题