这个在线高分计划会被滥用吗?

发布于 2024-12-05 19:25:03 字数 672 浏览 1 评论 0原文

背景

使用在线高分列表的游戏的一个问题是它们经常被滥用。游戏将当前分数发送到服务器,狡猾的用户可以分析协议/方案并发送虚假分数。这就是为什么一些高分列表的得分为 999999。

此问题的常见解决方案是以某种方式加密分数,并在此基础上添加 识别错误分数的其他机制。但即使您这样做,发送分数的也是客户端,并且客户端位于用户的计算机中,可以进行逆向工程。

我的想法是,

我正在设计/思考一款游戏(我将完成它,是的,是的:)),您可以在其中配置您的玩家/机器人,并提供有关如何执行任务的说明(以及何时这些说明是进行)。当按下“Go”按钮时,游戏将运行指令。最后获得结果,如果成功,则获得分数。

那么,这样怎么样:不提交分数,将实际指令发送到服务器,并使用相同的实现来运行它们。然后服务器计算分数并将用户放入高分列表中。

问题

有没有办法滥用这个想法来获得错误的分数?

我知道这可能不是一个新想法。但如果它有效,那么将其扩展到其他游戏也并非不可能,因为可以记录所有用户操作。

Background

One problem with games using online highscore lists is that they often can be abused. The game sends the current score to the server and a cunning user can analyze the protocol/scheme and send bogus scores. That is why some highscore lists are topped with 999999 scores.

A common solution to this problem is to encrypt the score in some way, and on top of that put other mechanisms to recognize false scores. But even if you do this, it's the client that sends the score and the client is living in the user's computer and can be reverse-engineered.

My idea

I am designing/thinking about a game (that I will complete, yeah right :) ) where you configure your player/robot with instructions on how to perform a task (and when these instructions are to be carried out). When a "Go" button is pressed the game runs the instructions. Finally a result and, if successful, a score, is obtained.

So, how about this: Instead of submitting the score, the actual instructions are sent to the server, where they are run, using the same implementation. Then the server calculates the score and places the user on the highscore list.

The question

Are there ways this idea can be abused to get a false score?

I understand that this probably is not a new idea. But if it works, it wouldn't be impossible to extend it to other games too, where it is possible to record all user actions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时光暖心i 2024-12-12 19:25:04

只要机器人程序的行为不依赖于计算机的速度就可以了,如果程序非常小,最多几千字节,那么就可以正常工作;我能想到的欺骗它的唯一方法是,如果有人克隆工作空间并运行一个程序来找到机器人的最佳程序,然后将其放入并提交,或者如果有人发布了解决方案,并且人们使用了它,但两者都其中一些问题可以通过随机化来解决。

(关于速度相关游戏问题的注释,如果计算机无法全速运行,游戏均匀地减慢速度是可以的,但如果物理时间步长取决于帧速率,则可能会遇到诸如跳跃之类的问题高度随帧速率变化)

as long as the robot program's behavior doesn't depend on the speed of the computer it'll be fine and if the programs are quite small at most a few kilobytes this would work fine; the only way i can see to cheat it is if one cloned the work space and ran a program to find the optimal program for the robot and then put it in and submitted it or if some one posted the solutions, and people used that but both of those issues can be solved with randomization.

(a note about the issue of speed dependent games, it's fine for the game to uniformly slow down if the computer can't run it at full speed but if the physics time step depends on the frame rate, you can get problems like the jump height varying with the frame rate)

时光与爱终年不遇 2024-12-12 19:25:03

人们总是会找到一种作弊的方法,但这似乎是一个合理的对策。您必须考虑您的预期流量级别,因为您的方案将需要比仅记录客户端发送的高分更多的资源。

但是,顺便说一句 - 这个游戏听起来非常像我的工作(向机器发出指令,以便它执行某些任务)。虽然没有高分板(尽管那会很棒)。

People will always find a way to cheat, but this seems like a reasonable counter measure. You'll have to consider your intended traffic levels as your scheme will require more resources than if it was just recording the high score sent by the client.

But, as an aside - this game sounds an awful lot like my job (giving instructions to a machine so it performs some task). No high-score board though (although, that would be awesome).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文