PLAYERUNKNOWN'S BATTLEGROUNDS NEWS

DEV.BLOG

DEV LETTER|2020年 不正プログラム対応策&パフォーマンス計画

2020.04.21

プレイヤーの皆さん、こんにちは

PC版PUBGのエグゼクティブプロデューサーのTaeseok Jangです。

 

全世界が新型コロナウィルスの脅威にさらされている中、皆さんとそのご家族、ご友人の健康を心からお祈りいたします。世界各地のPUBGチームも、皆さんと同じように勤務形態を変えることにはなりましたが、安全を確保しつつ新しいコンテンツおよびスムーズなライブサービスをお届けすることができるよう最善を尽くしています。

 

2019年は、新しいマップのアップデートをはじめ、新規コンテンツそしてさまざまな利便性の改善まで、PUBGは実に多くのコンテンツをリリースしました。これらのコンテンツの大半はとても良い反響を得たものもあり、一方では開発の方向性に関する説明不足によってなぜ作ったのかが理解できないものもありました。また、長い間存在しているバグの原因を突き止めること、そして絶え間ない不正プログラムの攻撃への対処に苦戦を強いられました。今日はこれらの内容について皆さんにお伝えしようと思います。

 

去年は各国に存在するPUBGグローバルチームにとって成長と変化の年でもありました。ひどい成長痛に悩まされたと言っても過言ではありません。その過程において一番残念だったのは、皆さんにしっかりと情報共有できていなかったことです。そのため、皆さんとのコミュニケーションが十分に行えず、私たちがまるで皆さんを無視しているような間違った印象を与えてしまいました。私が皆さんに一番お詫びしたいのはそのことについてです。なぜなら、PUBGがここまで成長することができたのも、コミュニティーの皆さんの愛と情熱があったからこそです。3周年を迎えることができたのも、ひとえに皆さんの支援のおかげだと思っています。今後も皆さんにとって最も重要な問題に集中して取り組み、ゲームを改善し続けていくということを、これを機に皆さんにお約束したいと思います。

 

このDev Letterでは、私たちが優先的に取り組む内容である不正プログラム対応策、パフォーマンスおよび安定性の2つの内容に関する最新情報をお伝えします。技術的な用語が多く出てくるかもしれませんが、内容を分かりやすくお伝えできるようにベストを尽くします。ただ、不正プログラム対応策においては、計画や進行状況のすべてをシェアすることができないという点についてご了承いただければと思います。なるべく多くの情報をお伝えするつもりですが、妨害を止めるべき相手に情報を与えすぎることがあってはならないからです。

 

それでは始めましょう。

 

・不正プログラム対応策

 ∟予防策の強化

 ∟モニタリング/利用禁止措置の強化

・パフォーマンス&安定性の改善

 ∟パフォーマンスの改善安定性の改善

 ∟ネットワークの改善

 

不正プログラム対応策

PUBGはこれまで不正プログラムとは終わりのない戦いを強いられてきました。昨年はこれを阻止するべくさまざまな対策に時間を投入しました。この対策では、不正プログラムによる収益性を止め、開発がより困難なものへとすることに注力しました。不正プログラム開発者たちは私たちが打ち出す対応策を常に観察していることから、私たちの対応については秘密裏に進行するしかありませんでした。この作戦のマイナス面は、皆さんから見てまるで私たちが何の対応策も行っていないように見えてしまう、ということです。この点をふまえ、今年はプレイヤーの皆さんが私たちの努力の結果を体感できるよう改善して参ります。


予防策の強化

ここでいう予防策とは、不正を行うプレイヤーがプログラムを実行する前の段階で不正プログラムが機能しないようにすることです。具体的には、不正プログラム開発による利益を小さくし、開発にかかる労力と比べて割の合わないものにしていくのです。PUBGではこれに関していくつかの方法を行っています。

 

 ・2段階認証システムの導入

現在、Steamアカウントが乗っ取られ、不正プログラムを利用されたことでアカウントが永久的に利用禁止となったというお問い合わせが数多く届いています。不正プログラムの販売者は、主に顧客の高い購買量を充当するために乗っ取られたアカウントも一緒に取引をします。ハッキングされるアカウントの多くはSteamガードを有効にしていない場合や、嘘の情報や各種アイテムの無料配布を謳うフィッシングサイトなどを通じてハッキングされている可能性が高いことがわかっています。

これらの問題の予防策として、SMS認証とワンタイムパスワードを使った2段階認証システムを追加することにしました。また今後追加予定にあるランクマッチシステムでは、よりフェアな環境を提供するため、2段階認証システムを有効化しているアカウントを保有するプレイヤーのみが参加できるようにする予定です。

 

 ・コンテンツ関連コードの脆弱性改善

武器、車両、キャラクター動作に関連するコードを狙ったハッキング対策としてコードの脆弱性改善を行う予定です。

 

 ・武器

銃の射撃角度、リコイル、弾の軌道などに影響のあるサーバー認証を強化

照準に関わるクライアントロジックの脆弱性分析および強化

 

 ・車両

車両の速度、移動角度、そして滞空時間などに影響のあるサーバー認証を強化

不正行為が発見されたアカウントが利用禁止になるだけではなく、不正に利用されるツールをリアルタイムで発見し抑制、マッチから不正プレイヤーを追放、即時利用禁止措置なども適用予定

 

 ・キャラクター動作

キャラクターの移動速度、滞空時間などに影響のあるサーバー認証を強化


モニタリング/利用禁止措置の強化について

これまで不正プログラムを利用したことにより永久的に利用禁止となったアカウントは数百万にのぼります。このような大規模な規制が行われているにもかかわらず、すり抜けに成功し長い期間不正が続く場合があります。2020年は不正プログラムが使用されるアカウント、PCに関するモニタリングおよび利用禁止措置を強化し、その結果をお伝えする予定です。

 

 ・モニタリング範囲の拡大

不正プログラムのモニタリング範囲をさらに拡大し、不正プログラムの予防に努めます。私たちが不正プログラムを感知するためにAnti-Cheat Solutionの機能をアップデートしています。ですが一定期間が過ぎるとこれを回避する技術が不正プログラムに組み込まれ、Anti-Cheat Solutionの探知範囲が縮小する現象が発生します。この点については、定期的なアップデートを通じて対応しています。また、不正プログラムの中にはカーネルゾーン利用し感知を回避するものが増加しており、これを根本的に補完するためにAnti-Cheat Solutionがこれよりも高い権限を保有することで不正プログラムをより一層感知できるようにし、このためのカーネルドライバーを2020年6月に導入を予定しています。

 

 ・自動解析

現在私たちが行っている手動解析の難点は、常にアップデートされる不正プログラムの分析および対応が必要とされることです。また一部不正プログラムの場合、ダンプファイル生成時にPCを強制終了や、不正プログラム分析に使用されるアカウントの認証プロセスを初期化などの形で分析に妨害を受けています。

最終的な目標は、不正プログラムを利用しているクライアントを自動的に発見することです。正常な環境と不正を利用した環境の絶対的な違いを探すことによってそれが可能になります。環境が人為的な工作を受けたものである場合には自動的にアカウントを利用禁止にします。2020年7月適用を目処に進めています。

 

 ・ハードウェアBANシステムの強化

ハードウェアBANシステムが有効化された場合、使用者のハードウェアにおける特定の情報が記録され新規アカウントまたは不正アカウントに交換した場合でもサーバー側でブラックリストとして登録されたPCであると識別されます。より多くのハードウェア情報を収集すればするほどハードウェアBANの正確性は高くなりますが、単純にいくつかの部品を交換するなどの些細なハードウェア情報の変更だけでも回避できる可能性が高くなります。また、不正プログラム開発者たちはハードウェア情報を変更するツールやこれを搭載した不正プログラムを使って私たちの努力をいとも簡単に水の泡と化していました。

私たちは既存のハードウェアBANシステムには限界であることが明らかとなり、これを改善しています。今後は特殊なアルゴリズムを用いてハードウェア情報をユーザーレベルとカーネルレベルの両方で取得し、不正プログラムがそれを避けようとした場合も再度プログラムを素早くブロックできることを目指しています。それにより、不正プログラムを使用したアカウントのみでなく、使用したPCも利用禁止にできるようになります。

 

 ・利用制限の強化

不正プログラム使用者の認知はプレイヤーの皆さんの報告と各種ゲーム情報およびログデータに基づいて認知されています。このように認知された利用者の中で証拠が確認された利用者の場合、即時利用停止の措置を行い、追加調査が必要な場合は利用停止の判断をするために24時間の一時的な利用停止措置が施され、調査結果に従ってその後の措置が適用されます。

一時的に利用停止になるユーザーの多くは永久的な利用停止となっています。一部は証拠不十分として利用制限が解除されゲーム利用が可能になり、また一部は不正プログラムとは無関係な利用者として判断されます。

私たちは無実のユーザーを利用禁止にしてしまうという間違いを減らすため、アカウントを利用禁止にする際は細心の注意を払っています。ですが、これによりさらに多くのプレイヤーにマイナスの影響が及ぶことが確認されました。そこで、すでに利用禁止になっているアカウントや、不正を疑われ一時的に利用禁止になったアカウントに対して、より厳格に対応するという新しい調査方針に切り替えることにしました。

さらに、不正の疑いのあるアカウントに継続的なモニタリングを実施する制度を導入し、一時的な利用停止措置を1回でも受けたプレイヤーの場合、モニタリング対象リストに追加し既存の調査方法以外にゲームを直接モニタリングするなど方法を通じて追跡する予定です。

一時的な利用停止措置を受けたプレイヤーがゲーム復帰後、再度不正プログラム使用の疑いがかかった場合、既存の調査期間に追加の利用停止期間を設けるなどの措置が自動的に行われるようにし、一方で利用停止を受けたが、無実だと判断されたプレイヤーについては素早くゲーム復帰が可能になるよう調査プロセスを自動化する予定です。

これらの対策を実施するためには、今までの利用規約を更新する必要があります。更新は2020年6月に実施される予定です。

 

パフォーマンスと安定性の改善

ここまで不正プログラム対応策の計画についてお伝えしてきましたが、ここからはより差し迫った問題「パフォーマンスと安定性」についての計画をお話ししたいと思います。

 

持続的に発生していたネットワーク、サーバーそしてクライアント問題により、昨年は満足のいくサービスを提供できなかったことをお詫び申し上げます。プレイヤーの皆さんに最高のゲームサービスを提供することは常に私たちの最優先事項でした。ですが、ここ数ヶ月の間、目に見えて増加したHitch現象とゲームクライアントのクラッシュ現象などが、長期間改善されなかった一部の問題により私たちの対応策が日の目を浴びることはありませんでした。

 

ここ最近、私たちは多くのプレイヤーのみなさんが体感するほどのHitch現象の改善を実施しました。また、アップデート5.3で変更したヒットエフェクト効果が原因でクラッシュが発生することがわかり、それを5.3以前のものへとロールバックしました。これらの問題点の原因を把握し解決策を打ち出すことができたのは良いことではありましたが、より早い対応と初期段階において問題が発生する前に措置が施されなければならないのではないかという皆さんのご意見に共感しています。このために私たちは、プレイヤーの皆さんに新しいアップデートをお披露目する前により効果的なテストを実施できるよう改善しようと思います。

 

ゲームサーバーに起きていた問題の一番大きな原因は、数か月におよび続いたDDoS攻撃によるものでした。今年始めに導入したDDos攻撃に対処するべく独自の防御ソルーションが導入されました。今後これを継続的にアップデートし、DDos攻撃があるなかでもプレイヤーの皆さんのゲームプレイに影響がない水準まで到達できるようにする予定です。

 

パフォーマンスの改善


 ・Streaming/Hitchの最適化

パッケージ(pak)ファイル最適化を通じてパッケージ内のコンテンツを探す時間(Seek Time)を改善し、パックファイルの最適化を通じてパッケージ内のコンテンツを見つけやすくする

パッケージファイル: ゲーム内で使用されるすべてのアセット(武器、車両、建物、衣装など)を圧縮したファイルを意味します。

Level Streaming(レベルストリーミング)の回数を減らし、最適化することでパフォーマンスを改善

Landscape併合 → レベルストリーミング/Garbage Collection(ガベージコレクション)の回数が減少 → Hitch現象の改善

グラフィックデータのロード/アンロードによるHitch現象改善

レベルストリーミングを、グラフィックデータがワンフレームでロードする方式から、フレーム別にロードする方式に変更し、Hitch現象を最小化

その他Hitch現象改善リスト

インベントリを開けるとき

キャラクタープレビューをオンにするとき

武器を装備するとき

キルを達成するとき

アイテムを投げるとき

UIを開くとき(設定やミッションなど)

ゲーム内で使用されるフォントの種類を少なくし最適化

ゲーム内アイテムのさまざまなスキンを最適化する(武器、キャラクター)

特に、銃のスキンの中でロードに時間を要するスキンについては、非同期ロードによる方式でHitch現象改善

 

 ・GPUの最適化

HLODをさらに活用することによる、GPUパフォーマンスを最適化および改善

HLODとは、長距離から見る際に複数のStatic MeshアクタをひとつのStatic Meshアクタに結合させるシステムです。これにより特定のシーンにおいてレンダリングが必要なアクタの数が減少し、フレームごとのドローコールDraw Call (ドローコール)の回数減らし、パフォーマンスを向上させるにあたって助けとなります。

Landscape構造の改善を通じて最適化

 

 ・アニメーションの最適化

キャラクターが密集する場合や過剰なアクションによるオーバーロード問題については、ゲームプレイに優先順位を設けて計算量を調整し、アニメーションを最適化

 

 ・ロースペックPCのための改善

お使いのパソコンによっては、パフォーマンス問題が起き、ゲームがプレイできないといった報告を受けています。そのような問題がなるべく起きないようにするために、CPUの使用量によって最適化の度合いを自動で調整できるように改善し、ロースペックのパソコンでも安定したゲームパフォーマンスが楽しめるようになります。さらに、CPUコアの低いマシンを使えるようにするため、アニメーションプロセスのコストを下げることにも取り組んでいます。


安定性の改善

現在、ロビーやゲーム内、そしてロード画面などで、プレイヤーが継続的にクラッシュする現象が発生しており、これを改善するため、内部検証プロセスを強化するとともにクラッシュレポートを活用しています。

 

 ・クライアントのクラッシュ問題解決および迅速な対応

クライアントのクラッシュ問題は主にメモリ不足によって発生するため、ビルド作成時のチェックプロセスを強化

継続的なメモリプロファイリングによって不必要も使用されるメモリを削除

必要以上に使用されているアートリソースを最適化

コードのリファクタリングを通して、コンテンツのローディング方式を全般的に最適化

ライブプロファイリングでメモリのリークを防止

長時間のプレイに起因する問題発生を防ぐ

 

 ・ビルド検証プロセスの強化

手動検証方法を強化しつつ、自動検証ツール導入

プログラムの健康状態を監視するためのチェックシステムを導入す

メモリリークのチェック用ツール

メモリ使用量のチェック用ツール

メモリへのダメージチェック用ツール

意図していなかったメモリへのアクセスによって起こったクラッシュを発見するためのツール

Hitchチェック

CPU/GPU状態チェック

AIを使い、ユーザーが100名いる状態のテスト環境を構築

PUBGは100名のプレイヤーでゲームプレイにより正確なパフォーマンステストが可能であるが、パフォーマンステストごとに100名のプレイヤーを用意しテストすることは現実的に難しい状況。

BOTを利用することで、実際のゲームプレイ環境に類似した大規模なテストを行っています。

 

ネットワークの改善


 ・DDoS

Distributed Denial-of-Service (DDoS、分散DoS)攻撃は、人気のオンラインゲームの大多数が必ず一度は受ける行為です。ゲームサーバーがDDoS攻撃を受けると、そのサーバーのユーザー全員にネットワークの遅延やpingの高い状態、そしてパケットロスなどの接続エラーが起きます。DDoS攻撃は2019年11月以降に大幅に増加し、2020年2月に非常に深刻な問題となりました。これに対処するために、私たちのチームは追加の外部ソリューションを導入すると同時に、独自のDDoS防御ソリューションを開発しました。そのおかげで、大半のDDoS攻撃はブロックに成功しています。DDoSに対して具体的にどのような対策をとったかについては、また別の機会にお伝えします。

 

 ・Packet Loss(パケットロス)

一部の外部DDosソリューションを適用したところ、北アメリカおよびヨーロッパのプレイヤーから膨大なパケットロス現象の報告が増加しました。ある程度はこの問題を軽減できていますが、まだいくつかの問題点は残っています。原因としてさまざまな要因が考えられるため、原因分析やルート最適化を行い、このパケットロス問題を減少させネットワーク環境の全体的な改善を目指しています。

 

最後に

これらの問題に関して、こちらから報告が無ければ、私たちは何もしていないのではないかとお思いになるのは当然です。これからはこうしたコミュニケーションのやり方だけでなく、このDev Letter内でご説明した問題点のすべてを改善していくつもりです。

今年は多くの素晴らしいコンテンツが準備されています。クラッシュやその他の問題がまたいつ起きるだろうかという不安を感じることことなく、コンテンツを楽しんでいただけるよう最善を尽くします。今回は、一度に多くの情報をつめこんでしまったので、これらの問題点についてのさらなる情報は後日改めてお送りいたします。

このDev Letterをお届けするまでに、時間がかかってしまったことをお詫び申し上げます。私たちがこれまで何に取り組んできたのか、そして今後の計画について細かくお伝えするためにこのようなお時間を頂戴いたしました。

PUBG開発チームは安定した環境を提供することの重要性をとてもよく理解しています。これまで忍耐強くお待ちいただき、またフィードバックをお送りいただいたことに本当に感謝しております。

 

ありがとうございました。お体にお気をつけて。

– PUBGエグゼクティブプロデューサー Taeseok Jang