Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как защитить таймер от накрутки? (http://www.flasher.ru/forum/showthread.php?t=210238)

Godwarlock 11.02.2015 18:01

Как защитить таймер от накрутки?
 
Всем известно, что злоядный читер может подкрутить время и ускорить/замедлить таймер во флешке. Есть у кого какие документации по избеганию этой проблемы?

GBee 11.02.2015 18:34

синхра с сервером?

Godwarlock 11.02.2015 18:47

Сервер на php, все равно можно синхронизировать? Если да, то есть какая-нибудь документация по этому поводу

faraday 11.02.2015 20:43

При старте таймера сохраняйте на сервере. При завершении таймера на клиенте, спрашиваете у сервера правда ли это, можете ставить допуск +- 5 сек.

GBee 11.02.2015 20:45

Ну всякое можно придумать, кстати есть же еще время от начала работы флешки. Можно наверно им проверять кулхацкеров. Ну и с серваком простенький валидатор иногда проверять и если что, наказывать.

caseyryan 11.02.2015 20:51

Я пользуюсь этой штукой https://github.com/charlespalen/AS3-NTP-Implementation
Реализация NTP протокола на as3. Позволяет получить время с нескольких серверов в интернете. Удобно, не обязательно держать свой сервер, чтобы только спросить у него "сколько время"
Цитата:

можете ставить допуск +- 5 сек.
Да я думаю тут можно и по-больше допуск

C4Grey 12.02.2015 17:27

Обычно хватает просто проверки разницы new Date().getTime() - oldTime; Так как дату кулхацкер не меняет(а если и меняет, то точно подогнать под "ускоренное" время вряд ли сможет - этого хватает. Можно проверять либо через определенное количество тиков игрового таймера(на каждом не стоит, чтобы не создавать постоянно экземпляр Date), либо в конце игровой сессии. Конечно, нужны допуски, так как с точностью таймеров у Flash все плохо. Ну и не забываем, что флешки на неактивной вкладке браузера "замораживаются", и таймеры обновляются то ли раз в секунду, то ли в две...потому нужно отслеживать деактивацию и ставить игру на паузу.
P.S.
Хотя решение с северами точного времени, конечно, круче :)

Godwarlock 12.02.2015 21:55

Цитата:

Сообщение от C4Grey (Сообщение 1178950)
Обычно хватает просто проверки разницы new Date().getTime() - oldTime; Так как дату кулхацкер не меняет(а если и меняет, то точно подогнать под "ускоренное" время вряд ли сможет - этого хватает. Можно проверять либо через определенное количество тиков игрового таймера(на каждом не стоит, чтобы не создавать постоянно экземпляр Date), либо в конце игровой сессии. Конечно, нужны допуски, так как с точностью таймеров у Flash все плохо. Ну и не забываем, что флешки на неактивной вкладке браузера "замораживаются", и таймеры обновляются то ли раз в секунду, то ли в две...потому нужно отслеживать деактивацию и ставить игру на паузу.
P.S.
Хотя решение с северами точного времени, конечно, круче :)


А каким образом можно отследить деактивацию флешки?

caseyryan 13.02.2015 18:30

http://help.adobe.com/ru_RU/FlashPla....html#ACTIVATE
http://help.adobe.com/ru_RU/FlashPla...tml#DEACTIVATE

Godwarlock 14.02.2015 15:40

Спасибо)


Часовой пояс GMT +4, время: 12:53.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.