Skip to main content More Related Content
PDF
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け PDF
PPTX
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO PDF
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発 PDF
PPTX
PDF
MagicOnion~C#でゲームサーバを開発しよう~ What's hot
PDF
PPTX
スマホゲームのチート手法とその対策 [DeNA TechCon 2019] PDF
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43 PPTX
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例 PPTX
PDF
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法 PDF
PDF
PDF
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!! PDF
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~ PDF
アプリ屋もDockerをドカドカ使おう ~ Docker入門 PDF
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021 PDF
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け PDF
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現 PDF
今話題のいろいろなコンテナランタイムを比較してみた PDF
PDF
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた PDF
MediaPipeを使ったARアプリ開発事例 ~カメラをかざして家䛾中で売れるも䛾を探そう~ PDF
Viewers also liked
PDF
マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例 安田 京人(モノビットエンジンセミナー2017年4月) PPTX
DeNA様「通信エンジン」勉強会資料 20151217 PDF
クライアントプログラムだけで マルチプレイが簡単に実装できる! 新製品「Monobit Unity Networking」と 新製品「モノビットエンジン・... PDF
PDF
PDF
【GTMF2015】モノビットMOエンジンforUnity ワークフロー解説 PDF
【GREE様社内勉強会】見せます!モノビットエンジンの裏の裏 PDF
ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢~性能、使い勝手、お値段すべて公開!本城 嘉太郎(モノビットエンジンセミナー2017年4月) PDF
PDF
モノビットエンジン と AWS と クラウドパッケージで最強のリアルタイム・マルチプレイ環境を構築&運用 PDF
新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!2017年10月27日モノビットエンジン勉強会 PDF
GTMF2016 VR対応も開始!国産のリアルタイム通信エンジン「モノビットエンジン」の最新事例紹介 PDF
Vrcloud conference vol1_cedec2016 PDF
「Monobit Revolution Server」のご紹介 PPTX
PDF
【CEDEC2017】新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開! PDF
スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介 PDF
【Unity道場 2017】ゲームアプリマネタイズの最前線 ~GDCのマネタイズ関連講演まとめ~ PDF
PDF
【Unity道場】初心者のためのゲームジャムの心得 Similar to 【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
PDF
【de:code 2020】 2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~ PDF
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~ PPTX
シンラ・テクノロジー第2回クラウドゲーム開発者会議 PDF
PDF
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ… ODP
PDF
地方企業がソーシャルゲーム開発を成功させるための10のポイント PPTX
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ① PDF
【Drop wave】cedec2012『オンラインゲーム時代における、 ゲーム内コミュニケーション設計の基礎知識』 PDF
ゲーム会社でのRuby : rails活用事例 PDF
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例 PDF
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術 PDF
PDF
【CEDEC2015】リアルタイム通信アクションゲーム60分クッキング!〜1時間でゼロから本格的MOゲームを完成させるライブコーディングデモ〜 PPTX
ネットゲーム開発者がサーバレスしてみたver1.10 PDF
【モノビットエンジン勉強会inサイバーコネクトツー】 第二部「MRS/MUN 10万接続サーバ構成実例」 PDF
【Drop wave】cedec2011『ネットワークゲーム時代に求められる、ゲームプランナーの基礎知識』 PDF
PDF
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた PDF
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development More from モノビット エンジン
PDF
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~ PDF
【CEDEC2019 】5G時代に対応した『モノビットエンジン5G』を初公開! HoloLens対応した通信クラウド最新情報も! PDF
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採... PDF
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの? PDF
Unity道場京都スペシャル3 モノビットエンジンでマルチプレイゲーム開発 ~はじめの一歩~ PDF
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ② PDF
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ② PDF
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 PDF
VR/AR分野におけるモノビットエンジン活用事例と新スタンドアロンVRHMD(どっかんナゴヤ’18) PDF
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜 PDF
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策 PDF
リアルタイムゲームサーバーの ベンチマークをとる方法 PDF
【モノビットエンジン勉強会inサイバーコネクトツー】 第一部「モノビットエンジンVer2.0シリーズ概要」 【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
- 1.
- 2.
本講演の趣旨
13-8-26
2
■本講演の趣旨
20対20のリアルタイム通信対戦をブラウザで実現したオンラインゲーム
「クリスタル◆コンクエスト」(c)スクウェアエニックス2012
今回は、40人対戦を実現するためのサーバ開発と運用に焦点を当てて、
負荷分散、サーバ間通信、プロセス管理、データベース運用など、オンラインゲームの
サーバ開発や運用全般的に応用できる技術的なトピックを解説します。
■本講演の対象者
・オンラインゲームのサーバ開発を担当されている、もしくはその予定のあるエンジニアの方。
■タイムテーブル
・開始〜5分 講師紹介、タイトル紹介
・5分〜25分 <設計編>
・25分〜45分 <開発編>
・45分〜60分 <運営編>
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
■効果1
• IDで通信できる
→物理的なサーバの場所を気にしなくてよくなった
• 仮想プロセスはいつでも作ったり消したり出来る
→特定の仮想プロセスに依存しなくなるので、同じ種類
のサーバの増減が容易になった
→どんなタイミングでもシステムに参加できるので、再起
動が容易になった
→MOゲームの特性に合わせて、接続ユーザ数に応じた
ルームを起動・終了可能になった
13-8-26
23
【設計編】3,可用性、安定性の向上
- 24.
■効果2
• システム全体が仮想プロセスの消失を前提にしている
→落ちたマシン、プロセスだけに影響を限定できる
• クライアントはリレーを介してIDで通信している
→ルーム移動やバトル前後で、接続し直さなくてもIDの
変更だけで通信するサーバを切り替えられる
13-8-26
24
リレー
GameSv
GameSv
【設計編】3,可用性、安定性の向上
- 25.
- 26.
- 27.
- 28.
【設計編】4,負荷分散
• リレーサーバ
– 多数のクライアントが接続してくる
– 複数台のリレーサーバをクライアントに選択させる
– 自然分散に期待する
• ゲームサーバ、バトルサーバ、データサーバ
– 最も負荷の軽いサーバを選択(データ量、ユーザ数少ないなど)
– ラウンドロビン
– 足りなさそうだったらプロセスを増やす
仮想プロセス構成により負荷分散は自然と達成できた。
いくらでも増減できるので、コストバランスも最適化できる。
13-8-26
28
設計編は以上です!
- 29.
- 30.
- 31.
- 32.
32
データ同期システム
簡単に言えば、サーバ - サーバ間や、サーバ - クライアント間で
自動的に構造体の同期を取ることができるシステム。
Data
Communication
Area
Battle
・どこに誰のユーザデータがあるかの
管理が容易
・ユーザデータ移動の手順を
簡略化できる
・フロントエンドサーバが落ちても
DBへのデータ保存を保証する
Master
Slave
【開発編】
2.データ同期システム
ここで
書き換えたら…
…マスターと
他のスレーヴで同期
利点
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
【運用編】1,運用監視
• ゲームサーバプロセス監視
Linuxの標準的なService
スクリプトを利用
– Pidファイルチェック
pidファイルにプロセスIDを記述。プロセスが実行されているか確認
– プロセス名チェック
サーバ実行ファイル名のプロセスが実行されているか確認
– ポート監視
フロントエンドサーバの外向けポートが開いていて、且つ応答があ
るかどうかを確認
これらを1分に1回チェック
13-8-26
48
- 49.
【運用編】1,運用監視
■目視の重要性
各監視項目のグラフを定期的に目視でチェック
<何故?>
数値情報による機械的なアラートでは障害と判断できないことがあるため
例)一時的にあるマシンのトラフィックが極端に下がった
例)CPU使用率が閾値内ギリギリに上昇してしばらく下がらない
クラウドでは希によくあります。
↓
毎日チェックしていれば変化を見つけることが出来る
人間の眼で見て「予兆」を捉えることは大切
13-8-26
49
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
【運用編】3,運営中DB設計変更
■DB改修でメンテをしないためには
• 仕様に沿った設計にしすぎない
– 企画や仕様で見られるデータ構造をそのまま適用しない
– ゲームサーバ上で使うデータ構造もそのまま適用しない
• データの抽象化とテーブルの正規化
– カラムを追加せずにデータを拡張できるように
– 正規化しすぎるのもよくない(性能を犠牲にする)
• 極力テーブル追加をしない
– テーブル単位の対処が漏れやすい
– クエリ負荷やテーブルのデータ量を見積もりづらい
– 追加しないとか、実際には難しいです
13-8-26
60
- 61.
- 62.