9月21日事故报告
事故总结:由于没有验证上传的Ver.1.0.7安装包能否覆盖旧版本,导致出现广大提督不得不卸载后重新安装,以至于丢失账号。
事故过程:
1.背景说明
(1)苍青幻影在开发时决定使用3个平台:iOS Appstore(下称iOS),Android Google Play(下称Google Play),Amazon App Store(下称Amazon),3个平台的包体相互独立,并使用不同签名。(3个平台的包体所连接的服务器相同,用户数据共通,有偿α水晶不共通,无偿α水晶共通)
(2)低版本的包体在升级时只能使用对应平台的高版本包体,其中Google Play包体在发布过程中,签名会经过Google Play认证并修改一定的内容。(如果原本安装Amazon的1.0.5版本则不能使用Google Play版本进行覆盖安装)
(3)上传Google Play的新版本包体由于没有经过Google Play的认证,因此不能直接覆盖旧版的经过Google Play认证的旧版包体。
2.经过说明(本报告均采用日本时间)
由于开服初期没有对广大中国提督提供标准版安装包,导致各个平台上流传的版本包括Google Play1.0.3版,Google Play1.0.5版,Amazon1.0.3版,Amazon1.0.5版
9月21日更新时,由于1.0.5的包体对本次建造活动及海域活动不能完美支持,因此需要强制更新到1.0.7版本。
9月20日晚3个平台分别提审。为了不影响中国提督更新版本,9月20日晚10点我们上传了尚未公开的Google Play版1.0.7(A)版并生成了链接。
鉴于iOS1.0.7(A)版本在日本时间9月21日凌晨过审,3个平台的包体计划在9月21日上午11点公开。
9月21日 9点45分,发现A包体存在一个可能导致闪退的问题开始进行紧急修正,iOS临时屏蔽问题功能,Google Play和Amazon重新生成安装包。10点30分提交Google Play和Amazon版本(B版本)。
由于内部情报传递失误,导致11点时错误的1.0.7(A)版本的链接被发布在贴吧。11点30分前后发现包体错误,紧急上传了未经过Google Play平台的原生版1.0.7(B)版本至百度云盘,并在贴吧公开。
11点45分,发现1.0.7(B)版本无法覆盖安装旧有版本。紧急生成新的安装包1.0.7(C)版本。
11点55分,经内部测试发现1.0.7(C)版本依然无法覆盖安装旧有版本(原因是未上传至Google Play并公开)
11点58分,为了保证12点活动正常开放,服务器启动强制更新进程。
12点,建造活动开放。
由于此时收集来的旧版本包体中查出3个Google Play版本及2个Amazon版本,查验的包体中Google Play1.0.3版本的签名与现行1.0.7版本签名不同,1.0.5版本的签名与现行1.0.7版本相同(仅验证了我们自己的签名)。
我们判断,无法通过一个统一的包体保证所有提督的覆盖安装。因此决定让无法覆盖安装的提督卸载旧版本,重新安装。
13点10分,发布第一版道歉公告,并附加了百度网盘的链接。
17点50分,发现第一版道歉公告的阅读量为3,且无法推广。
18点40分,发布没有百度网盘链接的第二版道歉公告,发现依然无法被阅读。
19点07分,尝试发布【Ver.1.0.7版本已知bug】,发现可以被阅读
19点25分,重新制作第三版道歉公告,并发布。
事故后总结
1.运营初期没有向中国提督提供合适的下载途径。
2.没有提前验证Google Play的签名机制
3.内部沟通不善
4.没有提前研究微博的屏蔽机制
防止再发方案
1.向中国提督提供官方下载方式。(目前计划为设置新的中文主页)
2.所有包体进行交叉安装测试。
3.重新审视计划排期,提前预留充裕的更新时间用以验证。
本次事故给广大提督带来了诸多不便,我们表示万分抱歉。我们会将会在之后的工作中注意相关问题的处理,尽可能避免再次发生。
感谢广大提督一直以来的支持与配合。