10
如何检测和防止滥用在线游戏API?
我一直在业余时间一直在致力于游戏创意。游戏玩法和内容使其可以实现为使用完善的网络技术构建的在线多人游戏。您应该知道,它属于策略和模拟类型。这意味着:不能与字符或类似内容四处奔波,而只能执行诸如“在位置X上构建事物A”之类的原子动作(关于客户端-服务器通信)。 有一次我意识到存在一个巨大的问题:基于REST API后端的基于浏览器的前端使其成为机器人的绝佳目标。尽管自动化对于企业来说是可取的,但它却对游戏乐趣无益。过去,我是在浏览器游戏中亲身经历的,最成功的玩家是机器人,它征服了所有人。 从我当前的角度来看,在基于REST API构建多人在线游戏时,我看不出有任何防范僵尸程序的可能性。例外:将其开源,以便每个人都可以托管自己的私有组实例,甚至只是一个人(以免被僵尸机器人惹恼)。 有什么办法可以区分只为下一个可能的动作设置警报的诚实玩家和自动抓住一切机会出现的机器人。除了诸如captchas这样的节目停止者。如果没有,我会考虑另一种技术堆栈,这至少会使与客户端-服务器通信(本机代码客户端中的专有加密二进制协议)混乱的难度更大。 编辑:谢谢,您的回答令人鼓舞,但也让我意识到,不能通过进一步研究游戏细节来制定特定的对策。但是,对于Stack Exchange上的一个问题来说,这太多了。所以我只想指出最重要的几点: 玩家随时随地都在探索,发展和管理。脱机时,他们的业务仍然运转良好(这是一个和平的游戏,不涉及任何武器)。只有扩张和进步才需要玩家采取行动。这些动作受到以下因素的限制: 时间是关键资源之一(例如在EVE Online技能培训中)。游戏中的所有流程都需要它。24/7全天候在线是没有意义的。普通玩家应该已经成功,每天花一两个小时不超过一个小时(大致来说,这个概念还在开发中)。