首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cocos2d-x上的HTTPS

Cocos2d-x上的HTTPS
EN

Stack Overflow用户
提问于 2012-10-13 11:42:18
回答 3查看 2K关注 0票数 5

我正在实现一个基于cocos2d-x的游戏应用程序。为了在技术上防止欺骗,采用HTTPS进行所有客户端与服务器的通信,使得获取数据格式/游戏逻辑和发送修改请求进行欺骗变得困难。(我知道“防止”实际上是不可能的,但为了增加游戏作弊的成本,没关系。)我的问题是,

  1. 在Cocos2d-x中,如何提出HTTPS请求?有可能吗?
  2. 在更一般的情况下,技术上如何减少这样的游戏黑客行为?采取什么策略?
EN

回答 3

Stack Overflow用户

发布于 2013-03-08 23:09:09

对于本机跨平台C++网络,您可以考虑使用Boost C++库。Boost.Asio是用来建立网络的。

Boost.Asio链接:asio.html

Boost.Asio教程链接:asio/tutorial.html

虽然没有得到官方的支持(仅仅是由于缺乏对iOS和安卓的回归测试),Boost在iOS和安卓(可能还有其他基于C++的移动平台)上没有任何问题。

为了防止作弊,您通常依赖外部源(可以是您的游戏服务器),例如,如果您的游戏依赖于一天中的时间,您可以从外部服务器获得时间。您可以使用加密库在客户端和服务器端进行数据传输。

票数 2
EN

Stack Overflow用户

发布于 2012-12-19 06:45:46

通过使用curl库,您可以进行https连接。如果你想在技术上保护你的游戏,使用你自己强大的加密技术。

谢谢

票数 0
EN

Stack Overflow用户

发布于 2013-12-19 21:23:53

嗨,这是我们一直面临的问题。如果作弊仅限于作弊者的情况,那么这些问题是学术性的,应该在你的业余时间学习。

另一方面,当你的收入受到影响,或者当骗子的行为影响到其他玩家并降低游戏体验时,你应该努力测试游戏状态中的不一致性,确保客户/服务器事务安全,并以非常微妙的方式处理欺骗行为,以避免完全阻碍作弊者的兴趣。

C++ https实现可以随curl和boost一起使用。

关于游戏数据,最简单的方法是测试不一致的分数。您可以添加一些指标,以避免污染您的领导板。您可以根据分数的组成部分添加特殊的校验和(用于游戏的时间、加法次数和收到的分数乘数.)如果您可以重新计算服务器上的分数,如果发现不一致,您可以处理它。

此外,您还可以获取游戏状态的即时信息和一些命令,对其进行编码并在服务器上重新播放序列,以检查是否不一致。不管你喜欢什么,都要对付骗子。

在服务器上运行时,让服务器管理游戏状态,不允许客户端的游戏状态更改会影响玩家。检查输入一致性等..。

在使用微事务时,每个微事务都应该与供应商服务器进行验证,然后才能完全提交到播放机的帐户。

即使这些论文12从阀门引用fps游戏,他们应该给您一些关于如何处理状态不一致(由通信延迟引入)的指点。它应该有助于避免假阳性和破坏经验的非作弊者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12872772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档