我计划为Android和iOS制作MMORPG。我将使用Unity 5.我还计划将用户值存储在Google Play服务附带的Google服务器中。我存储了金额,等级,强度点,库存中的物品,技能解锁等值。我不打算允许玩家离线玩游戏。他们必须登录自己的Google帐户才能玩游戏。
以下是问题:
答案 0 :(得分:2)
我还打算将用户值存储在即将推出的Google服务器中 使用Google Play服务
不。不要这样做。
我不打算允许玩家离线玩游戏
好主意。
你所有其他问题的答案是任何游戏都可以被黑客入侵。任何游戏服务器都可能被黑客入侵。使用Google Play服务的情况更糟,因为您无法保护自己。
如果您的游戏是在线MMORPG,您需要获得一个月费或甚至是专用服务器的服务器。
您无法阻止黑客入侵,但您可以减少。
减少黑客行为的方法:
<强> 1 即可。获取服务器而不是Google Play,因为您在Google Play服务器上可以获得许可。你不能在AFAIK那里运行自己的游戏脚本。
<强> 2 即可。玩家必须注册并登录才能玩游戏。
第3 即可。在服务器端执行所有安全/购买操作。如果您在客户端进行此操作,则可以在iOS和Android上对其进行反编译,修改和重新编译。
例如,当玩家想要买东西并且该东西需要玩家没有的分数时,不要在玩家方面进行检查,在服务器端进行。
<强> 4 即可。当您检测到玩家作弊时,请禁用该播放器,然后禁用该IP地址约一周。不要永远禁止IP地址,因为有些DSL用户只需重置调制解调器即可更改其IP地址。当他们这样做时,你现在正在禁止另一个被禁止IP的无辜者。您可以永久禁用该帐户,或者在永久禁止帐户之前将其暂时禁止作为警告。你在这里设置规则。
<强> 5 即可。您可以将每个帐户与播放器的MAC地址,iPhone UDID,设备序列号或设备中的任何唯一编号相关联。当玩家被禁止时,他们可能会尝试注册另一个帐户。如果使用相同的设备进行注册,请不要让玩家注册。使用数字简单显示网络错误。不要告诉玩家他们无法再次注册,因为他们的帐户/设备已被禁止。如果你这样做,他们可以轻松绕过禁令机制并再次注册。
使用帐户,自定义服务器,禁止播放器是减少网络游戏黑客攻击的最佳方法。还有很多其他方法,但我无法继续前进。
您需要了解的内容:
服务器端的PHP,MySQL 。客户端/ Unity端的 Unity C#,Unity网络API 。
现在,如果你真的希望网络游戏的速度提高50倍,那么服务器端的使用C ++(FastCGI),MySQL连接器。客户端/ Unity端的 Unity C#+原始套接字。我建议你选择这条路线。