автозапуск скрипта на веб-сервере - PullRequest
0 голосов
/ 16 ноября 2010

извините, если мой вопрос немного двусмысленный, я объясню, что я хочу сделать.

Я хочу запустить игру на веб-сервере. Это пошаговая игра, некоторые из вас, возможно, сталкивались с ней. Это игра под названием мафия: http://mafiascum.net/wiki/index.php?title=Newbie_Guide.

Я знаю, как это должно работать с точки зрения базы данных mysql, языка сценариев на стороне сервера и т. Д. И т. Д.

В чем я не уверен, так это в том, что лучший способ заставить скрипт активироваться при запуске игры и иметь возможность запускать скрипт каждые 3 минуты для обновления статуса игры:

как только в игру вступает 10 человек

человек голосуют в течение 3 минут. (голоса будут храниться в базе данных)

через 3 минуты необходимо запустить скрипт для подсчета голосов и удаления игрока

затем через полторы минуты сценарий должен снова запуститься.

Этот цикл продолжительностью 3 минуты, полторы минуты должен повторяться до тех пор, пока не будет выполнено определенное условие, т.е. все игроки, кроме 2, мертвы или что-то в этом роде.

когда игроки обновляют страницу, они должны быть обновлены в статусе игры.

Я читал о сокетах и ​​спрашиваю себя, может быть, это хороший путь. будут ли сокеты отправлять JSON клиентам? так что jquery может затем обновить клиента с результатами игры.

В идеале я хотел бы, чтобы внешний интерфейс выполнялся в jquery, а обработка сценария внутреннего интерфейса выполнялась php или чем-то еще.

Насколько это было бы открыто? с точки зрения людей, пытающихся обмануть, посылая атаки, такие как почтовые переменные, атаки sqli и т. д.

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

Спасибо за ваше время:)

1 Ответ

1 голос
/ 16 ноября 2010

Я бы просто использовал задание CRON или подобное на бэкэнде, чтобы обновлять статус каждые x секунд, как вы предложили.

Чтобы запустить игру, просто запустите команду PHP, чтобы запустить работу CRON.

Таким образом, время контролируется за кулисами на сервере, и вы можете обновить статус игры, используя jQuery, для ваших реальных игроков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...