они будут получать каждый час и добавлять его в свой текущий камень.
Это огромные накладные расходы для вашего php сервера. Вы можете сделать это с помощью команды cron в Linux или диспетчера задач в Windows для вызова счетчика сценариев, но это очень ПЛОХАЯ идея. Представьте, что у вас будет 1 миллион игроков позже, ваш сервер будет прерываться очень часто и будет работать слишком медленно.
Вам необходимо рассчитывать этот урожай в каждом ping_request или specific_harvest_request для уникального пользователя. Это уменьшит нагрузку. Например:
У пользователя A 10 камней, он покидает игру и возвращается в игру через 20 часов, когда он входит в систему, вы запускаете свой CalcHarvestMethod
, и он добавляет 20*25=500 stones
. Урожай должен рассчитываться каждым пользователем, для этой логики не должно быть другого инициатора. Вызывайте ping_request через каждые 15 секунд, пока пользователь находится в сети, и вызывайте CalcHarvestMethod
в ping_request.
Теперь мне нужна какая-то работа, которая проверит всех пользователей и их текущие
камень
Вы должны рассчитывать только текущее количество камней каждого игрока, не считайте камень, который они могли заработать, находясь в автономном режиме. Слишком большие накладные расходы, как я уже говорил выше.