SlideShare a Scribd company logo
中嶋 謙互(取締役CTO)
安田 京人(ミドルウェア事業部部長)
新しくなったモノビットエンジンを使って
10万人規模のサーバを構築するノウハウを公開!
モノビットエンジン勉強会
in
サイバーコネクトツー様
株式会社モノビット
1
<全体の流れ>
■第一部
モノビットエンジンVer2.0シリーズ概要(安田)10分
■第二部
MRS/MUN 10万接続サーバ構成実例(安田)20分
■第三部
ネットワークゲームにおけるTCPとUDPの使い分け(中嶋)60分
スマホ/家庭用ゲームやVRコンテンツで、マルチプレイを簡単に実現できる、リアルタイム通信ミド
ルウェアです。主に3つの製品ラインナップで展開しています。2017年にVer2.0に進化しました!
1,Monobit Revolution Server (略称:MRS)
MMORPGや、多人数MOアクションゲームにも対応出来
る処理速度とレスポンスを追求した、高速ゲームサーバ
です。シンプルなAPIで超高速通信かつ大規模同時接
続を実現します。
■モノビットエンジンVer2.0シリーズとは?
2,Monobit Unity Networking 2.0 (略称:MUN2.0)
Unityに特化した通信ミドルウェアです。マッチング、ルー
ム、通信リレーの機能が標準で用意されており、ネットワ
ークの知識がなくてもマルチプレイを実装可能。RMSと連
携して、サーバにもC++/C#でコードが書けるように進化
しました。
3,VR Voice Chat 2.0
Unityで簡単にボイスチャットを実現することができるUnity
プラグインです。2.0になってレスポンス速度上昇!
- 3 -
MRS(Monobit Revolution Server)のご紹介
■ MRS(Monobit Revolution Server)とは
これまでにない大規模オンラインゲーム開発が可能
低遅延が要求されるアクションゲームやVRなど
リアルタイム通信コンテンツの開発に最適
- 4 -
■ MRS(Monobit Revolution Server)の特徴
●低遅延・高効率でのリアルタイム通信制御
- 通信シーケンスや内部プロセス、利用者に提供するAPI等を刷新
- リアルタイム通信機能として、より速く、よりシンプルな設計を実現
従来リリースしていた「リアルタイム通信エンジン」をゼロから見直して作成
●TCP, UDP, WebSocket の通信プロトコルの利用
- ネットワーク高速化とサーバ側CPU負荷軽減を実現
- 1CPUあたり最大20,000クライアントの同時接続を実現
TCP 接続は従来の「リアルタイム通信エンジン」を大幅に強化
UDP 接続プロトコルのサポート
- リアルタイム性の求められるデータの送受信に最適なUDP/RUDPを使用可能
WebSocket 接続プロトコルのサポート(ver.1.1.0 以降)
- PhantomJS(http://phantomjs.org/)を利用した自動テストが可能
高速処理によるインフラコストの大幅低減を実現
- 5 -
■ MRS(Monobit Revolution Server)の特徴
●多種多様なプラットフォームに対応
●ゲームエンジン、開発言語を多数サポート
C/C++ JavaC#
Java
Script
家庭用ゲーム機やマルチプラットフォームも対応
PHP,
Ruby
Windows/VisualStudioでサーバ開発が可能に!
- 6 -
■ MRS(Monobit Revolution Server)の特徴
●堅牢な暗号化によりチート対策も万全
・ 送信レコード単位で、暗号処理の適用可否を設定可能
- 暗号処理はCPU負荷を掛けやすい
- 秘匿性が低い送信レコードには暗号処理させないなどの施策により
全体的なスループット向上が見込まれる
・ 暗号方式について
- 暗号鍵方式には AES128 を採用
- 暗号鍵の交換方式には EDCH(楕円曲線ディフィー・ヘルマン)
鍵共有アルゴリズムを採用
●拡張ライブラリによる機能の拡張が可能
ルームサーバの機能や、ゲームマッチング、チャットなどは
『MRS_ROOM』 や 『MUN』 などで実現可能
ルーム作成 マッチング チャット
MRS_ROOM MUN
転送レコードごとの暗号化
- 7 -
■ MRS(Monobit Revolution Server)の特徴
- mackerel_agent をインストールするだけで問題なく監視可能
- システムメトリック
ロードアベレージ, CPU, メモリ, ディスクアクセス, ネットワーク帯域, ストレージ使用状況の監視
- カスタムメトリック
各サーバプロセスごとのモニタリング, 同時利用者数(CCU)の監視など
●直感型サーバ監視ツール 『Mackerel』 に対応
MRS の対応内容
Mackerelとは
- サーバプロセスの監視状況をリアルタイムにグラフ化
- モニタリングはもちろん、ブラウザ対応UIやAPIが豊富
高機能な監視ツールにより運用をサポート
- 8 -
■ MRS(Monobit Revolution Server)の特徴
●低遅延・高効率化のNiftyCloudでの実証実験
・ TCP による最高性能試験の結果、
毎秒約540,000レコードのECHO送受信を実現させることが可能
※ MRS_bench 計測結果(1秒間隔の計測ログ、暗号化なし)
loop:試行数
s:総送信バイト数
r:総受信バイト数(総受信レコード数)
c:接続数
d:切断数
e:エラー検知数
loop:1 s:0 r:0(0) c:0 d:0 e:0
loop:1302 s:940160 r:46678(32104) c:40 d:0 e:0
loop:2576 s:4679800 r:366276(143363) c:117 d:0 e:0
loop:3222 s:8596640 r:1443319(340764) c:193 d:0 e:0
loop:3627 s:12284680 r:3220253(495575) c:266 d:0 e:0
loop:3939 s:15922640 r:5375457(551009) c:300 d:0 e:0
loop:4240 s:19534640 r:7557718(543762) c:300 d:0 e:0
・ UDP による最高性能試験の結果、
毎秒約350,000レコードのECHO送受信を実現させることが可能
※ MRS_bench 計測結果(1秒間隔の計測ログ、暗号化なし)
loop:試行数
s:総送信バイト数
r:総受信バイト数(総受信レコード数)
c:接続数
d:切断数
e:エラー検知数
loop:1 s:0 r:0(0) c:0 d:0 e:0
loop:698 s:133020 r:132220(132220) c:20 d:0 e:400
loop:1624 s:770060 r:768440(346380) c:40 d:0 e:920
loop:2491 s:1463660 r:1461980(344720) c:40 d:0 e:920
loop:3373 s:2169260 r:2167640(353580) c:40 d:0 e:920
loop:4255 s:2874860 r:2873220(353560) c:40 d:0 e:920
- Server :
Nifty-Cloud e-large8(¥37/h) x1
Intel Xeon 4Core CPU(E5-2697) 2.60GHz / 8GB RAM
- Client :
VMware 上の 仮想 Linux PC
※ MRS ver.1.0.0 リリース版での検証
※ 計測ツールは弊社内製のベンチマークツール 『MRS_bench』 によるもの
- 9 -
・機能比較(MRS vs 従来品)
機能 新MRS 旧エンジン
対応プロトコル TCP/UDP/RUDP/WebSocket TCP
外部API設計 C言語風(シンプル化) C++風
遅延 マイクロ秒 ミリ秒
CPUスレッドあたりスループット
300同時接続時
毎秒54万レコード
300同時接続時
毎秒数万レコード
クライアント開発言語 C++,C# C++,C#
サーバ開発言語 C++,C# C++
サーバOS Linux,Windows,MacOSX Linux
10
■ MRS(Monobit Revolution Server)の特徴
対応
プラットフォーム
■ MRS(Monobit Revolution Server)の展望
●MRSの今後の開発ロードマップとリリース予定
通信方式
実装方法
現行リリース 2017年8月 2017年9月 2017年10月 2017年冬
Linux
Windows
MacOSX
Android
iOS
Unity
Client/Server
通信方式
TCP/UDP/RUDP
プロトコル
WebSocket
CのAPIを利用
通信結果を
コールバック処理
他言語はバイン
ディングで対応
Cocos2d-x
Unity+WebGL
UnrealEngine 4
P2P通信方式
コールバック処理
のRPC化
RPCスタブコードの
ジェネレータを
リリース
- 11 -
MUN (Monobit Unity Networking)のご紹介
- 12 -
■ MUN(Monobit Unity Networking)とは
クライアントのみでも実装できる、Unity特化型の通信エンジン
マルチプレイを簡単に実装できるアセットです
- 13 -
●対応バージョン
Unity4.x : 4.3.4 以降の Pro 版に対応
Unity5.x : Personal / Pro 両対応
Unity2017.x : 対応中
■ MUN(Monobit Unity Networking)の特徴
- サーバ接続/切断、オフラインモード
- ロビーやルームに対する入室/退室制御、ロビーとルームの状態取得
- プレイヤー情報の取得(サーバ内検索, プレイヤーパラメータの設定と取得)
- RPCによる、任意のクライアントに対する情報送信および受信
- シーン内オブジェクトの位置・姿勢・アニメーション等の同期
- 各種条件に応じた、マッチメイキング制御
- ノンプログラミング通信制御 etc...
※すべて単一のコンポーネントやAPIで実装可能
MUN で実装できる機能の一部
- 14 -
※各種家庭用ゲーム機はNDA締結により利用可能になります
●多彩な機能が多様なプラットフォームで利用可能
利用可能なプラットフォーム
■ MUN(Monobit Unity Networking)の特徴
●すべての通信ロジックを、クライアント側オンリーで実装可能
MUN リリース当初からの設計思想を実現
- 15 -
- 『サーバサイドの構築なしでリアルタイム通信を実現したい』
というご要望に対応
- 通信ロジックも含め、
オンラインゲームのすべての制御をクライアント側でコーディング可能!
※MUNサーバはbroadcastでリレー配信する役割を果たします
- クライアントコードをそのままサーバに移植して、簡単にチート対策!
- MUN標準機能のサーバのソースコードを公開中。VisualStudioでカスタマイズ可能。
●必要に応じて、サーバにコードを書くことも可能!
MUN2.0より、MRSと連携してC++/C#言語でサーバ開発が可能になりました!
サーバとクライアントでコードを自在に配置可能
■ MUN(Monobit Unity Networking)の特徴
- MUNサーバ側は、TCP/UDPの通信ポート双方で待ち受けしている
- 同一認証のMUNクライアントであれば、TCPの接続クライアントと
UDPの接続クライアントを同一ルームに接続させることも可能
●TCP, UDPの通信プロトコルの利用
MRSに基づき、TCP/UDPの通信プロトコルをサポート
MUNにおける UDP/RUDP接続プロトコルについて
- 16 -
- MUNの内部処理で行われる送受信(ロビー/ルームの入退室など)の
通信をUDPで行なう場合、すべて RUDP で伝送される
- RPC(リモートプロシージャコール)、およびオブジェクト同期通信のみ
UDP/RUDP の個別設定が可能
速度を重視するか信頼性を重視するか、
場面によって最適な通信プロトコルを選択可能
■ MUN(Monobit Unity Networking)の特徴
- クライアントサイドの改ざんに伴う、チートの横行を防ぐ術がほとんどない
すべてのソースコードがクライアントに含まれるため
- ホストの優位性が圧倒的に高い
ノンプレイヤーの通信データについて、ホストは即時実行するが
他クライアントはホストからの通信を待たねばならないため
- ゲーム進行が、ホストの性能に依存する
●オンプレミス版MUNサーバを用いたサーバサイド実装にも対応
- 17 -
クライアント側オンリーでの実装における『問題点』
サーバサイド実装にすることの『メリット』
- サーバサイドに実装することにより、クライアント改ざんの隙を与えない
ほとんどの処理はサーバ依存にし、クライアントはビューアとして機能させる
- すべてのクライアントに対し、『平等なサービス』を提供できる
ホストも他のクライアントで実行タイミングを完全に一致させることができる
機能 MUN2.0 MUN1.0
プロトコル TCP/UDP/RUDP TCP
サーバ開発 可能(C++/C#) 不可
自動スケール機能
新製品MRSクラスタ
リリース予定
なし
負荷試験自動化ツール ○ ☓
カスタム認証機能 ○ ☓
汎用ルームサーバー ○ ○
マッチメイキング ○ ○
プレイヤー検索 ○ ○
ルーム作成・入退室制御 ○ ○
ルーム名・人数取得 ○ ○
RPC同期通信 ○ ○
再接続処理 ○ ○
18
■ MUN(Monobit Unity Networking)の特徴
●従来製品との機能比較(MUN2.0 vs MUN)
対応
プラットフォーム
■ MUN(Monobit Unity Networking)の展望
●MUNの今後の開発ロードマップとリリース予定
クライアント
プログラム
サーバ
プログラム
2017年8月 2017年9月 2017年10月 2017年秋 2017年冬
送受信制限機能
の実装
シーケンス
最適化
内部データベース
再構築
差分データ
送信制御
Unity+WebGL
NET CORE対応
- 19 -
大量RPC送受信時
の処理負荷軽減
VR VoiceChat with MUN のご紹介
- 20 -
■ VR VoiceChat with MUN とは
MUNをベースに動作する『ボイスチャットエンジン』
コンポーネントを追加するだけで簡単に実装が可能!
無音検知、マルチキャスト配信、遅延音声カット機能を搭載!
- 21 -
■ VR VoiceChat with MUN の特徴
VoiceChat with MUN の機能を実装するには、Unityのオブジェクトに
『MonobitVoice』のコンポーネントを追加します
●コンポーネントを追加するだけで簡単に実装が可能
- 22 -
上記コンポーネントを追加した状態で、MUNによる通信同期を行なう
シーンファイル上で動かすだけで、ボイスチャットが簡単に実現できます
簡単な手順でボイスチャットを実装可能
■ VR VoiceChat with MUN の特徴
- キーボードのタイピング音や、周囲の環境騒音の同時伝送を防ぎます
- 『一定量以下のdb値の音声を送信しないようにする』 という
シンプルなソフトウェアノイズキャンセリングを実装しています
- 無音検知機能によりデータ転送量を減らします
無音検知閾値を調整することで無音検知機能を無効化することも可能です
●無音検知機能(ノイズキャンセラ)を搭載
会話時の雑音などのノイズを除去し、クリーンな音声だけを送信
ハウリングを防止
- 特にスマートフォン端末など、スピーカー出力部とマイク入力部が
近い位置にあるデバイスで有効です
- 23 -
■ VR VoiceChat with MUN の特徴
- 例えば 『FPSのチーム戦』 などにおいて、
『戦闘前のブリーフィング中にはチーム関係なく全員と会話させたい』
『戦闘中は自分のチームだけで会話させ、相手に音声を伝えたくない』
という、条件付きのボイスチャット配信設定を行なう機能です
●マルチキャスト配信機能を搭載
ルーム内の特定プレイヤーに対して、自身の音声の送信可否を設定可能
- 24 -
マルチキャスト配信機能のメリット
- ゲームデザインに応じたボイスチャットの拡張性を高めます
- 『特定プレイヤーとの会話』 によって、音声ストリーム情報による
トラフィックの総量を抑えることができます
※マルチキャスト配信機能の設定にはAPIを使用する必要があります
全員に声が届く
仲間にだけ
声が届く
聞こえない
■ VR VoiceChat with MUN の特徴
- 『相手の音声が数ミリ秒~数秒遅れて再生』 されるような
再生遅延の状態が著しく悪い状態のときに 『再生待ちレコード』 を削除し、
よりリアルタイムな音声を受信側で再生させる機能です
●遅延音声のカット機能を搭載
受信側の再生遅延が著しい場合に、再生の早回しを行なう機能
『ぶつ切り感』 をほとんど感じない音声遅延カット
- 『音声のぶつ切り』 がイメージとして浮かぶかもしれませんが、
音声として聞き取れる僅かな時間をカットするだけなので、
ぶつ切り感をほとんど感じることはありません
- 数ミリ秒単位で音声再生を補完することにより、送信側の音声をより瞬時に
受信側で再生できる 『リアルタイムさ』 を実感できます
- コンポーネントの設定から 『遅延音声のカット機能』 を無効にすることもできます
- 25 -
生の音声データを取り出して、ボイスチェンジャーも実装可能です
■ VR VoiceChat with MUN の展望
- 26 -
●今後の開発ロードマップとリリース予定
ボイスチャット
専用サーバ
P2P対応
未定2017年秋 2017年冬
ノンサーバによる
ボイスチャットの実装
サーバミキシング機能の実装独立サーバでの運用
27
・お気軽にお問合せください
contact@monobit.co.jp
■ まとめ
<導入の利点>
1,LinuxでC#、C++ゲームサーバが運用出来る
2,C++で超高速サーバが開発可能
3,日本国内開発でサポートが充実
<導入方法>
1,まだUnityアセットストアには置いていませんので、
モノビットエンジンのHPからプラグインをダウンロードして
使ってみて下さい。
2,既存のUnityNetworking互換APIを使って開発している
タイトルについても、別APIからの置き換えは1日で完了します。
現在開発中のタイトルについても、ぜひ採用を検討してみて下さい。
MRS/MUN
10万接続サーバ構成実例
ミドルウェア事業部部長 安田京人
株式会社
29
■ MRSゲームサーバ構成例
MRSサーバにおける最小構成
・ mrs_room : MRSで提供している最小構成のルーム管理サーバ。
ルーム入退室制御と、ルーム内外でのデータ送信を可能にする。
Global Section
Private Section
MRS Server
Machine
MRS Server
Process
MRS Server
mrs_room
mrs_room がルームの管理、ルーム内外のデータ送信を
一括制御
Internet
・・・
MRS
Client
MRS
Client
・・・
MRS Client
Machine
MRS Client
Process
MRS
Client
MRS
Client
MRS
Client
MRS
Client
MRS
Client
MRS
Client
MRS
Client
MRS
Client
mrs_room
MRS Server
mrs_room ・・・mrs_room
・・・
MRS Server
mrs_room mrs_room ・・・
MRS Server
mrs_room mrs_room ・・・
CネイティブのAPIを用意
言語バインディングで多言語対応
Frontend MRS Room Servers
30
■ MRSゲームサーバ構成例
特徴
・リアルタイム処理を必要とされる部分について、簡単なデータ送受信とルーム管理機能を提供
・簡単な通信対戦、小規模ネットワークゲームであれば実装可能
・サーバ、クライアントともにCネイティブのAPIを用意しており、言語バインディングにより、多種多様な
プログラミング言語に対応可能(弊社サンプルでは C, C++, C#, Java, JavaScript, PHP を用意)
・ルームを跨いだ通信ができないので注意が必要
リアルタイムサーバ間、サーバ⇔クライアントとの接続
・TCP/UDP/WebSocketによるソケット接続が可能で、完全同期通信を実現。
なぜAPIがCネイティブである必要があるのか
・リアルタイム通信を行うゲームでは、サーバサイドで多くの処理を行う必要があるので、サーバプログラムの
実行速度が大変重要
・そのため、例えWebブラウザで動かすようなゲームであっても、Web言語よりも数十倍の実行効率を持つ
C++言語でサーバー側の処理を記述する事により、素早い通信を実現し、なおかつサーバー台数を大幅に
削減可能
・かつ、C++言語で書かれたライブラリをCネイティブのAPIとしてWrapすることで、より多くの言語バイン
ディングに対応することを可能にしている
31
■ MRSゲームサーバのコーディング例
簡単な送受信サンプルの実装例
・MRSのコードは至ってシンプルで、簡単なECHO送受信のコードをCで記述すると以下のように書けます。
クライアント側 サーバ側
#include <mrs.hpp>
bool g_Run = true; // ループフラグ
// 接続後処理
void onConnect( MrsConnection _con, void* _data ) {
// ECHO 送信
mrs_write_record( _con, MRS_RECORD_OPTION_NONE,
0x01, “Hello, MRS!”, strlen(“Hello, MRS!”) + 1 );
}
// ECHO受信後処理
void onRead( MrsConnection _con, void* _data, uint32 _seq, int16 _option,
uint16 _type, const void* _payload, uint32 _len ) {
// 受信結果表示
printf(“data=%s, datalen=%d”, (const char *)_payload, _len);
// ループ終了
g_Run = false;
}
//メイン処理
int main() {
// 初期化
mrs_initialize();
// 接続処理
MrsConnection client = mrs_connect(MRS_CONNECTION_TYPE_TCP,
“192.168.1.253”, 3456, 10000 );
// コールバック設定
mrs_set_connect_callback( client, OnConnect );
mrs_set_read_record_callback( client, OnRead );
// ループ処理
while(g_Run) {
mrs_update();
mrs_sleep(1);
}
// 終了処理
mrs_close(client);
mrs_finalize();
return 0;
}
#include <mrs.hpp>
// 接続後処理
void onConnect( MrsServer _server, void* _data, MrsConnection _client ) {
// コールバック設定
mrs_set_read_record_callback( _client, OnRead );
}
// ECHO受信後処理
void onRead( MrsConnection _con, void* _data, uint32 _seq, int16 _option,
uint16 _type, const void* _payload, uint32 _len ) {
// ECHO返信
mrs_write_record( _con, _option, _type, _payload, _len);
}
//メイン処理
int main() {
// 初期化
mrs_initialize();
// リスニング開始処理
MrsConnection server = mrs_server_create(MRS_CONNECTION_TYPE_TCP,
“192.168.1.253”, 3456, 2000 );
// コールバック設定
mrs_set_new_connection_callback( server, OnConnect );
// ループ処理
while(true) {
mrs_update();
mrs_sleep(1);
}
// 終了処理
mrs_close(server);
mrs_finalize();
return 0;
}
32
■ 10万人規模のサーバ構成
まず性能分析から
・サーバプロセス1つにつき、MRS単体で以下のレコード処理性能(ECHO送受信性能)を持ちます
TCP では 54万レコード/秒
(約60Mbps)
UDP では 35万レコード/秒
(約22.4Mbps)
・原則として、上記を基準にプロセス内の処理性能を考慮してサーバ構成を検討すれば問題ありません。
耐用しうる同時接続数について
・接続数の限界は、理論上「2の64乗」までは可能です。
・上記の通信処理性能と合わせて考えれば、例えばMMOなど「同時接続10万接続」が要求される場合でも
余裕で捌けます。
・なお、公式の無料頒布版では「同時接続者数制限 100CCU まで」の制約がありますが、弊社との契約により
この上限を段階的に開放することができますので、別途ご相談ください。
33
■ 10万人規模のサーバ構成
サーバインスタンスの役割構成を設定する場合
・MRS自体はサーバ構成情報を持っていないため、別途データベースサーバなどを設けて、サーバの役割構成の
情報を付与する必要があります。
・付与されたインスタンス情報はWebサーバ(mrs_pusher)を介してクライアントに通知します。
・手順は以下の通りです
1. あらかじめKVSやデータベース等のデータストアに接続サーバのアドレス情報を退避しておく
2. MRS クライアントから「最初に接続するサーバ」のアドレス情報を、下図 a → b → c の順に取得
3. 取得した情報により、「最初に接続するサーバ」との情報の送受信(下図 d)
4. MRS クライアントから「次に接続するサーバ」 のアドレス情報を、下図 a → b → c の順に取得
5. 取得した情報により、「次に接続するサーバ」との情報の送受信(下図 e)
Web Server
mrs_pusher
Database
database
First Server
mrs_room
Second Server
mrs_room
MRS Client
MRS Client
a
c
d e
b
34
■ 10万人規模のサーバ構成
サーバインスタンスの役割構成の実装例
・MRSクライアントから、一般的なゲームサーバのサービス(ロビーサーバ, マッチングサーバ, バトルサーバ)
などに接続する場合の構成例は以下の通りです。
35
■ 最小限のMUNゲームサーバ構成例
MUNサーバにおける最小構成
・ mun_resolver : 接続する mun_proxy への接続アドレス通知
・ mun_proxy : ルーム外における一連の通信制御(ルーム入退室, ルーム/プレイヤー検索, etc...)
・ mun_room : ルーム内における一連の通信制御(RPC, オブジェクト同期, etc...)
・ mun_master : mun_proxy, mun_room の情報を統制管理する、オンメモリ上のデータベース制御
36
■ 最小限のMUNゲームサーバ構成例
特徴
・リアルタイム処理を必要とされる部分について、マッチング処理からゲームシーンの完全同期までを提供
簡単な小規模ネットワークゲーム、MOレベルのネットワークゲームなど運用可能
・MUNを利用することにより、サーバサイドを一切コードを書かずに、クライアントサイドのみ実現可能
・MRS同様、ルームを跨いだ通信ができないので注意が必要
リアルタイムサーバ間、サーバ⇔クライアントとの接続
・内部エンジンで MRS を利用しているので、特性は MRS に準じる
・MUN では MRS-API を Unity 向けに C# でバインディングして、TCP/UDPによるソケット接続が可能
MUN ルームサーバの制限
・1ルームに入室できるプレイヤー人数は 255 人まで、1サーバプロセスで十分に捌ける人数は3万クライアント程度
・提供するゲームの規模に応じて、mun_room サーバのスケールアウトが必要
37
■ MUNのコーディング例
簡単な送受信サンプルの実装例
・MUNのコードも至ってシンプルで、簡単なECHO送受信のコードを記述すると以下のように書けます。
クライアント側
using System;
using MonobitEngine;
namespace MUN_EchoSample {
class EchoSample : MonobitEngine.MonoBehaviour {
void Start() {
MonobitNetwork.ConnectServer(“EchoSample”); // サーバ接続
}
void Update() {
if( !MonobitNetwork.isConnect ) return;
if( !MonobitNetwork.inRoom ) {
MonobitNetwork.JoinOrCreateRoom(“MyRoom”, new RoomSettings(), null); // ルーム入室
}
}
// ルーム入室時の処理
void OnJoinedRoom() {
if( !MonobitNetwork.isHost ) {
monobitView.RPC(“SendMsg”, MonobitTarget.Others, MonobitNetwork.player, “Hello, MUN!” ); // ECHO送信
}
}
// ECHO送信の受信
[MunRPC]
void SendMsg(MonobitPlayer sender, string msg) {
UnityEngine.Debug.Log(“SendMsg : “ + msg ); // 受信結果表示
monobitView.RPC(“EchoMsg”, sender, msg ); // ECHO返信
}
// ECHO返信の受信
[MunRPC]
void EchoMsg(string msg) {
UnityEngine.Debug.Log(“EchoMsg : “ + msg ); // 返信結果表示
MonobitNetwork.DisconnectServer(); // サーバ切断
}
}
}
38
■ MUNによる10万人大規模サービスの構成
MUNサーバで「同時接続者数10万」を実現するには
・MUNは原則として、以下の用途におけるネットワークゲームに適しています。
a) オンライン対戦型のターン制カードゲーム、パズルゲームなど
b) MO(中小規模の、参加人数限定型マルチプレイヤーオンラインゲーム)
c) MOBA(参加人数限定型の戦略対戦型オンラインゲーム)
・1つの MUN サーバセットあたりで、同時接続、およびルーム内各種メッセージを捌けるのは
おおよそ3万人程度です(弊社調べ:1ルームあたり、秒間平均200メッセージの送受信を想定)。
・10万人規模の同時接続者数を捌くためには、MUNサーバの横展開(スケール)が必要になりますが、MUN の
サーバセットは密結合のサーバプロセスで構成されているため、スケールする場合、このサーバセットを1組として
複数のサーバセットを並列配置することになります。
・サーバセットをスケールすることにより、実質的に無限数のMUN クライアントに対し、同時接続処理を捌けます。
・次ページで、具体的なサーバ構成例を示します。
MUN
Room
MUN
Proxy
mun_proxy ・・・mun_resolver
MUN
Master
mun_master
MUN
Resolver
mun_proxy mun_room ・・・mun_room
「MUN サーバセット」のこの1組を単位として、
複数サーバセットを並列配置する
39
■ MUNによる10万人大規模サービスの構成
複数の MUN サーバセットによる 10万人同時接続の実現(概略)
・複数の MUN サーバセットによる、 10万人同時接続を実現するためのサーバ構成例として、以下に示します。
・1つの MUN サーバセットに対して同時に捌くことのできるクライアント数は3万クライアントまでですが、若干
余裕を持たせて、サーバセットを5セット程度用意します。
・どの MUN サーバセットに接続するかを管理し、クライアントを誘引するための、Webサーバを複数台用意します。
Global Section
MUN Server
Machine
MUN Server
Process
Internet
MUN
Client
MUN
Client
・・・
MUN Client
Machine
MUN Client
Process
Web Server
mrs_pusherdatabase
MUN
Client
MUN
Client
MUN
Client
MUN
Client
MUN
Client
MUN
Client
MUN
Client
MUN
Client
MUN
Resolver
mun_resolver
MUN
Master
mun_master
MUN
Proxy
・・・
mun_proxy mun_room
MUN
Room
・・・
・・・
mun_proxy mun_room ・・・
MUN
Resolver
mun_resolver
MUN
Master
mun_master
MUN
Proxy
・・・
mun_proxy mun_room
mun_proxy mun_room ・・・
MUN
Room
Private Section
MUN Server Set 1 MUN Server Set 2
・・・
40
■ MUNによる10万人大規模サービスの構成
複数の MUN サーバセットによる 10万人同時接続の実現(詳細)
・Webサーバでは、複数の MUN サーバセット内に含まれる mun_resolver のクライアント接続アドレス情報を
事前にデータベース情報として、複数台で同一の内容を保持します。
かつ、MUNクライアントは mun_resolver に接続する前にこの Web サーバに接続し、MUN サーバセットのうち
「最も既存クライアントの接続数の少ない」 mun_resolver のアドレス情報を mrs_pusher で返します。
※ MUN では MRS が内包されていますので、MRSでの情報のやり取りも可能です。
・MUN サーバセットでは、MO/MOBAをはじめとする、中小規模の人数が参加するゲームルームを設置し、そこで
ルーム内プレイヤー同士で、RPCによるデータの送受信、キャラクタなどのオブジェクト位置情報の同期などを
行います。
MUN Resolver に接続するためのアドレス情報を退避したデータベースを持つWebサーバ。
MUNクライアントとのやり取りのためにmrs_pusherを利用し、かつ最もクライアント接続数が
少ない、MUNサーバセットへの誘導を行なう
Web Server
mrs_pusherdatabase
MUN サーバセット自体は通常の MUN サーバとして運用する
サーバのスケールアウトは、原則このサーバセットを1単位として、全体をスケールする形をとる
接続するクライアントは、適宜必要に応じたルームに入室させ、
その中に所属するプレイヤー同士で、メッセージのやり取り、キャラクタの位置情報の同期、
各種パラメータの共有などを行なう。
比較的セキュリティ性を求められない通信対戦/MOであればクライアントベースで開発し、
セキュリティ性の高い通信対戦/MOや、複雑なロジックを必要とするMOBAなどであれば
サーバサイドでのプログラムを実装し、なるべく保守性・安定性に優れたシステムを構築する
41
■ MRS&MUN+サーバ監視システム(Mackerel)
MRS&MUNはMackerelに対応しています
・MackerelのUI+APIを利用して、統括的なサーバ監視とインフラ構築の自動化が可能
・ロードアベレージ、システムリソース、ネットワークリソースの監視、サーバプロセスのモニタリング、
同時利用者数(CCU)の監視などが可能。
42
■ MUNによるMMOサーバの提供
MUNの制約
・MMOのサービス提供を視野に入れる場合、約10万人の同時接続を可能にしなければならない
・しかし、MUNには「同時ルーム入室者数255人まで」という制約がある
・通常のクライアント接続方法ではワールド間どころかフィールド内の同時接続すら実現できず、
MMO のサービス提供には耐えられないので、システム設計上の工夫が必要
43
■ MUNによるMMOサーバの提供
MUNでMMOを実現する方法1
・ルームホストのクライアントが、ルームゲストのクライアント情報を集約して、「他のルームのホストに転送する」
ための専用ルームを用意する方法
この方法のメリット・デメリット
・これだけで、MUNクライアントのみでのMMOのシステム自体の実現はできる
・ただし、ネットワークトラフィックは尋常ではない
・ネズミ式にユーザーが増えると、ホストクライアントの負荷も尋常ではなくなる
44
■ MUNによるMMOサーバの提供
MUNでMMOを実現する方法2
・サーバ側でワールド情報を別段データベースで保存して、情報を共有する方法
この方法のメリット・デメリット
・ネットワークトラフィックや、クライアントの負荷を掛けずに、MMOのシステムを実現可能
・MMOのサービスのほぼすべてをサーバ内で補完できるため、安定した動作、安全な運用を可能にする
・ただし、サーバサイドの知識は不可欠で、MRS-APIの知識や、mrs_pusher の利用方法など、覚えることは多い
・が、総合的には方法1よりもおすすめできる方法
45
■ まとめ
お手軽に開発するのであれば「MUN」がおすすめです!
・何よりクライアントベースで開発できます。
・ネットワークゲームのモック、プロット開発、小規模なゲームであれば、機能として十分です。
・Unity のクライアント負荷を軽減するために実装した一部のロジックについてサーバサイドに移植したり、アプリ
利用者側の操作に依存しないゲームロジックをサーバサイドに記述することも可能です。
・有償プランをお使いの場合、原則1つのサーバセットで捌けるクライアントの上限は3万程度ですが、Webサーバを
伴った並列制御が可能で、同時接続者数制限は実質ほぼありません。ぜひご検討ください。
最初から本格的・大規模なネットワークゲームを作るのであれば
「MRS」一択です!
・低遅延かつ高レイテンシの、最高級のネットワーク環境でゲームを実装できます。
・CベースのAPIを覚える必要がありますが、数あるネットワークライブラリの中でもかなり平易です。
・加えて、MRSの同梱サンプルや、大規模なものだと「MUNサーバ」など、有効なサンプルは揃っています。
・C/C++ 対応はもちろん、C#, JavaScript のバインディングコードも同梱しています。Cからの言語バインディング
を理解しているのであれば、お客様の環境であらゆる言語に対応することもできます。
ネットワークゲームにおける
TCPとUDPの使い分け
(株)モノビット
取締役CTO 中嶋謙互
2017年10月
46
ネットワークゲームのプログラマが
必ず疑問に思うこと
47
いま作っているゲームで、UDPとTCP
のどちらを使うのが良いのだろうか
48
ぐぐると
• UDPはとにかく遅延が小さい
• だから対戦格闘みたいな速い反応速度が必要なゲームはUDP
• MMOはTCP (でもUDPのもある)
• できるだけUDPのほうがいいだろ
• TCPはデバッグしやすいよ
• UDPは面倒なことが多いからTCP
• でも、あのゲームもこのゲームもUDPを使ってる
• しかし、あのゲームもこのゲームもTCPを使ってる
• 同じジャンルでもいろいろ違う
• 両方使ってるゲームもあるよ
結論ができない・・!
49
簡単に決まる場合もある
• ゲーム機でのアドホック対戦ならUDP
• ブラウザゲームならWebSocket(つまりTCP)
(ブラウザでのWebRTCは置いておく)
50
考える手順
1.インターネットの動きを知る
2.インターネットの基礎であるIPを知る
3.TCPを詳しく知る
4.TCPとUDPの違いを知る
5.ゲーム内容からプロトコルを選択する
51
インターネットとは、
全世界の何十億ものマシンを
電磁気的に接続して
データをバケツリレーし、
ぎりぎり何とか使えている、
奇跡的なネットワークである
52
インターネットはなぜ可能か
• インターネットに参加するすべてのマシンが、
「インターネットプロトコル階層」
に従った通信方式を採用しているから
53
プロトコルの階層構造
出典: http://manabu.quu.cc/up/6/e62310.htm
40年かけて人類が構築した共通財産
54
各層のおおざっぱな機能
マシンからマシンに電磁気の信号を届ける
電気ノイズによる誤りを訂正する、接続台数を増やす
ルータを何段階も経由して遠くのマシンに届ける
大きなデータを送る。ポート番号を使ってプロセス単位で届ける
欲しいデータが世界のどこにあるか探せるようにする。
第三者にデータを盗まれないようにする
ゲームのキャラデータの最新状態を送りあう
55
IPアドレスとルータ 11.22.33.44
ルータ
ルータ
ルータ
ルータ
ルータ
ルータ
ルータ
ルータ
55.44.33.22
IPアドレスをたよりにルータからルータへ転送されていく
56
IPのパケット
http://www.atmarkit.co.jp/ait/articles/0304/04/news001_2.html
ほとんど全てのネットワークでは1500バイト以内しか送れない
57
パケットヘッダの積み重なり
Ethernetヘッダ IPヘッダ UDP/TCPヘッダ アプリケーションヘッダ アプリケーションデータ
IPヘッダ UDP/TCPヘッダ アプリケーションヘッダ アプリケーションデータ
UDP/TCPヘッダ アプリケーションヘッダ アプリケーションデータ
アプリケーションヘッダ アプリケーションデータ
アプリケーションデータ
データリンク層
ネットワーク層
トランスポート層
セッション層・アプリケーション層
物理層
{“x”:10,”y”:20}
データタイプ、関数ID
ポート番号、順序番号etc
宛先IPアドレス
宛先マシンアドレス
58
IP : ルーターを使ってデータを転送
無線LAN
利用者
サーバー
端末
ルータ ルータ ルータ ルータ
銅線 光 光 光 銅線電波
信号
ルータは高速なコンピューター
入力
信号
バッファ
メモリ信号
入力
入力
出力
信号
信号
信号
出力
出力
インターネットの巨大な住所録をメモリに載せ、
11.22.33.44がどの光ケーブルの先にあるかを判定
55.44.33.22
11.22.33.44
59
tracerouteコマンド
手元の端末から目的マシンへの途中のルーターを調べる
60
インターネットを使う上での問題
61
問題 : 光は速いけど遅い
• 真空中 : 1秒間に30万km
• 光ファイバの中 : 1秒間に20万km
• 1ミリ秒(ms)では200km
• 東京 <-> 大阪 400km = 片道2ms 東京<->サンフランシスコ 片道40ms
62
問題 : 短い経路ではなく安い経路が使われる
• 富山から東京にパケットを投げたら、金沢>大阪>東
京 と伝達される
• NTT西日本と東日本の取引がそうなっている
tracerouteの結果
63
問題 : ルータは遅い
• 富山から大阪は300kmしかないので1.5msで済
むはずが、10ms以上かかっている
• ルータがやっていること
• ケーブルの信号を読み取ってバッファに積む
• パケットを解析して送り先IPアドレスを調べる
• IPアドレスの住所録(数十万〜数百万件)を検索してどのケーブルに出力するか決定
• 送信バッファに出力
• ケーブルに送信する
• パケットの断片化や暗号化、アタック防止やファイアウォール、NATの変換、統計
データ取得など膨大な量のタスクを同時進行させている
64
問題:ルーターはパケットを捨てる
信号
入力
信号
バッファ
メモリ信号
入力
入力
出力
信号
信号
信号
出力
出力
1台のルータを数千人、数万人で共有する。
メモリもCPUも、だいたいいつも足りないので、
入力信号を捨てるしかない
x
65
問題: ルータの出口が細いと捨てる
入力
バッファ
メモリ
入力
入力
出力
出力
出力
高速回線 低速回線
BA C
C
入力が速すぎたので
AとBは捨てる
66
問題:小さい単位でしか送れない
• 物理層の制限 (MTU)
• できるだけ多くの人が1本のケーブルを共有する
ために、
時間を短く切りきざむ必要がある。
• WiFiやEthernetでは1500Bytes ~ 9KBytes (数マイクロ
秒以下)
• モバイルだと1000Bytes以下のこともある
• それ以外でもだいたい1KB~5KB以下
• それ以上のパケットは「断片化」して送る
67
4KBを送るとき(成功)
WiFi
ルータ
4KBのデータ
1500B 1500B 1000B 1500B 1500B
ルータ
1500B
3個に分かれた。
パケットを分割する動作を「IP断片化」と呼ぶ
1000B 1500B 1000B
68
4KBを送るとき(成功:パケット順)
WiFi
ルータ
4KBのデータ
1500B 1500B 1000B 1500B1500B
ルータ
1500B
順番が入れ替わったら
受信したサーバー(エンドポイント)が
並べ替えて元に戻す
1000B 1500B 1000B
69
4KBを送るとき(失敗:パケットロス)
WiFi
ルータ
4KBのデータ
1500B 1500B 1000B 1500B1500B
ルータ
IPのパケットが2個、消えた。
元に戻すことができない!
1500B
x x
70
50KBを送るとき
50KBのデータ
1500B 1500B 1500B 1500B 1500B 1500B 1500B 1500B 1500B
1500B 1500B 1500B 1500B 1500B 1500B 1500B 1500B 1500B
1500B
1500B
1500B 1500B 1500B 1500B 1500B 1500B 1500B 1500B 1500B 1500B
1500B 1500B 1500B 500B
x
どれか1個がロスしたら全体が復元できなくなる!
IPパケットは最大64KBまで。
断片の数が多いほど全ロスの確率が指数的に高まる
71
pingコマンドでパケットロスの度合いを確認
72
iperf3コマンドでもロス率を見る
• Linux,Windows,Mac,Androidなど各OSで使えるベンチマークツール
• TCPもUDPも測れる
• pingコマンドよりも、ゲームの送信パターンにより近くすることができ
る
73
参考データ
• 無線LAN
• 電波最強で0.01~0.1%程度、電波弱いと5%〜100%ロス
• モバイルキャリア
• 電波最強でも0.1%以上ロスあり 電波弱いと10%以上ロス。
• 有線LAN
• 0.00000001%〜ケーブルクオリティ低いと0.01%ロス
• ルータが混んでたらいくらでもロス
• データセンター内部
• スループット制限を超えた分は全部ロス
74
パケロスが多いことはわかった。
でも、LINEやブラウザは使えている。
それはTCPのおかげ
75
TCPがわかれば
UDPの使いどころがわかる
76
TCPパケット
http://www.atmarkit.co.jp/ait/articles/0401/29/news080_2.html
IPに対して「シーケンス(順序)番号」と
「ACK(受け取り)番号」「ウインドウサイズ」を追加し、
パケットの再送、正しい順序、送り過ぎの防止を実装
77
TCP : パケットの再送
http://www.atmarkit.co.jp/ait/articles/0312/25/news001_2.html
ACK番号を使って到達確認をし、
確認が戻ってこなかったら同じデータを何度も送る
78
TCP : 正確な受信順序
• パケットに「シーケンス番号」が付いているので、受信
側のメモリに貯めておいて順番を入れ替えることができ
る
• これで何十MBでも何GBでも正しく送れるようになった
21 23 25 26
受信
受信バッファ
アプリケーション
22 24
79
TCP : 送りすぎの防止 (輻輳制御)
• スライディングウインドウ(窓枠ずらし)方式
• 一度に送信するパケットの量に上限を設定する。 これを「窓
枠」「ウインドウ」と呼ぶ。
• 窓の大きさは「ウインドウサイズ」と呼ばれる
• 速く送るにはウインドウサイズを大きくする必要がある。
• この窓枠の大きさを状況によって動的に変更し、性能を調整す
る
https://www.youtube.com/watch?v=lk27yiITOvU
80
TCP : スロースタート
• 遅く始めてだんだん加速する。つまり、窓枠をだんだん大きくする
。
• パケットがロスしない間は、ウインドウサイズをだんだん大きくし
て加速していく
• パケロスしたらリセット=窓枠を最小にする
http://www.net.c.dendai.ac.jp/~yutaro/
81
TCPの大きな問題「ストール」
• TCPはパケットロスを検出するとウインドウサイズを小さ
くする。
• ウインドウサイズが大幅に落ちて極端に遅くなった状態を
「ストール」と呼ぶ。ゲームではストールが起きるひどい
ラグになり、プレイできなくなる。
http://www.net.c.dendai.ac.jp/~yutaro/
82
TCPの歴史的発展
• 1981年の使用開始から現在に至るまで改善の連続。。!
http://itpro.nikkeibp.co.jp/atcl/column/17/040400119/040400003/
83
TCPの時代分け
• 1980年代 : TCP登場、telnetでマシンを遠隔操作
• 1990年代 : メールやHTTPなどで大ブレイク
• 2000年代 : モバイルで長時間のストールを防ぎたい!
• 2010年代 : 動画や音声を高速送信したい!
84
TCPの多種多様なアルゴリズム
https://qiita.com/haltaro/items/d479538345357f08c595
85
TCPの今後の発展
• より多くの観測情報を統計的に使う
• 2016 Google BBR (Bottleneck Bandwidth and Round-trip
propagation time)アルゴリズム登場
• 途中のルータと通信してより正確な状況を把握する
• 宇宙空間やIoTなど極端な状況への対応
• 異なる経路の複数のセッションを同時に活用(MPTCP)
• …
• スループットの向上とストールの回避をどこまでも追
求している
• 現在も早く進化中で、今後もどんどん改善されていく
• GoogleやMSなどの巨大企業による莫大な量の投資
86
TCPの発展はわかったが
いま現在はどうなのだろうか
87
Centos7でsysctl
cubic(2007)とreno(1990)..
• LinuxではTCPの制御アルゴリズムを選択できる。
• sysctlコマンドで選択肢を操作できる
88
mrs_benchのTCPモードで実験
• サーバ : Centos7 + cubic
• クライアント : MacOS X + newreno
• 意図的なパケロスなし
• 富山>東京
mrs_benchはモノビットエンジン製品”MRS”の
TCP/UDPベンチマークツール
だいたい50ms以下なので
快適にゲームできる
89
mrs_benchのTCPモードで実験
• サーバ : Centos7 + cubic
• クライアント : MacOS X + newreno
• 意図的なパケロス : 5% (モバイルやWiFiではまああ
る状態)
• 富山>東京
これではゲームにならない
90
LinuxでのTCPアルゴリズムの調整
• CentOS7で使えるTCPモジュールの確認
• bic,cubic,westwood,htcp,hstcp,hybla,vegas,scalable,lp,veno,yeah,illinois,dctcp が標
準インストールされているとわかる
• westwoodはパケットロスが多く遅延が大きいモバイル環境向け
• dctcpはデータセンター向けで、高速スイッチ機器と連携できる
• などなど
91
Linuxにwestwood TCPを導入
• rootになり
• modprobe tcp_westwood
• echo “westwood” >
/proc/sys/net/ipv4/tcp_congestion_control
• 再起動は不要
92
mrs_benchでwestwoodを測定
• サーバ : Centos7 + westwood
• クライアント : MacOS X + newreno
• 意図的なパケロス : 5% (モバイルやWiFiではまああ
る状態)
• 富山>東京
最初少し悪化するが、統計データが集まると回復し安定化
これなら問題なくゲームできる
93
CentOS以外でもアルゴリズムを確認
• Android
• 4.4.2 Xperia ZR
• adb shellにおいて sysctl -a | grep conges
• net.ipv4.tcp_allowed_congestion_control =
cubic reno
• net.ipv4.tcp_available_congestion_control =
cubic reno
• net.ipv4.tcp_congestion_control = cubic
• MacOS Xと iOS
• sysctl -a | grep sockets
• net.inet.tcp.newreno_sockets: 0
• net.inet.tcp.cubic_sockets: 74
• Windows
• デフォルトはCTCP
• コマンドラインで netsh int tcp show global で細かな設
定を確認できる
94
TCPの新しいアルゴリズムを使えば、長時間スト
ールの問題もかなり解決される。
UDPはだんだん不要になっていくのだろうか?
95
TCPとUDPの比較
• UDPが即必要になる要件
• WiFiアドホックネットワークやNATトラバーサルが必要な場合
• それでもTCPとの併用は選択肢になる
• UDPの明白なデメリット
• 数%ある「UDPブロックド」タイプのファイアウォールを全く
越えられない。
• 特に企業や学校の「ウェブ検索専用のゲーム禁止ネットワーク
」でよく見られる
• 比較検討のポイント
• 通信遅延
• サーバのCPU消費
• RUDPの性能
• プログラミングコスト(デバッグ効率)
NATトラバーサルについては話が非常に長くなるので、ここでは割愛
96
UDPパケットヘッダ
http://www.atmarkit.co.jp/ait/articles/0310/09/news001_3.html
IPに対して「ポート番号」という、
マシン内部の宛先の概念を追加しているだけ。
IPのパケットロス問題を何も解決しない。
パケット断片が1個でもロスしたら届かない。
断片化が起きたらほぼ負け=1500バイト以上送ったら負け?
97
TCPとUDPの比較 : 通信遅延
• UDPにはストールがなく、ただ単にパケットが消えるだけ
• TCPのストールについては前述。
• ここではパケットの到達までにかかる時間の長さだけを考え
る
• サーバ: Centos7 + westwood
• 富山>東京
UDP速い
通信距離が長くなるほど明らかにUDPが速くなるのは、
途中のルータすべての処理負荷の蓄積が無いため。
開発中のゲームで、20〜30msの遅延は問題になるか?
98
TCPとUDPの比較 : サーバのCPU消費
• libuv_bench でTCPとUDPのエコーサーバーで比較(top)
• TCP: Centos7 + westwood
• IDCFクラウドのデータセンター内通信を使用
• 600Mbpsを送信
libuv_benchは弊社が独自に実装した
libuvを用いたベンチマークプログラム
TCP 合計10.4%
UDP 合計6.2%
UDPのほうがユーザー時間もシステム時間も小さい
TCPはOSが接続状態(コネクション)を管理しているため
99
TCPとUDPの比較 : RUDPの性能
• RUDP : Reliable(信頼できる) UDP
• UDPにTCPの機能の一部を追加したプロトコルの総称
• モノビットエンジン製品では、再送機能と順序保証を単
純なスライディングウインドウ式で実装したRUDPであ
るENetの独自修正版を使用。
• 富山>東京 パケットロス10%、遅延100ms追加で比較
mrs_bench
RUDP ENetTCP westwood
ACKパケットも連続ロスした場合はどちらも1000ms以上遅れることもある。
ENetは少し平均遅延が長いが健闘している
100
TCPとUDPの比較 : RUDPのサーバCPU
• 100Mbps送受信のMRSサーバで比較(top)
TCP 合計2.3%
RUDP 合計8.3%
これが、30年近くかけて大規模環境で叩かれてきたLinuxのTCPと
主にゲームで使われてきた10年選手のENetの差・・!
しかし100Mbpsで1ヶ月通信すると、
通信費がAWSなら50万円以上だがCPU費用は1000円以下。
CPUコストは誤差といえる。
モノビットエンジンMRSでは、パケットごとに信頼性のあり・なしを設定可能
RUDP 合計6% (信頼性なしモード)
101
TCPとUDPの比較 : RUDPの使い方
• 信頼性(再送、順序)が必要なパケットは再送をさせる
が、そうではないパケットは再送させない
• モノビットエンジンではパケットごとにon/offできる
• 信頼性ありパケットの用途
• ログイン・ログアウト、ショップ、マッチング、ア
イテム取得など
• 信頼性なしパケットの用途
• キャラクターの位置更新、エフェクト、ボイスチャ
ット、映像データなど
• 以下はMRSでのコード例
102
TCPとUDPの比較 : プログラミングコスト
• UDPとTCPの違いはミドルウェアが自動的に吸収、プログラ
ミングの作業自体は簡単
• 以下はモノビットエンジン製品”MRS”におけるコード例
切り替えはライブラリのフラグ一発なので、
TCPで開発を始めてから、随時UDPにきりかえてテストをしていくことができる。
また、”UDPブロックドNAT"環境でもスイッチ一発で切り替えることができ、問題を解
消できる。
103
TCPとUDPの比較 : プログラミングコスト
• トラブルシューティングはUDPが一手間多く必要
• TCPではOSがコネクションの状態を管理しているため、
netstatやss, nethogsなどの標準ツールを用いて通信状態の確認
がやりやすい
• UDPではコネクションをアプリケーションが管理しているた
め、tcpdumpやwiresharkを用いた確認作業が必要
• モノビットエンジン用のパケット解析スクリプト”mrsdump”
を準備中
104
TCPとUDPの使い分け
質問 答え
UDPは速いか? 遠いとかなり速い
UDPはサーバが軽いか?
UDPは軽いがRUDPは重い。ただし誤差
の範囲
UDPはプログラミングが面倒か
?
実装は変わらないが
トラブルシュートが面倒
結論: ゲームでは、UDPとTCPの切り替えが可能な通信ミドルウェアを使えば、
「UDPブロックドNAT」の問題も解消できるので、UDPが第一選択肢となる。
では、開発中のゲームではどうすればよいか?
105
ゲームで必要な低遅延と帯域幅
ゲームジャンル 遅延 帯域 プロトコル
FPS(PvP公式戦) 5~15ms 500Kbps~1Mbps
UDP+RUDP
FPS(PvP一般) 10~30ms 200~300Kbps UDP+RUDP
対戦格闘(1vs1) 5~30ms 50~200Kbps UDP+RUDP
レースゲーム(PvP) 10~50ms 100~200Kbps UDP+RUDP
スマブラ系PvP 10~50ms 100~300Kbps UDP+RUDP
VR空間共有 10~100ms 100K~1Mbps UDP+RUDP/TCP
FPS(PvE) 30~100ms 200Kbps
UDP+RUDP/TCP
RTS/MOBA 20~100ms 200~500Kbps
UDP+RUDP/TCP
TPS 50~100ms 100~300Kbps RUDP/TCP
スマホアクション 50~200ms 50~100Kbps RUDP/TCP
ボイスチャット 50~200ms 50K~300Kbps RUDP/TCP
超多人数戦争 100~300ms 300Kbps~1Mbps RUDP/TCP
MMORPG 100~500ms 50~200Kbps RUDP/TCP
スマホターン制 200~1000ms 20~100Kbps TCP
上記は一人 あたり必要な帯域幅 106
モノビットのミドルウェア製品
• MRS “Monobit Revolution Server”
• UDP/RUDP/TCP/WebSocketに対応した全プラッ
トフォーム向け通信ミドルウェア
• http://www.monobitengine.com/mrs/
• MUN “Monobit Unity Network”
• Unity向けの導入が非常に簡単なMRSベースの
ミドルウェア
• http://www.monobitengine.com/mun/
107
モノビットの調査ツール
• 社内で調査やお客さまサポートに使う独自ツール群
• mrs_bench : MRSのベンチマークツール
• enet-benchmark : ENetのベンチマークツール
• libuv_bench : libuvのベンチマークツール
• node_bench : node.jsのベンチマークツール
• MRSだけではなく下位レイヤー単体の調査を綿密に
行って、
問題の切り分けを行っています。
• ネットワークゲーム実装で困ったり、何か工夫した
いときは遠慮なくお声掛けください!
108

More Related Content

What's hot

MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
モノビット エンジン
 
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろうUE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
 
200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて
Photon運営事務局
 
モノビットエンジン と AWS と クラウドパッケージで 最強のリアルタイム・マルチプレイ環境を構築&運用
モノビットエンジン と AWS と クラウドパッケージで最強のリアルタイム・マルチプレイ環境を構築&運用モノビットエンジン と AWS と クラウドパッケージで最強のリアルタイム・マルチプレイ環境を構築&運用
モノビットエンジン と AWS と クラウドパッケージで 最強のリアルタイム・マルチプレイ環境を構築&運用
モノビット エンジン
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
torisoup
 
Epic Online Services でできること
Epic Online Services でできることEpic Online Services でできること
Epic Online Services でできること
エピック・ゲームズ・ジャパン Epic Games Japan
 
UE4とUnrealC++について
UE4とUnrealC++についてUE4とUnrealC++について
UE4とUnrealC++について
Masahiko Nakamura
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
sairoutine
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu
 
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
モノビット エンジン
 
IL2CPPに関する軽い話
IL2CPPに関する軽い話IL2CPPに関する軽い話
IL2CPPに関する軽い話
Wooram Yang
 
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Platform - Japan
 
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみたリアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
YutoNishine
 
Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料
Daisuke Masubuchi
 
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうサーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
Daisuke Masubuchi
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
 
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
 
無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう
akira6592
 
GPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIAGPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIA
NVIDIA Japan
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
 

What's hot (20)

MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
 
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろうUE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
 
200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて
 
モノビットエンジン と AWS と クラウドパッケージで 最強のリアルタイム・マルチプレイ環境を構築&運用
モノビットエンジン と AWS と クラウドパッケージで最強のリアルタイム・マルチプレイ環境を構築&運用モノビットエンジン と AWS と クラウドパッケージで最強のリアルタイム・マルチプレイ環境を構築&運用
モノビットエンジン と AWS と クラウドパッケージで 最強のリアルタイム・マルチプレイ環境を構築&運用
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
Epic Online Services でできること
Epic Online Services でできることEpic Online Services でできること
Epic Online Services でできること
 
UE4とUnrealC++について
UE4とUnrealC++についてUE4とUnrealC++について
UE4とUnrealC++について
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
 
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
 
IL2CPPに関する軽い話
IL2CPPに関する軽い話IL2CPPに関する軽い話
IL2CPPに関する軽い話
 
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみたリアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
 
Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料
 
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうサーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
 
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
 
無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう
 
GPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIAGPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIA
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 

Viewers also liked

GTMF2017 モノビットセッション資料(2)
GTMF2017 モノビットセッション資料(2)GTMF2017 モノビットセッション資料(2)
GTMF2017 モノビットセッション資料(2)
モノビット エンジン
 
【GREE様社内勉強会】見せます!モノビットエンジンの裏の裏
【GREE様社内勉強会】見せます!モノビットエンジンの裏の裏【GREE様社内勉強会】見せます!モノビットエンジンの裏の裏
【GREE様社内勉強会】見せます!モノビットエンジンの裏の裏
モノビット エンジン
 
Vrcloud conference vol1_cedec2016
Vrcloud conference vol1_cedec2016Vrcloud conference vol1_cedec2016
Vrcloud conference vol1_cedec2016
モノビット エンジン
 
ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢~性能、使い勝手、お値段すべて公開!本城 嘉太郎(モノビットエンジンセミナー2017年4月)
ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢~性能、使い勝手、お値段すべて公開!本城 嘉太郎(モノビットエンジンセミナー2017年4月)ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢~性能、使い勝手、お値段すべて公開!本城 嘉太郎(モノビットエンジンセミナー2017年4月)
ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢~性能、使い勝手、お値段すべて公開!本城 嘉太郎(モノビットエンジンセミナー2017年4月)
モノビット エンジン
 
GTMF2017 モノビットセッション資料(1)
GTMF2017 モノビットセッション資料(1)GTMF2017 モノビットセッション資料(1)
GTMF2017 モノビットセッション資料(1)
モノビット エンジン
 
マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例  安田 京人(モノビットエンジンセミナー2017年4月)
マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例  安田 京人(モノビットエンジンセミナー2017年4月)マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例  安田 京人(モノビットエンジンセミナー2017年4月)
マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例  安田 京人(モノビットエンジンセミナー2017年4月)
モノビット エンジン
 
GTMF2016 VR対応も開始!国産のリアルタイム通信エンジン「モノビットエンジン」の最新事例紹介
GTMF2016 VR対応も開始!国産のリアルタイム通信エンジン「モノビットエンジン」の最新事例紹介GTMF2016 VR対応も開始!国産のリアルタイム通信エンジン「モノビットエンジン」の最新事例紹介
GTMF2016 VR対応も開始!国産のリアルタイム通信エンジン「モノビットエンジン」の最新事例紹介
モノビット エンジン
 
「Monobit Revolution Server」のご紹介
「Monobit Revolution Server」のご紹介「Monobit Revolution Server」のご紹介
「Monobit Revolution Server」のご紹介
モノビット エンジン
 
【GTMF2015】モノビットMOエンジンforUnity ワークフロー解説
【GTMF2015】モノビットMOエンジンforUnity ワークフロー解説【GTMF2015】モノビットMOエンジンforUnity ワークフロー解説
【GTMF2015】モノビットMOエンジンforUnity ワークフロー解説
モノビット エンジン
 
ITProEXPOスライド20161014
ITProEXPOスライド20161014ITProEXPOスライド20161014
ITProEXPOスライド20161014
monobit
 
DeNA様「通信エンジン」勉強会資料 20151217
DeNA様「通信エンジン」勉強会資料 20151217DeNA様「通信エンジン」勉強会資料 20151217
DeNA様「通信エンジン」勉強会資料 20151217
monobit
 
クライアントプログラムだけで マルチプレイが簡単に実装できる! 新製品「Monobit Unity Networking」と 新製品「モノビットエンジン・...
クライアントプログラムだけで マルチプレイが簡単に実装できる! 新製品「Monobit Unity Networking」と 新製品「モノビットエンジン・...クライアントプログラムだけで マルチプレイが簡単に実装できる! 新製品「Monobit Unity Networking」と 新製品「モノビットエンジン・...
クライアントプログラムだけで マルチプレイが簡単に実装できる! 新製品「Monobit Unity Networking」と 新製品「モノビットエンジン・...
monobit
 
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法モノビット エンジン
 
【CEDEC2017】新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!
【CEDEC2017】新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!【CEDEC2017】新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!
【CEDEC2017】新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!
モノビット エンジン
 
年の瀬!リアルタイム通信ゲームサーバ勉強会
年の瀬!リアルタイム通信ゲームサーバ勉強会年の瀬!リアルタイム通信ゲームサーバ勉強会
年の瀬!リアルタイム通信ゲームサーバ勉強会
monobit
 
Unity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみたUnity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみた
Mori Tetsuya
 
Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方
Makoto Ito
 
Unite 2016 Tokyo Day0 Unityサービス実装ワークショップ(Course A) Unity Ads パート
Unite 2016 Tokyo Day0 Unityサービス実装ワークショップ(Course A) Unity Ads パートUnite 2016 Tokyo Day0 Unityサービス実装ワークショップ(Course A) Unity Ads パート
Unite 2016 Tokyo Day0 Unityサービス実装ワークショップ(Course A) Unity Ads パート
Yasuyuki Kamata
 
Unity Analyticsの使い方
Unity Analyticsの使い方Unity Analyticsの使い方
Unity Analyticsの使い方
Makoto Ito
 
【Unity道場】初心者のためのゲームジャムの心得
【Unity道場】初心者のためのゲームジャムの心得【Unity道場】初心者のためのゲームジャムの心得
【Unity道場】初心者のためのゲームジャムの心得
Unity Technologies Japan K.K.
 

Viewers also liked (20)

GTMF2017 モノビットセッション資料(2)
GTMF2017 モノビットセッション資料(2)GTMF2017 モノビットセッション資料(2)
GTMF2017 モノビットセッション資料(2)
 
【GREE様社内勉強会】見せます!モノビットエンジンの裏の裏
【GREE様社内勉強会】見せます!モノビットエンジンの裏の裏【GREE様社内勉強会】見せます!モノビットエンジンの裏の裏
【GREE様社内勉強会】見せます!モノビットエンジンの裏の裏
 
Vrcloud conference vol1_cedec2016
Vrcloud conference vol1_cedec2016Vrcloud conference vol1_cedec2016
Vrcloud conference vol1_cedec2016
 
ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢~性能、使い勝手、お値段すべて公開!本城 嘉太郎(モノビットエンジンセミナー2017年4月)
ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢~性能、使い勝手、お値段すべて公開!本城 嘉太郎(モノビットエンジンセミナー2017年4月)ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢~性能、使い勝手、お値段すべて公開!本城 嘉太郎(モノビットエンジンセミナー2017年4月)
ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢~性能、使い勝手、お値段すべて公開!本城 嘉太郎(モノビットエンジンセミナー2017年4月)
 
GTMF2017 モノビットセッション資料(1)
GTMF2017 モノビットセッション資料(1)GTMF2017 モノビットセッション資料(1)
GTMF2017 モノビットセッション資料(1)
 
マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例  安田 京人(モノビットエンジンセミナー2017年4月)
マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例  安田 京人(モノビットエンジンセミナー2017年4月)マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例  安田 京人(モノビットエンジンセミナー2017年4月)
マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例  安田 京人(モノビットエンジンセミナー2017年4月)
 
GTMF2016 VR対応も開始!国産のリアルタイム通信エンジン「モノビットエンジン」の最新事例紹介
GTMF2016 VR対応も開始!国産のリアルタイム通信エンジン「モノビットエンジン」の最新事例紹介GTMF2016 VR対応も開始!国産のリアルタイム通信エンジン「モノビットエンジン」の最新事例紹介
GTMF2016 VR対応も開始!国産のリアルタイム通信エンジン「モノビットエンジン」の最新事例紹介
 
「Monobit Revolution Server」のご紹介
「Monobit Revolution Server」のご紹介「Monobit Revolution Server」のご紹介
「Monobit Revolution Server」のご紹介
 
【GTMF2015】モノビットMOエンジンforUnity ワークフロー解説
【GTMF2015】モノビットMOエンジンforUnity ワークフロー解説【GTMF2015】モノビットMOエンジンforUnity ワークフロー解説
【GTMF2015】モノビットMOエンジンforUnity ワークフロー解説
 
ITProEXPOスライド20161014
ITProEXPOスライド20161014ITProEXPOスライド20161014
ITProEXPOスライド20161014
 
DeNA様「通信エンジン」勉強会資料 20151217
DeNA様「通信エンジン」勉強会資料 20151217DeNA様「通信エンジン」勉強会資料 20151217
DeNA様「通信エンジン」勉強会資料 20151217
 
クライアントプログラムだけで マルチプレイが簡単に実装できる! 新製品「Monobit Unity Networking」と 新製品「モノビットエンジン・...
クライアントプログラムだけで マルチプレイが簡単に実装できる! 新製品「Monobit Unity Networking」と 新製品「モノビットエンジン・...クライアントプログラムだけで マルチプレイが簡単に実装できる! 新製品「Monobit Unity Networking」と 新製品「モノビットエンジン・...
クライアントプログラムだけで マルチプレイが簡単に実装できる! 新製品「Monobit Unity Networking」と 新製品「モノビットエンジン・...
 
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
 
【CEDEC2017】新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!
【CEDEC2017】新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!【CEDEC2017】新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!
【CEDEC2017】新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!
 
年の瀬!リアルタイム通信ゲームサーバ勉強会
年の瀬!リアルタイム通信ゲームサーバ勉強会年の瀬!リアルタイム通信ゲームサーバ勉強会
年の瀬!リアルタイム通信ゲームサーバ勉強会
 
Unity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみたUnity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみた
 
Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方
 
Unite 2016 Tokyo Day0 Unityサービス実装ワークショップ(Course A) Unity Ads パート
Unite 2016 Tokyo Day0 Unityサービス実装ワークショップ(Course A) Unity Ads パートUnite 2016 Tokyo Day0 Unityサービス実装ワークショップ(Course A) Unity Ads パート
Unite 2016 Tokyo Day0 Unityサービス実装ワークショップ(Course A) Unity Ads パート
 
Unity Analyticsの使い方
Unity Analyticsの使い方Unity Analyticsの使い方
Unity Analyticsの使い方
 
【Unity道場】初心者のためのゲームジャムの心得
【Unity道場】初心者のためのゲームジャムの心得【Unity道場】初心者のためのゲームジャムの心得
【Unity道場】初心者のためのゲームジャムの心得
 

Similar to 新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!2017年10月27日モノビットエンジン勉強会

【モノビットエンジン勉強会inサイバーコネクトツー】 第一部「モノビットエンジンVer2.0シリーズ概要」
【モノビットエンジン勉強会inサイバーコネクトツー】 第一部「モノビットエンジンVer2.0シリーズ概要」【モノビットエンジン勉強会inサイバーコネクトツー】 第一部「モノビットエンジンVer2.0シリーズ概要」
【モノビットエンジン勉強会inサイバーコネクトツー】 第一部「モノビットエンジンVer2.0シリーズ概要」
モノビット エンジン
 
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 - モノビットエンジン - GTMF 2018 O...
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 - モノビットエンジン - GTMF 2018 O...VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 - モノビットエンジン - GTMF 2018 O...
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 - モノビットエンジン - GTMF 2018 O...
Game Tools & Middleware Forum
 
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
モノビット エンジン
 
Linux も動く Microsoft Azure    HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...
Linux も動く Microsoft Azure    HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...Linux も動く Microsoft Azure    HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...
Linux も動く Microsoft Azure    HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...
モノビット エンジン
 
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採用した...
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採用した...Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採用した...
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採用した...
Game Tools & Middleware Forum
 
GTMF2017 ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢!2 株式会社モノビット
GTMF2017 ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢!2 株式会社モノビットGTMF2017 ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢!2 株式会社モノビット
GTMF2017 ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢!2 株式会社モノビット
Game Tools & Middleware Forum
 
無線LANでロボットを動かす話
無線LANでロボットを動かす話無線LANでロボットを動かす話
無線LANでロボットを動かす話Hisaya Okada
 
Monomeeting 20081022
Monomeeting 20081022Monomeeting 20081022
Monomeeting 20081022
Atsushi Eno
 
Snr006 ソフトバンクが考
Snr006 ソフトバンクが考Snr006 ソフトバンクが考
Snr006 ソフトバンクが考
Tech Summit 2016
 
無線LANでロボットを動かす話
無線LANでロボットを動かす話無線LANでロボットを動かす話
無線LANでロボットを動かす話Hisaya Okada
 
CSAJ MeeGo 20100423
CSAJ MeeGo 20100423CSAJ MeeGo 20100423
CSAJ MeeGo 20100423
Mitz Amano
 
エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?
エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?
エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?
Takumi Kurosawa
 
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
monobit
 
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
モノビット エンジン
 
Mono at Microsoft Tech Days Japan 2009
Mono at Microsoft Tech Days Japan 2009Mono at Microsoft Tech Days Japan 2009
Mono at Microsoft Tech Days Japan 2009Atsushi Eno
 
Aiming のクラウド採用基準
Aiming のクラウド採用基準Aiming のクラウド採用基準
Aiming のクラウド採用基準
Takahiro Hozumi
 
VIOPS04: 富士通クラウドサービスについて
VIOPS04: 富士通クラウドサービスについてVIOPS04: 富士通クラウドサービスについて
VIOPS04: 富士通クラウドサービスについて
VIOPS Virtualized Infrastructure Operators group ARCHIVES
 
RTM on Androidの紹介
RTM on Androidの紹介RTM on Androidの紹介
RTM on Androidの紹介openrtm
 
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作  Beginner for UserLAnd a...
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作   Beginner for UserLAnd a...はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作   Beginner for UserLAnd a...
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作  Beginner for UserLAnd a...
Netwalker lab kapper
 
ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118
Atomu Hidaka
 

Similar to 新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!2017年10月27日モノビットエンジン勉強会 (20)

【モノビットエンジン勉強会inサイバーコネクトツー】 第一部「モノビットエンジンVer2.0シリーズ概要」
【モノビットエンジン勉強会inサイバーコネクトツー】 第一部「モノビットエンジンVer2.0シリーズ概要」【モノビットエンジン勉強会inサイバーコネクトツー】 第一部「モノビットエンジンVer2.0シリーズ概要」
【モノビットエンジン勉強会inサイバーコネクトツー】 第一部「モノビットエンジンVer2.0シリーズ概要」
 
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 - モノビットエンジン - GTMF 2018 O...
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 - モノビットエンジン - GTMF 2018 O...VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 - モノビットエンジン - GTMF 2018 O...
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 - モノビットエンジン - GTMF 2018 O...
 
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
 
Linux も動く Microsoft Azure    HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...
Linux も動く Microsoft Azure    HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...Linux も動く Microsoft Azure    HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...
Linux も動く Microsoft Azure    HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...
 
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採用した...
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採用した...Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採用した...
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採用した...
 
GTMF2017 ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢!2 株式会社モノビット
GTMF2017 ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢!2 株式会社モノビットGTMF2017 ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢!2 株式会社モノビット
GTMF2017 ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢!2 株式会社モノビット
 
無線LANでロボットを動かす話
無線LANでロボットを動かす話無線LANでロボットを動かす話
無線LANでロボットを動かす話
 
Monomeeting 20081022
Monomeeting 20081022Monomeeting 20081022
Monomeeting 20081022
 
Snr006 ソフトバンクが考
Snr006 ソフトバンクが考Snr006 ソフトバンクが考
Snr006 ソフトバンクが考
 
無線LANでロボットを動かす話
無線LANでロボットを動かす話無線LANでロボットを動かす話
無線LANでロボットを動かす話
 
CSAJ MeeGo 20100423
CSAJ MeeGo 20100423CSAJ MeeGo 20100423
CSAJ MeeGo 20100423
 
エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?
エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?
エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?
 
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
 
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
 
Mono at Microsoft Tech Days Japan 2009
Mono at Microsoft Tech Days Japan 2009Mono at Microsoft Tech Days Japan 2009
Mono at Microsoft Tech Days Japan 2009
 
Aiming のクラウド採用基準
Aiming のクラウド採用基準Aiming のクラウド採用基準
Aiming のクラウド採用基準
 
VIOPS04: 富士通クラウドサービスについて
VIOPS04: 富士通クラウドサービスについてVIOPS04: 富士通クラウドサービスについて
VIOPS04: 富士通クラウドサービスについて
 
RTM on Androidの紹介
RTM on Androidの紹介RTM on Androidの紹介
RTM on Androidの紹介
 
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作  Beginner for UserLAnd a...
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作   Beginner for UserLAnd a...はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作   Beginner for UserLAnd a...
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作  Beginner for UserLAnd a...
 
ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118
 

More from モノビット エンジン

【CEDEC2019 】5G時代に対応した『モノビットエンジン5G』を初公開! HoloLens対応した通信クラウド最新情報も!
【CEDEC2019 】5G時代に対応した『モノビットエンジン5G』を初公開! HoloLens対応した通信クラウド最新情報も!【CEDEC2019 】5G時代に対応した『モノビットエンジン5G』を初公開! HoloLens対応した通信クラウド最新情報も!
【CEDEC2019 】5G時代に対応した『モノビットエンジン5G』を初公開! HoloLens対応した通信クラウド最新情報も!
モノビット エンジン
 
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
モノビット エンジン
 
Unity道場京都スペシャル3 モノビットエンジンでマルチプレイゲーム開発 ~はじめの一歩~
Unity道場京都スペシャル3 モノビットエンジンでマルチプレイゲーム開発 ~はじめの一歩~Unity道場京都スペシャル3 モノビットエンジンでマルチプレイゲーム開発 ~はじめの一歩~
Unity道場京都スペシャル3 モノビットエンジンでマルチプレイゲーム開発 ~はじめの一歩~
モノビット エンジン
 
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②
モノビット エンジン
 
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②
モノビット エンジン
 
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ①
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ①【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ①
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ①
モノビット エンジン
 
VR/AR分野におけるモノビットエンジン活用事例と新スタンドアロンVRHMD(どっかんナゴヤ’18)
VR/AR分野におけるモノビットエンジン活用事例と新スタンドアロンVRHMD(どっかんナゴヤ’18)VR/AR分野におけるモノビットエンジン活用事例と新スタンドアロンVRHMD(どっかんナゴヤ’18)
VR/AR分野におけるモノビットエンジン活用事例と新スタンドアロンVRHMD(どっかんナゴヤ’18)
モノビット エンジン
 
リアルタイムゲームサーバーの ベンチマークをとる方法
リアルタイムゲームサーバーの ベンチマークをとる方法リアルタイムゲームサーバーの ベンチマークをとる方法
リアルタイムゲームサーバーの ベンチマークをとる方法
モノビット エンジン
 
【モノビットエンジン勉強会inサイバーコネクトツー】 第二部「MRS/MUN 10万接続サーバ構成実例」
【モノビットエンジン勉強会inサイバーコネクトツー】 第二部「MRS/MUN 10万接続サーバ構成実例」【モノビットエンジン勉強会inサイバーコネクトツー】 第二部「MRS/MUN 10万接続サーバ構成実例」
【モノビットエンジン勉強会inサイバーコネクトツー】 第二部「MRS/MUN 10万接続サーバ構成実例」
モノビット エンジン
 
【CEDEC2015】リアルタイム通信アクションゲーム60分クッキング!〜1時間でゼロから本格的MOゲームを完成させるライブコーディングデモ〜
【CEDEC2015】リアルタイム通信アクションゲーム60分クッキング!〜1時間でゼロから本格的MOゲームを完成させるライブコーディングデモ〜【CEDEC2015】リアルタイム通信アクションゲーム60分クッキング!〜1時間でゼロから本格的MOゲームを完成させるライブコーディングデモ〜
【CEDEC2015】リアルタイム通信アクションゲーム60分クッキング!〜1時間でゼロから本格的MOゲームを完成させるライブコーディングデモ〜
モノビット エンジン
 

More from モノビット エンジン (10)

【CEDEC2019 】5G時代に対応した『モノビットエンジン5G』を初公開! HoloLens対応した通信クラウド最新情報も!
【CEDEC2019 】5G時代に対応した『モノビットエンジン5G』を初公開! HoloLens対応した通信クラウド最新情報も!【CEDEC2019 】5G時代に対応した『モノビットエンジン5G』を初公開! HoloLens対応した通信クラウド最新情報も!
【CEDEC2019 】5G時代に対応した『モノビットエンジン5G』を初公開! HoloLens対応した通信クラウド最新情報も!
 
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
 
Unity道場京都スペシャル3 モノビットエンジンでマルチプレイゲーム開発 ~はじめの一歩~
Unity道場京都スペシャル3 モノビットエンジンでマルチプレイゲーム開発 ~はじめの一歩~Unity道場京都スペシャル3 モノビットエンジンでマルチプレイゲーム開発 ~はじめの一歩~
Unity道場京都スペシャル3 モノビットエンジンでマルチプレイゲーム開発 ~はじめの一歩~
 
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②
 
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ②
 
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ①
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ①【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ①
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ①
 
VR/AR分野におけるモノビットエンジン活用事例と新スタンドアロンVRHMD(どっかんナゴヤ’18)
VR/AR分野におけるモノビットエンジン活用事例と新スタンドアロンVRHMD(どっかんナゴヤ’18)VR/AR分野におけるモノビットエンジン活用事例と新スタンドアロンVRHMD(どっかんナゴヤ’18)
VR/AR分野におけるモノビットエンジン活用事例と新スタンドアロンVRHMD(どっかんナゴヤ’18)
 
リアルタイムゲームサーバーの ベンチマークをとる方法
リアルタイムゲームサーバーの ベンチマークをとる方法リアルタイムゲームサーバーの ベンチマークをとる方法
リアルタイムゲームサーバーの ベンチマークをとる方法
 
【モノビットエンジン勉強会inサイバーコネクトツー】 第二部「MRS/MUN 10万接続サーバ構成実例」
【モノビットエンジン勉強会inサイバーコネクトツー】 第二部「MRS/MUN 10万接続サーバ構成実例」【モノビットエンジン勉強会inサイバーコネクトツー】 第二部「MRS/MUN 10万接続サーバ構成実例」
【モノビットエンジン勉強会inサイバーコネクトツー】 第二部「MRS/MUN 10万接続サーバ構成実例」
 
【CEDEC2015】リアルタイム通信アクションゲーム60分クッキング!〜1時間でゼロから本格的MOゲームを完成させるライブコーディングデモ〜
【CEDEC2015】リアルタイム通信アクションゲーム60分クッキング!〜1時間でゼロから本格的MOゲームを完成させるライブコーディングデモ〜【CEDEC2015】リアルタイム通信アクションゲーム60分クッキング!〜1時間でゼロから本格的MOゲームを完成させるライブコーディングデモ〜
【CEDEC2015】リアルタイム通信アクションゲーム60分クッキング!〜1時間でゼロから本格的MOゲームを完成させるライブコーディングデモ〜
 

Recently uploaded

【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 

Recently uploaded (14)

【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 

新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!2017年10月27日モノビットエンジン勉強会