Как надежно считать время во флэш-игре? - PullRequest
2 голосов
/ 29 мая 2010

Я занимаюсь разработкой Flash-игры на ActionScript 2, и проблема заключается в том, что в этой игре необходимо надежно отсчитывать время.

Невозможно сосчитать время из класса Date, поскольку Flash Player используетвремя с локального компьютера, и пользователь может изменить местное время, чтобы сообщаемое время было поддельным.

Я не собирался брать время с сервера, потому что есть 3WH (трехстороннее рукопожатие)время, и это не будет практичным.

Что вы мне предлагаете ??

Ответы [ 2 ]

3 голосов
/ 29 мая 2010

Вы не можете выполнять безопасные вычисления в системе пользователя. Они могут манипулировать этим.

Если это проблема, ваш единственный реальный выбор - сделать это на сервере. Конечно, они могли бы изолировать ваше приложение и подделать разговор с сервером, так что это не совсем безопасно изнутри клиента, но в большинстве случаев это не вызовет большой проблемы, поскольку это должно просто повлиять на этого пользователя (если только данные от / Подделанное соединение с сервером затем отправляется куда-то, чтобы повлиять на других пользователей).

1 голос
/ 29 мая 2010

Когда вы разрабатываете игры, которые работают в системе, которую вы не контролируете, решения, по сути, не существует, вы можете усложнить задачу людям, но вы никогда не сможете быть уверены, если вы не измените свою игру для запуска на сервере для всех. важные части. Даже если вы заставите игру вызвать сервер на время, только люди могут вставить прокси и подделать ответ ...

Так что вы действительно хотите быть уверены, что никто не испортит игру, которую вы должны запустить на сервере (я знаю, что в большинстве случаев это нежелательно и / или невозможно). Во всех других случаях вы можете сделать это сложно (обфусцировать игровой код, зашифровать общение), но никогда невозможно - обратитесь к Google за множеством предложений по его усложнению или посмотрите здесь и здесь .

Лучший способ решить эту проблему - устранить стимул для игроков обманывать, чтобы они просто не попробовали его вообще - конечно, в большинстве случаев это действительно сложно.

См. Также: Cheat Engine , если вы не знали об этом.

...