2012-01-11 8 views
0

私はゲームサーバーをホストするオンラインゲームを作っています。プレイヤーは自分のゲームサーバーにログインします。彼らはロビーに連れて行き、参加するゲームを選ぶことができます。私は勝利と敗北といくつかの他の統計を記録しています。次のようにウェブサイトとゲームサーバー間でデータを保持するために使用されるデータベースのタイプは何ですか?

私の要件は次のとおりです。

  • ゲーム内の任意の時点で、プレイヤーは他のプレイヤー をクリックすると、最新の最新の統計情報を取得することができるはずです。
  • プレイヤーは自分のWebサイトにアクセスして同じ の統計情報を取得することもできます。 (理想的には、直ちに最新のものになりますが、ゲームでは よりも重要ではありません)
  • ウェブサイト のデータから生成されるリーダーボードもあります。

私の質問は、このタイプの状況では通常どのようなソリューションが使用されますか?

私は決してデータを失うことは不可欠です。 Webサイトデータベースの使用について私が心配していることの1つは、データの損失です。

また、Webサイトデータベースとゲームサーバー間のやりとりがどのように機能するのかもわかりません。このようなことを行うmySQLの機能はありますか? Webサイトデータベースを使用することについての私の他の懸念は、どれくらいの帯域幅を毎月消費するかということです。私は、いつでもオンラインで1000人の人がいることを寛大に推測しています。ゲームは約20分続きます。

これらのタイプの状況は、通常どのように解決されますか?私は一生懸命に見てきましたが、私の懸念に対する明確な答えをまだ見つけていません。

ありがとうございました

+1

あなたのゲームの統計情報が最新である必要がある場合は、セキュリティを考慮することをお勧めします。開発者が防御する必要があるOWASPのトップ10のセキュリティ欠陥を見てみることができます。あなたのゲームの統計情報が不正である場合、このコメントは無視することができます。具体的には、SQLインジェクション攻撃を見てください。 – Dessus

+0

@Dessusもしユーザがデータベースと直接対話しないで、データベースを静的サーバのIPからしか変更できない場合はどうなりますか? – jmasterx

+0

ユーザーは、テキストボックスを使用して情報を入力することによって、データベースと対話できます。私はテキストボックスに正しいSQLを入力した場合。それは(ほとんどの人がそれをセットアップした方法によって)データベースに直接行くことができます。あなたのデータベースがどこにあるかは関係ありません。最終的には何とかあなたのデータベースからデータを取得して表示/更新します。私は潜在的に、私が望んでいたSQLを実行するためにサイトのインフラストラクチャを使用することができます(SQLインジェクション対策をしない限り)。実際には非常に恐ろしいことだと私は信じているニュースは、彼らは人々のクレジットカードの詳細を失ったソニーの攻撃に使用されていたと言いました。 – Dessus

答えて

0

ご要望に応じていくつかお勧めします。あなたの質問は非常にオープンなので、答えはかなり一般的です:

  1. データベースは、ハードドライブに書き込むときにデータを保存するのに適していて、トランザクション性があります(つまり、Webサーバーがクラッシュしても問題ありません)。 https://www.google.com/search?q=sql+backup&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
  2. 日の統計まであなたはおそらくキャッシュからアクティブなゲームのプレイヤーの情報を引っ張っする必要があるため(そうでない場合、あなたがドキドキしているかもしれません:
  3. データベースは、以下のような数多くのバックアップツール、のいずれか1つを使用してバックアップすることができますほとんどのゲーマーがオフラインになる可能性があり、そのデータは静的なままですが、表示する必要があるかもしれません。
  4. NOSQL、またはSQL。それぞれのメリットを評価せずにここで明白に選択できます。
  5. N層または多層設計を調査してください。http://en.wikipedia.org/wiki/Multitier_architecture
  6. appfabric、azureなどのインフラストラクチャのようなクラウドを考えてみましょう(他のLinuxもあります)。高いスケーラビリティを提供できる多くのクラウドサービスがあります。それは前のポイントのための短いカットかもしれない。
関連する問題