オンラインゲームには大きく分けて2種類あります。
遊ぶ人同士のPCを直接つないで、データをお互いに送り合う方式である、P2P式。
サーバーに接続し、サーバーを介してデータを送り合う方式である、C/S式。
P2P式はサーバーが必要ない反面、いちいち遊ぶ相手と事前に連絡を取ってIPアドレスを教えてもらわなければならず、また、接続される側はルーターのポート解放をしなければなりません。
一方、C/S式はサーバーが必要な反面、そんな手間が必要ありません。
また、友人同士以外で遊ぶネトゲーの仕組みを作るならP2P方式では成り立ちません。
そこで・・
仮想専用サーバーVPS契約してきました(≧▽≦)
これでハンゲームの「部屋」みたいなものも作れるぞっ。
ただオンライン対戦するだけじゃなく、待合スペースでチャットできるようにしたりするのもちょっと夢です(笑
ホントはHPに使ってるレンタルスペースをこっちに移動しようと思っていたのですが、
HPがあるのと同じサーバーでテストしたり色んなツール導入したり設定変えたりするのはリスクがある気が・・。
にっちもさっちもいかなくなってOS再インストールしたい!ってなったらどうしよう。
う~ん、2つ分けて利用していた方がいいんですかねぇ・・。
あ、完全な常時稼働が必要ないならホームサーバーでもよかったかな・・。
オンラインゲームを作る (part.2)
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
- 住所: 北海道札幌市
- 連絡を取る:
オンラインゲームを作る (part.2)
最後に編集したユーザー Dixq (管理人) on 2011年6月29日(水) 22:24 [ 編集 1 回目 ]
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: オンラインゲームを作る part.2
あ、いや、ダメだ。
北海道なんかにサーバー作ったら遅延的にすごい効率が悪い・・。
北海道なんかにサーバー作ったら遅延的にすごい効率が悪い・・。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
Re: オンラインゲームを作る part.2
サーバでマッチングだけして、あとはお互いにやり取りするのは分類的にはなんでしょうね?
C/S→P2P?
[補足]オンラインゲームの開発には参加したことがないんで。
C/S→P2P?
[補足]オンラインゲームの開発には参加したことがないんで。
最後に編集したユーザー softya(ソフト屋) on 2011年6月27日(月) 18:39 [ 編集 1 回目 ]
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: オンラインゲームを作る part.2
> softyaさん
C/S -> P2Pも便利ですよね。いちいち相手のIPアドレス教えてもらわなくて済むし。
ただ、ポート解放うんぬんが面倒ですよね。
C/S -> P2Pも便利ですよね。いちいち相手のIPアドレス教えてもらわなくて済むし。
ただ、ポート解放うんぬんが面倒ですよね。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
Re: オンラインゲームを作る part.2
>ただ、ポート解放うんぬんが面倒ですよね。
uPnPを使えばさほどでも無いかなと思います。
前に質問掲示板で話題が出たときのトピック。
「UPnPでポート開放 • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/viewtopic.php?f=3 ... pnp#p69319
直接UDPパケットを送りつけられるのが良いなぁと思ってます。
uPnPを使えばさほどでも無いかなと思います。
前に質問掲示板で話題が出たときのトピック。
「UPnPでポート開放 • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/viewtopic.php?f=3 ... pnp#p69319
直接UDPパケットを送りつけられるのが良いなぁと思ってます。
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: オンラインゲームを作る part.2
> softyaさん
ありがとうございます。
これはLAN環境ではなくても良いのですか?
今回のような状況だとTCPを使うのが一般的かと思っていました。
> ISLeさん
なるほど、ロビーなど仲間を集める環境だけ提供して後は好きなように遊んでくれという感じですね。
確かにその方がサーバーの負荷が下がってよいですね。
ただPCの場合改めて特定のPCから特定のPCへ接続するのがセキュリティ的にめんどくさそうですね・・。
ありがとうございます。
これはLAN環境ではなくても良いのですか?
今回のような状況だとTCPを使うのが一般的かと思っていました。
> ISLeさん
なるほど、ロビーなど仲間を集める環境だけ提供して後は好きなように遊んでくれという感じですね。
確かにその方がサーバーの負荷が下がってよいですね。
ただPCの場合改めて特定のPCから特定のPCへ接続するのがセキュリティ的にめんどくさそうですね・・。
Re: オンラインゲームを作る part.2
アンチウイルスソフト、Windowsファイヤーウォール、ルータ、と乗り越えなければならない壁が多岐に渡るので手動で対応してもらうしか無い状況がほとんどですかね。Dixq (管理人) さんが書きました:ただPCの場合改めて特定のPCから特定のPCへ接続するのがセキュリティ的にめんどくさそうですね・・。
不特定多数相手に公開するとなったらサポートがたいへんですね。
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: オンラインゲームを作る part.2
> ISLeさん
NATトラバーサル技術というのでしょうか、ルーターごしに接続するための工夫が何か出来ればいいのですが。
softyaさんが仰っていることがその一つであればそれも検討してみようと思います。
また、リレーサーバーを経由すれば必ず接続が出来るので、P2Pであってもリレーサーバーを経由する方法を検討していました。
NATトラバーサル技術というのでしょうか、ルーターごしに接続するための工夫が何か出来ればいいのですが。
softyaさんが仰っていることがその一つであればそれも検討してみようと思います。
また、リレーサーバーを経由すれば必ず接続が出来るので、P2Pであってもリレーサーバーを経由する方法を検討していました。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
Re: オンラインゲームを作る part.2
UPnPはルータにポートを開けることが出来ます。ありがとうございます。
これはLAN環境ではなくても良いのですか?
今回のような状況だとTCPを使うのが一般的かと思っていました。
つまりUDPパケットを届けることが出来ます。
ここら辺は私も研究中なんですけどね。
Re: オンラインゲームを作る part.2
土日で読めなかった反動で今、本を読んでいるのですが読むほど面白い本ですね。
ネットワークの基礎的なこととゲームへの実用例を上手く絡めながら説明されてるのが良い感じです。
ネットワークについては講義で基礎を学んだのですが、応用例を知る良い機会になりそうです。
ネットワークの基礎的なこととゲームへの実用例を上手く絡めながら説明されてるのが良い感じです。
ネットワークについては講義で基礎を学んだのですが、応用例を知る良い機会になりそうです。