如何从 Google Play 游戏服务排行榜中删除被黑分数?
Posted
技术标签:
【中文标题】如何从 Google Play 游戏服务排行榜中删除被黑分数?【英文标题】:How to delete a hacked score from Google Play Game Services leaderboard? 【发布时间】:2015-09-30 03:53:40 【问题描述】:我的排行榜自创建以来就开启了防篡改功能,但一名玩家添加了数百万分的黑客得分(人类可达到的最大得分低于 1000)
我怎样才能只删除那个被黑的分数?这一定是一种方法......但在文档中找不到:https://developers.google.com/games/services/common/concepts/leaderboards
【问题讨论】:
【参考方案1】:查看players.hide() 电话。这将从公共排行榜隐藏玩家和他/她的所有分数,以便其他人无法看到它们。
请注意,此 REST 调用未内置到移动库中;您需要创建自己的迷你网络应用程序(或直接进行 curl 调用)才能使用此调用,尽管有一个管理工具示例应用程序可供您使用 here,这可能会让您的生活更轻松。
哦,如果您知道人类可达到的最高分必须为 1000 分,请在 Play 游戏控制台中为该排行榜指定 1000 分的“最高分”。
【讨论】:
管理工具似乎不再工作了...希望有人可以更新它...【参考方案2】:我所做的是某种混淆。
我的意思是,我确实将数字替换为类似
的字符串0 = #$%@&*52$*@
1 = #$%@&*84$*$
2 = #$%@&*58$*#
分隔为另一个唯一字符串,例如:%$$90&* 等等。
所以当我发布乐谱时,首先我会进行查找和替换 每个数字的字符串,因为我在本地发布分数 数据看起来像;
122 = #$%@&*84$*$%$$90&*#$%@&*58$*#%$$90&*#$%@&*58$*#
所以发布一个被黑的分数有点困难(并非不可能)
【讨论】:
【参考方案3】:你可以按照this article 中的说明,使用Google Developers OAuth 2.0 Playground 来执行@todd-kerpelman 提到的players.hide(),但这仍然是一个非常繁琐的过程。
我之前也使用过management-tools,但它似乎不再工作了。
【讨论】:
【参考方案4】:因为现在可以在开发过程中重置排行榜。
您只能重置草稿排行榜的玩家进度数据。
要在 Google Play 开发者控制台中重置排行榜,请点击该活动表单底部标有重置排行榜进度的按钮。要以编程方式重置排行榜数据,请调用 Management API Scores 方法。
参考:https://developers.google.com/games/services/common/concepts/leaderboards#resetting_a_leaderboard
【讨论】:
它不是在开发中,它已发布,所以我无法重置它。我不敢相信没有办法从谷歌排行榜中清除作弊分数.... 如果它被黑客入侵,您将无能为力。我想了一个办法让它变得更难。我总是将玩家的分数保存在两个变量上,但一个是数字的总和,例如:玩家获得 10 分,我将在一个中保存 10,在另一个上保存 11,我只将分数发送到排行榜例如,如果“var1 == var2 - 1”。这只是一个想法。以上是关于如何从 Google Play 游戏服务排行榜中删除被黑分数?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Google Play 游戏服务中获取排行榜和成就信息