
在上周举行的联合欧洲2015大会上,比尔·罗宾逊和伦敦Space Ape Games公司的西蒙·瓦特莫(Simon Watmough)为试图协调和管理游戏即服务的开发者分享了一些技巧。
工作室在武士围攻和敌对王国中经历了两次GaaS开发,它遇到的最大问题之一是黑客攻击。
围困
“我们有两种主要类型的黑客行为,Watmough说。
“我们伪造了平台收据,也就是黑客向你发送一张收据,比如说App Store的收据,并试图欺骗你的服务器,让它们认为自己购买了一些没有付费的东西。”
“这些其实没什么大不了的,只要你遵循苹果和谷歌的文档,你就能相当简单地发现它们...但我们确实收到了大量这样的邮件,人们只是喜欢碰碰运气。”
“然而,第二种——内存黑客——是一个更大的问题,”他警告说。
“基本的前提是,黑客将你的游戏加载到他们的工具中,他们去搜索他们拥有的钻石数量,然后他们可以随便改变它,比如1200万,现在他们再也不用花钱了。”
“这些确实需要越狱和根植设备,”他补充道,“但这不再是什么大问题了。”
西蒙·瓦特莫在2015年联合欧洲的舞台上
“假设我启动了我的黑客工具,我进入了一场战斗,我攻击了一个武士的生命值从1200万到1200万——所以现在我的一个武士只是清理了整个基地,我就赢了。服务器无法模拟整个战斗(由于代码复杂),所以它只能信任客户端。”
“内存黑客是一个更大的问题”Simon Watmough
这种犯规行为,如果不解决,会导致沮丧和球员沉浸感的丧失。
“所以它会在受害者的账户上造成损失,拿走一些奖励,当受害者下次登录时,他会看到他被打败了,”Watmough继续说道。
“但当他检查重播时,一切都不同步了...玩家讨厌这种不一致,它破坏了游戏的整体。”
“我们在武士围攻中采取的最初方法是从本质上散列攻击大脑数据,所以我们会查看重播,并确定哪些属性被玩家入侵,为他们提供防御,然后将这些构建释放到野外。”
“但整个过程会不断重复,我们会陷入一场军备竞赛,不断不得不发布,这违背了我们的游戏即服务的意图。”
哈希在其他方面也不完美——它依赖于Watmough所说的“通过模糊实现的安全性”,并且在面对更先进的黑客手段时很脆弱。
反击
转到这些问题在敌对王国是如何解决的,比尔·罗宾逊接手。
“随着敌对王国的发展,这是我们有机会改进的其他事情,所以真正检测这些问题的最好方法是在服务器上完全验证战斗,”他说。
然而,与《武士围攻》中相同的问题出现了——统一两种语言是不切实际的,用C#重写服务器架构被认为是“不可行的”,而用Scala重写战斗引擎将是“过于昂贵的”
比尔·罗宾逊
“所以我们想,不如我们把[战斗引擎]包装在它自己的微服务中,在C# mono运行时,让我们用它来验证战斗。”
这个微服务被描述为“最小责任”,只有三个功能要执行:它接收战斗输入,运行战斗,并发回结果。
“客户端会生成这个[战斗验证日志]...然后,产生这些冲突的服务器也会产生这些冲突,这使我们能够在发现有问题时,通过文件差异工具查看这些冲突。”
“我们真的可以挖掘和分析战斗中发生的事情,这对我们真的很有帮助。”
关于Space Ape的黑客防范技术的更详细的描述,以及GaaS开发人员的其他技巧和见解,可以在YouTube上观看完整的演讲。