JewelMmoServer

2005-11-16 15:11:22 +0900 (6929d); rev 1

サーバーのシステム構成

コンセプトはいかに楽に作るかということと、実用的な同時接続クライアント数(数千から 1 万)を実現することです。また、サーバー部分のプログラム(ソケットや常駐処理)は自分で作らず、''既存のシステムを最大限に活用''します。

以下は、とりあえず現時点で最良と思う構成ですが、楽をすること以外に特に意味がないので、この案よりよい方法が見つかればそちらに変更します。

  • メインサーバー
    • Apache + mod_ruby + MySQL
  • チャットサーバー
    • ircd + Nadoka (+ dRuby)

メインサーバー

クライアントからの送信する''データベースの更新を伴う''コマンドはメインサーバーに送られます。例えば、エリア移動する、相手を攻撃する、武器を買う、アイテムを使うなどです。

チャットサーバー

''データベースに変更を与えない''情報は IRC を通してクライアント間で共有されます。 チャットサーバーで扱うのは会話テキスト、お辞儀や手を振るなどのアクション情報、局所的な移動データなどです。 エリア内での座標データ等の''ネットワーク負荷が高い情報もこちらで''通信します。 チャットサーバーは ircd + Nadoka の bot ですので実際の実装は bot を書く作業になります。 bot とメインサーバーは dRuby で接続するのもいいかもしれません。

チャットサーバーで扱う情報は、万が一悪意のあるユーザーに改ざんされても、深刻な影響を受けない情報ということもできます。


system revision 1.162