2010-11-16 153 views
0

對不起,如果我的問題有點模棱兩可,我會解釋我想要做什麼。在網絡服務器上有一個腳本自動運行

我想在網絡服務器上運行遊戲。它是一款基於回合的遊戲,你們中有些人可能會遇到它。 它的遊戲稱爲黑手黨:http://mafiascum.net/wiki/index.php?title=Newbie_Guide

我知道它是如何需要在mysql數據庫方面工作的服務器端腳本語言等等等等

什麼我不知道是什麼的最好的方式得到一個腳本來激活遊戲開始時,並能夠運行一個腳本,每3分鐘更新遊戲狀態:

一次10人一起在遊戲開始時3分鐘內

人投票。 (選票將被存儲在數據庫中)

3分鐘後腳本需要運行計算選票,除去球員

然後1分半鐘後,腳本需要再次運行。

這個3分鐘,1分半鐘的循環需要重複,直到滿足某個條件,即除2個之外的所有球員已經死亡或者其他東西。

當玩家刷新頁面時,他們需要更新遊戲狀態。

我讀過關於套接字,並想知道這是否是一個好的途徑。套接字是否可以將json發送回客戶端?這樣jquery可以用遊戲結果更新客戶端。

理想情況下,我想要在jquery中完成前端,並通過php或其他方式完成後端腳本處理。

這會是多麼開放?在人們試圖通過發送諸如帖子變量sqli攻擊等等的攻擊方面而言的方面等。

它的一個相當廣泛的問題,我相信有不止一個計劃,所以多於一個正確的答案,但我會對人們對如何開發它的想法感興趣。

感謝您的時間:)

回答

1

我會簡單地使用在後端cron作業或類似的更新狀態每x秒,你建議。

要觸發遊戲開始,只需發出一個PHP命令來設置您的CRON作業運行。

這種方式時間控制在服務器的幕後,你可以自由地更新使用jQuery的遊戲狀態給你的玩家。

+0

謝謝盧克,我將如何去設置在cron作業運行在PHP?我可能會同時運行大約10或15個遊戲,這會使服務器減速很多,腳本所做的只是更新數據庫中的記錄,所以ots實際功能不會產生太多開銷,我不認爲 – 2010-11-16 07:44:23

+0

我在這裏找到了一些有用的信息:http://www.developertutorials.com/tutorials/php/running-php-cron-jobs-regular-scheduled-tasks-in-php-172/。關於速度,它很難回答,因爲我無法知道您的數據將會如何勞動密集。也就是說,你應該編寫一些性能測試腳本,以回答諸如「這個遊戲如何與1,000個玩家同時運行」等問題。 – 2010-11-17 05:57:33

相關問題