今日から始めるファイナルファンタジーXIV ~ サーバーテクノロジー編

5.1K Views

March 22, 22

スライド概要

profile-image

株式会社ガンマ・リバース代表取締役、自称14歳JC。 小説家などのクリエイターのエージェント業務と新規IP制作をしています。 元ゲームプランナー、元ライター兼編集者。 コードは書けないけど運用はできる程度の能力者(とは

シェア

埋め込む »CMSなどでJSが使えない場合

各ページのテキスト
1.

今日から始める ファイナルファンタジーXIV サーバーテクノロジー編 森中うみちゃん UMICHANG MORINAKA @ RIDILL, GAIA DC

2.

• 比較的最近のMMOゲームを遊んだことがあること • FF14プレイ経験があると良いが、DQ10やFF11など でもOK • (できれば)P2P型オンラインゲームを遊んだことがある こと 想定知識 • スプラトゥーンとかストリートファイターVとかで良い です • ワールドワイド・大規模なサーバー運用に関しての想像 力 • さすがに「やったことある」必要はありませんw • Webエンジニアリングより低レイヤーの知識と経験 • SSL/TLS、SPDYなどのUDP通信、ルーティングなどに ついては知ってるものとして話します

3.

ワールドレス型設計 並行世界を行き来できるのか、できないのか

4.

ワールドとは? • 前提:MMO型ゲームは全てのプレイヤーを1つのサーバーに収容することは 不可能である • 多くのプレイヤーが同時にアクセスすると容易に破綻する • そのため、同じ地域でも複数の「ワールド」という並行世界を用意して、 アクセス負荷を分散する手法が一般的である • 通常あるワールドで起こった事象は他のワールドへ干渉を起こさない • • ワールドAで強敵が倒されても、ワールドBの強敵は生き残っている ワールド同士で特定目的を達成するまでの時間を競わせるみたいな遊び方も存在する

5.

ワールドシステムの利点 • ワールドの物理サーバーをプレイヤーのネットワーク的に近い場所に 置くことでラグを最小限にできる • FF14は日本、北米、欧州、豪州に物理サーバーが存在する • いくつかのワールドをクラスタ化して「論理データセンター」と言う構成をとっている (この仕組みは後述する) • 運営規模の拡大に応じてワールドを増やし、混雑に対応可能 • これは特にゲーム内経済への施策として有効で、インフレの進んだ先人のいるワー ルドとは別に、新人向けのワールドを増やすことでゲームバランスを取ることがある

6.

従来のワールドシステムにおける問題点 • 同じワールドにいるフレンドとしか遊べない • 知り合いなどを招待したい場合などに問題となる • 運営規模の縮小によりワールドの統合を行う必要が出てくる • ゲーム内で同一のプレイヤー名を許していない場合などの例外対応が多数発生する • 運用者も処理的に大変面倒くさく、事故も起こしやすい処理でなるべくやりたくないや つの筆頭である • ちなみにFF14ではワールド統合は主に旧版(1.x)から新生(2.0)になる間に何回か 行われたことがあるようだ

7.

ワールドレス型設計とは・その1 • 広義では「ワールドの概念はあるが、プレイ ヤーはワールド感を自由に移動できる」シス テムである • 狭義では完全にワールドの概念を廃して別 の仕組みで混雑を制御する仕組みだが、採 用しているMMOゲームはほとんどない • 強いていえば「No Man’s Sky」など。宇宙は広す ぎてほとんど誰かに会う場面が存在しないw

8.

ワールドレス型設計とは・その2 • ドラゴンクエスト10は広義のワールドレスを 実現している • プレイヤーは任意のタイミングで好きなワールド へ移動できる • ホームワールドの概念や、ワールド移動による 制限なども一切ない • ワールドによって「配信OK」や「新人向け経験値 ボーナスあり」などの棲み分けがされている

9.

FF14は「部分的なワールドレス設計」 • 新生時点の設計で、将来的にワールドレスにできるように設計された • ただし、コストなどの問題で現状は完全なワールドレスにはなっていない • 今年中に同じ物理データセンター内に関しては自由に移動できるようにな る予定 • 夏前には実現の見込みです • 将来的には違う物理データセンターにも移動できるようにしたいらしい • 日本のキャラククターを北米DCに持っていって遊ぶ、など…

10.

論理データセンターと 物理データセンター あまりに数が多いのでクラスタリングされています

11.

日米欧豪にある 物理データセンター • FF14はワールドワイドで運営されてい る • 先述の通り、ネットワーク的な距離が 遠いとレスポンスが悪くなるので、世 界各国に物理データセンターが置か れている • なお、中国と韓国のデータセンターに 関してはグローバル版からは見えな い(運営母体が違うため)

12.

各データセンターの規模・その1 JP 最大規模の日本 • 40ワールドを収容。日本人だけでなく、ネット ワーク的に近い香港や東南アジア圏のユーザー も存在する(ただし一部は豪州へ移動中) 常に混み合う北米 • 24ワールドを収容。北米だけでなく、中南米ユー ザーも存在。現在ユーザー数が激増しており、 本当は増やしたいのだが、機材調達が難航中 US

13.

各データセンターの規模・その2 EU 言語が入り乱れる欧州 • 12ワールドを収容。英語、ドイツ語、フランス語など の言語が入り乱れる。こちらも本当は増やしたい やっとできたよ豪州 • 日本からも欧州からも米国からもネットワーク的に 遠かった豪州に2022年ようやくできたDC。5ワール ドを収容。豪州やニュージーランドだけでなく、日本 語がわからない東南アジア民もこちらへ移動中 AU

14.

論理データセンター 🇯🇵 Gaia Elemental • 物理データセンター単位でもワールド数 は多すぎる(特に日本!) Mana 🇺🇸 Aether Primal Crystal • ログイン処理などに時間がかかるため、 論理データセンターとして分割して管理 されている • 日本の論理データセンターは3 • 今夏4つへ再編されます • 北米は3、欧州は2、豪州は1 Meteor 🇪🇺 Chaos Light 🇦🇺 Materia

15.

論理データセンター内でできること・その1 • 同じ論理データセンター内同士のキャラクターはパーティー を組める • 実は攻略すべきダンジョンは「名称のないダンジョン専用のワー 通常ワールド ルド」に存在し、同一データセンター内で共有されている • 必要な時に必要な量生成されるため「インスタンスダンジョン」と 呼ばれる コンテンツ 参加申請 • あるダンジョンを攻略したい際に登録すれば、同じ目的を持った 仲間を論理データセンター内で自動的にマッチングしてくれるコン テンツファインダー(英:Duty Finder)と言う機能があり、攻略を支 援してくれる(FF14最大のウリ) コンテンツワールド (インスタンス)

16.

論理データセンター内でできること・その2 • 同一論理データセンター内は「ワールド間テレポ」と言う 機能で移動できる! • 通常のテレポ(ファストトラベル)と違い、若干の時間がかかる 混雑時には数分以上待たされることも… • この機能は先ほどのインスタンスダンジョンへの参加機能を 応用させたもの • 自分のホームワールドではない場所ではいくつかの制約が かかる • マーケットへアイテムを出品できなくなったりなど、主にゲーム バランス的な施策 ホームワールド ワールドテレポ 申請 別のワールドへ

17.

論理データセンター内でできること・その3 • 同じデータセンター内にいる仲間同士でチャットチャンネルを開けます • • クロスワールドリンクシェル(CWLS)と言う機能 同一ワールドのみで有効な通常のリンクシェル(LS)機能も存在する • 例えば「このワールドでノートリアスモンスターが沸いたのでみんな集まれ」と言っ た活用法が存在する • 他にも最高難易度のコンテンツ(零式、幻討滅戦、絶討滅戦)を攻略するためにワールドを 跨いで固定パーティーを組んだ際に利用されることが多い • この辺は攻略に数日〜数週間は必要なものなので、継続して話し合いをしないといけない • ちなみに最高難易度に参加してるプレイヤーはごくわずかな一部です(戦闘民族と呼ばれる) • 参加人数が少ないため、ワールドを跨いで参加者を募集しないといけない

18.

論理データセンター間の移動 • 従来はこの機能がサポートされていなかった • この壁をぶち破るのが前述の「データセンタートラベル」 • 同じ物理データセンター内のキャラクターは、別の論理データセンターへ 移動可能となる • ログイン時に選択することになるため、ゲーム中で移動できるわけではないらしい • 物理データセンターを跨いだ移動(日本と北米間など)も理論上は可能とのこと

19.

全てはキャラクターデータが中心 光の戦士が大量のアイテムを持ってワールドを行き来している…

20.

ワールド型MMOのキャラクターデータの持ち方 • プレイヤーはワールドに紐づいているため、ワールドサーバーがキャラク ターを管理している • これが主因として、他のワールドへキャラクターが移動できない、移動する 際はメンテナンス作業が必要で有償となったりする • ワールドレス型のMMOではこの考え方は通用しない!

21.

FF14はキャラクターデータ中心の考え方 • オフライン時はキャラクターデータが各 論理データセンターにある「キャラクター データ倉庫」的なデータベースに格納さ れている • ログインしようとする際に、ログインすべ きワールドへ「デプロイ」される • もしログインしようとしたワールドが混み 合っているのであれば、ユーザーは任意 にログインするワールドを変更できる

22.

光の戦士は常にワールドを飛び回っている • 文字通り「キャラクターデータ」がワールドサーバー上を旅して回っていると考えて ほしい • • ワールド内の分割されたエリア移動でもキャラクターデータは移動している 詳細な情報が必要なのはそのエリアのサーバーだけで、他のエリアからは「オンライン状 況」や「生死などのだいたいの状態」だけ参照できればゲーム上問題ないから • 通常ワールドからコンテンツワールドへの移動時も、キャラクターデータは移動し ている • 先述の通り、コンテンツワールドはどの通常ワールドにも属さないインスタンスであるため

23.

ヒカセンアイテム持ちすぎ問題・その1 • FF14は他のMMOと比較しても、 1つのキャラクターが大量のアイテムを所有している • 瞬時にジョブを変えられる「アーマリーシステム」を採用しているため • 複数のキャラクターを持たずに多数のビルドを試せるというのはFF14の利点の1つ • 装備品は各ジョブ専用のものもあるためたくさん持ち歩く必要が… • さらに装備品には「耐久度」や「マテリアの装着状態」などの各種ステータスも存在 • もちろん通常のインベントリも他のゲームより多く所持できる • それでも足らないと言ってくるのがユーザーである…w

24.

ヒカセンアイテム持ちすぎ問題・その2 • エリアチェンジやワールド移動時にはこのデータをサーバー上で「安全に」 移動先のサーバーへ引き渡す必要がある • ゲームプレイのことを想像してください…これがどのくらいの頻度で発生するか… • 当然この引き渡しはサーバー間の物理的な通信を伴っています! • 実際、2021年に行われた負荷テストでは、特定ワールドからコンテンツに 突入するテストでキューイングが詰まり、マッチングがうまくいかない現象 が観測された • 暁月のフィナーレリリースに備えてインフラ調整を行なった一環で実施されたもの

25.

ヒカセンアイテム持ちすぎ問題・その3 • 対策として、特定の状況下では「必要のない一部のデータを転送しない」と いう策がとられている • コンテンツワールドでは「チョコボかばん」(拡張インベントリ)を参照できなくする • 長期保存として収容されるアイテムは装備品の拡張属性のリセットを伴い(これにより アイテムIDだけで管理可能)、各都市にある宿屋からしかアクセスできなくしている • おそらく宿屋からのみ参照できるアイテムはキャラクターデータ倉庫にあると推測される • プレイヤーの秘書である「リテイナー」にもアイテムを預けられるが、これも別のサー バーが管理していると見られる • リテイナーベルが設置されている場所(主に各都市やハウス)でのみアクセス可能

26.

ヒカセンはデータセンターを超えて旅立つ • 論理データセンターを超え、おそらく物理データセンターをも超えられるの は、この「キャラクターデータ中心」の思想でサーバー構築されているから • 通常いないデータセンターへ移動する際はキャラクターデータをコピー後、 参照しやすいようにデータの再構築を行わないといけないため、通常のロ グインより手間と時間がかかるのは致し方ないところである

27.

パブリックコンテンツとインスタンスコンテンツ 大人数ででかいモンスターをタコ殴りするコンテンツの実現方法

28.

インスタンスコンテンツとは • FF14では4人ないし8人でパーティーを組んで、コンテンツワールドにある ダンジョンを攻略するのが一般的な遊び方である • 4人を「ライトパーティー」、8人を「フルパーティー」と呼ぶ • さらに、「フルパーティー」を3組揃えた24人で挑むコンテンツも存在する • 先述した「クリスタルタワー」はその代表的な例 • インスタンスであり、プレイ人数も限られるため戦闘の状態などは比較的 管理しやすい • その分複雑なギミックを仕込めるわけである

29.

パブリックコンテンツとは • インスタンスではなく、パブリックフィールド(街の外)で行われるコンテンツ • 特定の敵を攻撃して倒すのも小さなパブリックコンテンツと言える • Full Time Active Event(F.A.T.E.)と呼ばれる強敵発生バトルも用意されている • 他のMMOにあるようなノートリアスモンスター(NM)も用意されている • F.A.T.E.やNMは1人では攻略は難しく、複数名で挑む必要がある • 特にNMについては数十名規模で殴りにいかないと勝てないものも存在する

30.

余談:モンスターの確保と主導権問題・その1 • 古いMMOでは、最初に接敵したパーティーがそのモンスター(Mob)へ攻撃 する権利を得る場合が多かった • 戦闘の管理をMobと当該パーティーで完結させる方が処理が軽いため • 現状でもドラゴンクエストXはこの仕様を継続している • 「移動干渉」(通称:相撲)と呼ばれる独特な仕様を実現するため、接敵した瞬間にパー ティー全体がバトルフィールド用のインスタンスに飛ばされると言う仕様になっている • 他にも「信長の野望Online」も同様の仕様らしい…?(最近の状況は不明)

31.

余談:モンスターの確保と主導権問題・その2 • 比較的最近のMMOでは、多くのパーティー・プレイヤーが同時に敵を殴れ る仕様となっていることが多い • この際、戦闘報酬としての経験値やゲーム内通貨が頭割りされてしまう場合が多く、 「横殴り禁止」と言う文化が日本では不文律となっていた • また、強力なモンスターを引っ張ってきて、近くの弱いプレイヤーにヘイトをなすりつけ て殺すMPKと言う行為を行うバッドマナープレイヤーもよく存在した • 多くの強敵を引き連れて逃げまくる「トレイン」行為もよくみられた • これをわざと行うとMPKとみなされ処罰された

32.

余談:モンスターの確保と主導権問題・その3 • FF14では「戦闘に参加したプレイヤーには全て同様に報酬が得られる」よう なバランス調整となっているため、横殴り行為はむしろ推奨されている • 弱いプレイヤーが苦戦しているようなら助けてあげよう! • ヘイトのなすりつけによるMPKやトレインも発生しにくいような仕様 • 最初にターゲットとなったプレイヤーが戦闘不能になると、モンスターAIは元の位置に 戻る行動を行う • この時のモンスターは一定時間「無敵」で、全てのプレイヤーは干渉できない

33.

F.A.T.E.とは・その1 • 特定条件を満たすと発生するパブリックコンテンツ • 大きく分けて4種類が存在 • 強敵が1〜2匹出現し、それを倒すことによってクリア • 対象Mobが大量に出現し、一定数以上倒すとクリア • フィールド上に落とし物が散らばり、集めて依頼人に渡すとクリア • この落とし物はモンスターを倒すことで得られることも多い • 一定時間拠点を防衛する(モンスターからターゲットを守る) • ターゲットは移動する場合もあり、この場合は護衛任務となる

34.

F.A.T.E.とは・その2 • FF14の仕様上、当該フィールドにいるプレイヤーは全員敵Mobを殴れる仕 様のため、F.A.T.E.では100名以上のプレイヤーが同時に1体のMobを殴る ような場面も存在する • なお、難易度は参加人数により調整がかかるようになっている • これを実現するため、F.A.T.E.はフィールド上の一定の領域にいるプレイヤー のみが参加状態になるという仕様となっている • マップ上では青い円形で表示される

35.

F.A.T.E.における多人数プレイヤーのコントロール • 先述のように、F.A.T.E.エリアが制限されているため、そこにいるプレイヤー のみしか参加できない • F.A.T.E.は適正レベルでしか参加できない(レベルシンクを行うことにより高レベルプレイ ヤーもレベルを下げて参加可能) • エリア内は見えないグリッドで区切られており、ある程度以上の人口密度に なると隣接エリアのプレイヤーの情報をサーバー側から送信しないことでク ライアントの「詰まり」を軽減する • この副作用で、人が集合しすぎると一部のプレイヤーは見えなくなる…。

36.

サーバーのクラウド化は不可能なのか? 超大規模ゲームだからこそのオンプレでなくてはならない理由

37.

超巨大なオンプレシステム • FF14のサーバーはほとんど全てがオンプレミス構成 • ハイブリッドクラウドでもない • 以前クラウド化を検討したこともあったが「各種テストの結果、プレイヤーの 体験に対して品質が良くない」ということで不採用となった経緯がある • なお、Web系では当然CDNは使われている • 特にパッチ配布はCDNがないとネット全体が終わってしまうので…

38.

なぜクラウドではダメなのか? • 論理データセンターのキャラクター倉庫のように、ログイン時に負荷が集中 するサーバーは超高性能なものを準備しないといけない • おそらく現状でクラウドのメニューにあるものでは間に合わないと思われる • エリアサーバーやコンテンツワールドサーバーも一定以上の品質を確保し ないとならない • AWSでよくある「ガチャ」をしてる余裕は全くないのである • 主要ISPからping値の良い位置にサーバーを置きたい! • 現状は日米欧ともNTTのバックボーンを利用している(豪州は未調査)

39.

クライアント-サーバー間の通信について • 全ての通信はUDPで行われいる • ログイン部だけは別でTLS通信が行われている(ログイン画面自体がWeb埋め込み) • UDPはゲームでは一般的だが、Webアプリケーション主体のクラウドとは比 較的相性が悪い • とはいえ、SPDYなどが登場しているので今後は改善していくだろう • 通信を傍受したり改変することでチートができるため、常に通信内容に関し て対策が行われていたりする

40.

オンプレでの苦労 • 当然お金はかかる • が、FF14はめちゃくちゃ儲かっているのでこれはあまり問題にならない • 問題となるのはサーバー増設 • 構成がゲームの快適さに直結するので、ゲームのことをよく理解している技術者が セットアップを行う必要がある • 現状は日本の専属インフラスタッフが全ての物理データセンターを管理している • 必要に応じて海外出張なども行っているとのこと

41.

コロナ禍で大変なことになった! • インフラ担当者が渡航できなくなったため、物理的なサーバーメンテナンス に困難が発生 • 現地スタッフとリモートで繋ぎながら作業することでなんとかした • さらに、WoWからの移民+暁月リリースの際にサーバーを増設したかった が、サーバー自体の調達ができない! • 通常価格の2倍出す、と宣言しても各社とも「そもそもものがないので納品できない」と なるほどの状態であったとのこと

42.

でも他社はクラウドでできてるじゃん? • FF14のサービスが始まったのは11年前(2010年)であることを思い出して ほしい • ちなみにEC2のサービス開始は2008年10月なので、ぎりぎり無理そう • 当初からクラウドをターゲットとしてゲームを設計していれば不可能ではな かったかもしれない • 新生時に旧FF14のキャラクターデータを移行することも必須項目に含まれ ていたので、ほとんど選択肢はなかったと思われる

43.

クライアントテクノロジー編へ つづく ラストスパートです! みんなついてきてね!