サーバはゼロから“手作り”で
(株)ソニックチーム プログラムセクション メインプログラマーの節政暁生氏 |
――実際のPSOサーバはどの程度の規模なんですか?
節:DCとPC版で、それぞれ別にサーバを用意していいます。DC版は全部で29台。日本に13台、アメリカに9台で残る7台がヨーロッパで稼働しています。PC版は日本に10台ですね。国内のサーバはDC版もPC版も池袋のサーバセンタに置いてあります。PC版は現在、日本サーバしかないですが、今後は韓国とか台湾とか中国とか、アジア方面を中心に展開して行こうと考えています(※3)。
※3 インタビュー後の2月2日にPSOの韓国語版が韓国で発売された。――DC版でサーバ29台とのことですが、その構成は?
節:まずデータベースがあって、あとはゲームのサーバと認証サーバですね。まず認証があって、そこからゲームの「Ship」(※4)へ入っていって。データベースサーバには他よりも若干いいマシンを使っています。あとは基本的に同じ性能ですね。導入時期によって微妙にスペックの差はありますが。
※4 Ship サーバのこと。PSOではゲームサーバをこう呼ぶ。認証サーバからShipにログインしたユーザーは、Ship内に用意される複数の「Block」から1つを選択し、ロビーへと下りていくことになる。Ship(=サーバ)あたりのユーザー数は最大1600~1700人程度。Blockひとつあたり最大100人程度。――複数のゲームサーバは、クライアント側からどうやって接続されるのですか?
節:まったく等価だと考えてもらっていいと思います。それぞれがバックエンドのデータベースと繋がっています。
――ということは、負荷分散のスイッチがあるのですか? ロードバランサのような。
節:純粋にプログラムで処理しています。ハード的に何かをやっている、というわけではありません。簡単に言うと、Shipがサーバで、ひとつのBlockが1プロセスになっています。だから、ロビー間の移動は簡単にできるわけですね。あとプログラム的な話でいえば、スレッドは使わないようにして、高速化しています。サーバだとスレッドを使ったものが多いですが、重くなるので…。そのあたりも分厚い本を読んで1から勉強して(笑)
サーバに関して言うと、普通のネットワークゲーム用のものに比べてかなり軽くなっていると思います。
――1台1台のサーバはどの程度のスペックなんですか?
節:サーバと言っても、その実はPCですね。Pentium 4などを搭載したごく普通のPCで、メモリだけは普通よりも多めに積んであるという。だから値段的にはそれほどかかってないです。OSにはLinuxを採用しています。Linuxを採用したのもコスト面からの理由が強くて、単純にコストがかからないモノを、というのが選択した経緯です。
――当然、テストサーバなどの初期投資もかかったかと思うんですが。
節:もともとゼロからソニックチーム社内でシステムを構築したものですから、ハード面での初期設備投資費用はまったくといいほどかかっていません。テストサーバも、余ってるPCにLinuxを突っ込んで(笑) DCって電話回線じゃないですか。なので、回線エミュレータを構築してPC側にモデム繋いで、それとDCを繋いでテストした程度。ホントに金はかかってないです(笑) 機材を買うときには稟議書を書かなきゃならないんですけど、小口で買える範囲でしか買ってないんですよ。3万円以内で買えるものしか買ってない(笑)
――データベースサーバもLinuxベースで?
節:そうですね。むっちゃ安いのを使ってます(笑) 「チューチューロケット!」を「無料でやろう」というところから始めたので、その流れもありますね。実際、ソフトのなかでもっともかかるのはデータベースなので。オラクル買った日には毎年何百万かかるか(笑)
――ハード同様、なるべく低コストで、ということですね。
節:PSOが出た当時、プレイ料金を徴収するゲームなんて国内にはほとんどなかったじゃないですか。PSOは最初の1カ月無料ですが、その期間が終わった後、どれだけのユーザーが利用料金を払ってくれるかはまったく未知数だったわけです。そんな状況で「10万人来ればペイできます」なんてシステムは、とてもじゃないけど作れなかった。最悪、1カ月経ったら誰も利用しなくなったとしてもなんとか続けられるようなものに抑えなければと。ケチケチ路線で(笑)
――最初の採算分岐点は、購入者のどれくらいが利用料金を払うと仮定して設定されていたんですか?
節:ソフトを購入した人の1割くらいですね。とにかく低く見積もって。
――その“ケチケチ路線”が成功の秘訣?
節:ですね。完全な黒字状態です。
――某社さんがゲームサーバ1000台用意すると聞いたとき「1000台もあるとあると1日に何台も壊れそうだなあ」と思ったんですが(笑)、PSOでも日本のサーバだけで26台。これだけあると、壊れることもあるんじゃないですか?
節:ありますよ。1番酷かったのはDC版の発売日初日に壊れたのが(笑) 初日にデータベースサーバがふっ飛んだんですよ。それでハードウェア交換。1番肝心なものだったので大変でした。
(株)ソニックチーム プログラムセクション プログラマーの外木和洋氏 |
外木和洋氏(以下“外”):復旧には1晩かかりました。
節:初日なんで、朝からわーっと来るじゃないですか。それで「入れないぞ」ということになって。それでデータベースがおかしいということになっていったん直したんですが、これでよしと思ったところで今度は夜になって派手に壊れて。
外:まぁ、壊れるたびにそのトラブルに対するノウハウも貯まりますね。もう1台データベースやハードウェアを用意しておいたり、とか。また別件でサーバが飛んだこともあったんですが、そのときはサーバの入れ替えだけで対処できたので、3時間くらいで対処できました。「一度災害が起きるとそれに対する災害本部が機能するんだなぁ」と(笑)