0

非常にあいまいな質問については申し訳ありませんが、ここで詳細を説明できるといいのですが、どのように表現すればよいかわかりません。

私は、ユーザーがWebサイトにログインし、サーバーを予約して特定の時間ゲームを実行できるプロジェクトを開発しています。時間切れになると、サーバーは実行を停止し、サーバー上のプレーヤーがキックオフされます。ウェブサイトの部分は問題ではありません。私はこれをPHPで行っており、すべてが機能します。サーバーを予約するためのカレンダーシステムがあり、ユーザーが望むものに基づいて構成ファイルを生成できます。

私の質問は、正しい時間にそれらの構成ファイルを使用してLinuxボックスで特定のゲームサーバーを実行するために何を使用する必要があるかということです。私はこれをbashスクリプトとcronで動作させましたが、非常にエレガントではないようです。文字通りFTPを使用してWebサイトに接続し、必要なすべての構成ファイルをダウンロードして、そのゲームと時間のフォルダーに配置できるようにします。これを行うためのより良い方法があるかどうか疑問に思いました。おそらくCでプログラムを書いているのかもしれませんが、これをどうやってやるのかわかりません。

(私は誰かに私の手を握って「このコードをここに書いてください」と言ってくれるように求めているのではなく、この問題に取り組むためのより良い方法のいくつかのアイデアです)

どうもありがとう!

編集:Webサーバーはまったく異なるマシンです。理論的には、それぞれがWebサーバーに「接続」(現時点ではFTP)し、特定の時間に何をする必要があるかを示すファイルを取得し、関連するファイルをダウンロードしてから切断する複数のゲームサーバーが必要です。

4

2 に答える 2

0

atはcronよりも1回限りのジョブの実行に適していると思います。

ファイルのダウンロードなどのより良いアプローチについては、セットアップの詳細を提供する必要があります(たとえば、Webサイトとゲームサーバー、それらは同じマシン上にあるのか、同じネットワーク上にあるのかなど)。

于 2011-10-13T12:29:34.117 に答える
0

分散タスクスケジューラが必要です。これで、次のことができます。

  1. コマンド「X」を特定の時間に実行するようにスケジュールします。
  2. マシンを指定します(または、使用可能なマシンのプールからマシンを選択するように依頼します)

ユーザーがゲームサーバーと時刻を選択すると、WebサーバーはコマンドラインまたはWebサービスを介してこのスケジューラーにリクエストを送信します。

あなたは見ることができます:http://www.acelet.com/super/SuperWatchdog/index.html

編集 :

もう1つのオプション:http://jobscheduler.sourceforge.net/

于 2011-10-13T13:26:44.390 に答える