Интересует вот что: во многих браузерных играх, переодически по прошествию какого либо времени, например, добавляются ресурсы. Предположим стратегия какая-нибудь, если построена например лесопилка, то каждые пол часа приходит по 30 древесины, при том пользователь никак не влияет на этот процесс, не отправляет каких либо запросов, всё происходит на сервере, автоматизированно, выходит он из игры, заходит через 2 часа, а у него на аккаунте уже 120 ед. древисины.
Объясните в кратце, как это примерно устроить, ну или ссылками на почитать закидайте, этому всегда только рад!
Спустя 2 минуты, 56 секунд (15.12.2011 - 13:20) Семён написал(а):
Есть такая штука как планировщик задач.
В OS семейства Linux этот планировщик называют CRON-ом.
CRON запускает спец. скрипт (без участия юзера) и обновляет грубо-говоря в цикле все нужные записи.
В OS семейства Linux этот планировщик называют CRON-ом.
CRON запускает спец. скрипт (без участия юзера) и обновляет грубо-говоря в цикле все нужные записи.
Спустя 2 минуты, 54 секунды (15.12.2011 - 13:23) Rain8207 написал(а):
То-есть если написать простейшую браузерную игрушку, и выложить на бесплатный хостинг с поддержкой PHP и MySQL, то наврядли там будет эта функция?
Спустя 1 минута, 58 секунд (15.12.2011 - 13:25) Семён написал(а):
Rain8207
Поддержка CRON-a на бесплатных хостингах в 98% не предусмотрена.
А вот платные хостинги (не виртуальные сервера, обычные платные хостинги) особенно американские в 99% предусматривают наличие CRON-a
Поддержка CRON-a на бесплатных хостингах в 98% не предусмотрена.
А вот платные хостинги (не виртуальные сервера, обычные платные хостинги) особенно американские в 99% предусматривают наличие CRON-a
Спустя 51 секунда (15.12.2011 - 13:26) Rain8207 написал(а):
Спасибо большое, помог!
Спустя 3 часа, 49 минут, 46 секунд (15.12.2011 - 17:16) inpost написал(а):
Rain8207
Надо не каждую минуту добавлять ресурсы. Это неправильно в понятии оптимизации.
Допустим с одной стороны на JS выполняется таймер, который как-бы считает, но на самом деле он создан лишь визуально.
На сервере идёт запись: "сейчас ресурсов" и "ресурсов в минуту". Далее человек обновляет запись своих ресурсов (а это может быть и через пол часа, или через 2 часа), тогда скрипт выполняет пересчёт(!!!), а не каждую секунду/минуту. Вот ты обратился - скрипт тебе по новому пересчитал и вывел!
Визуально так: "я хочу знать, сколько у меня ресурсов", сервер отвечает: "пол часа назад у тебя было 100, в минуту ты получаешь 5, значит 100+5*30=250! и запоминаем, что 250 ресурсов на нынешнее время: 20:10:11". При новом обращении - будет новый пересчёт!
Если сроки достаточно маленькие, а тебе надо лишь узнать, а не использовать их. Допустим ты клацаешь обновить каждые 2-3 секунды страницу, сервер может не выдержать, тут уже используется защита от этого, поэтому без фактичного обращения к ресурсам - состояние будет храниться в куках!
Надо не каждую минуту добавлять ресурсы. Это неправильно в понятии оптимизации.
Допустим с одной стороны на JS выполняется таймер, который как-бы считает, но на самом деле он создан лишь визуально.
На сервере идёт запись: "сейчас ресурсов" и "ресурсов в минуту". Далее человек обновляет запись своих ресурсов (а это может быть и через пол часа, или через 2 часа), тогда скрипт выполняет пересчёт(!!!), а не каждую секунду/минуту. Вот ты обратился - скрипт тебе по новому пересчитал и вывел!
Визуально так: "я хочу знать, сколько у меня ресурсов", сервер отвечает: "пол часа назад у тебя было 100, в минуту ты получаешь 5, значит 100+5*30=250! и запоминаем, что 250 ресурсов на нынешнее время: 20:10:11". При новом обращении - будет новый пересчёт!
Если сроки достаточно маленькие, а тебе надо лишь узнать, а не использовать их. Допустим ты клацаешь обновить каждые 2-3 секунды страницу, сервер может не выдержать, тут уже используется защита от этого, поэтому без фактичного обращения к ресурсам - состояние будет храниться в куках!