Не могу согласиться с
xmoonlight . Если вас не волнует возможность взломать вашу игру, тогда при каждом
использовании (не запуске) проверяете прошедшее время. Таймера не существует, это лишь видимость, фактически вычисляется прошедшее время по требованию.
Если вы не хотите, чтобы вашу игру взломали, тогда вы отправляете все действия игрока на сервер, а сервер сам всё проверяет (как описано выше), запускает действие и возвращает результат. В таком подходе шифрование не обязательно; клиент игры выступает в роли "экрана" на который сервер стримит изменения интерфейса.
Пример: вы хотите купить что-то. Вы нажимаете на кнопку, игра сообщает серверу, что вы нажали на кнопку. Сервер проверяет, какую кнопку вы нажали, хватает ли у вас золота, осуществляет покупку, добавляет её в ваш инвентарь и отсылает назад новое количество золота, новое содержимое инвентаря и новые картинки для UI. Физически ресурсы игры хранятся на клиенте, но их отображением управляет сервер.