タグ付けされた質問 「networking」

情報交換の目的でケーブルバインドまたはワイヤレス通信リンクを介して接続された2台以上のコンピューター。

3
オンラインゲームのプロトタイプを作成するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 2年前休業。 ライブラリ、エンジン、または単にネットワーク化されたプログラム間での情報の共有とメッセージの送信のタスクを大幅に簡略化する単純な設計パターンさえ知っているかどうかを知りたいので、ネットワークコードを書き直す代わりにゲームプレイの微調整に集中できます。ネットワークゲームのプロトタイピング。これはプロトタイプを対象としているため、速度とセキュリティよりも使いやすさと柔軟性がはるかに重要です。

2
IPv6テクノロジーを使用してLANネットワークでゲームサーバーを見つける方法は?
IPv4時代に戻って、ブロードキャストパケットを単に使用した人々は、この回答で説明されているように、ネットワークに利用可能なサーバーがあるかどうかを確認します。しかし、IPv6プロトコルでは、ブロードキャストのサポートを廃止しました。利用可能なマルチキャストサポートはまだありますが、どのように使用できますか?

3
ハッキングされたサーバーがマスターサーバーになりすますのを防ぐ方法は?
プレイヤーが対戦をホストし、ホスト(つまり、権威のあるサーバー)として機能するルームベースのマルチレイヤーゲームモデルをセットアップしたいと思います。プレイヤーのアイテム、ランク、現金、経験値などを追跡するマスターサーバーをホストしたいと思います。 このようなモデルで、ゲームをホストしている(変更されたサーバーで)誰かが無効な一致結果でマスターサーバーをスプーフィングして、exp、お金、またはランキングを取得することを防ぐにはどうすればよいですか。 ありがとう。-コーディ


3
マルチプレイヤータイルベースの動きの同期
私はインターネット上で複数のプレイヤーの動きを同期させなければなりません、そしてそれを行うための最も安全な方法を見つけようとしています。 ゲームはタイルベースで、4方向にしか移動できません。移動するたびにスプライトが32ピクセル移動します(もちろん時間とともに)。さて、この移動アクションをサーバーに送信し、すべてのプレーヤーにブロードキャストする場合、ウォークキーを押し続けている間、ウォーキングを続けるには、次のコマンドを実行してサーバーに送信する必要があります。そして、すべてのクライアントにとって、時間内に、または動きはもはやスムーズではなくなります。私はこれを他のゲームで見ました、そしてそれはラグがなくてもかなり醜くなります。だから私はこれが実行可能なオプションでさえあるのだろうかと思っています。これはシングルプレイヤーにとって非常に優れた方法のようですが、簡単で簡単です(次の移動アクションを時間内に実行してリストに追加するだけです)。マウスの移動を簡単に追加できます(タイルをクリックする)。キューへのパスを追加するために、それは歩きました。 私の頭に浮かんだもう1つのことは、誰かがどこかの方向に動き始めたという情報を送り、もう一度彼が停止または方向を変えたときに、位置とともにスプライトが正しい位置に表示されるようにするか、位置が間違っている場合は、位置を修正できます。これは(うまくいけば)誰かが本当に遅れている場合にのみ問題を引き起こすはずです。その場合、それは予期されることです。これがうまくいくためには、何らかの方向のキューが必要です。ここで、着信方向の変更やものが保存され、スプライトが次のタイルへの現在の移動が完了した後、どこに行くべきかがわかります。これは実際には機能するかもしれませんが、ちょっと複雑すぎるようです。これを行う唯一の方法かもしれませんが、吃音のリスクはありません。停止または方向変更がクライアント側で受信された場合 sはキューに保存され、charは停止または方向を変更する前に、指定された座標に移動し続けます。もちろん、新しいコマンドが遅すぎると、どもりも発生します... 私は方法を決めるのに苦労しており、まだこれに関する例を見つけることができませんでした。私の主な問題はタイルの動きをスムーズに保つことです。そのため、ピクセルベースの動きの同期に関する他のトピックがあまり役に立たないのはこのためです。 これを行う「標準的な」方法は何ですか?

2
ターンベースのクライアントサーバーカードゲーム-ユニキャスト(TCP)またはマルチキャスト(UDP)
私は現在、クライアントがソケットを介して送信されるメッセージを使用してターンベースの同期的な方法でサーバーと通信するカードゲームプロジェクトを作成することを計画しています。私が抱えている問題は、次のシナリオの処理方法です。 (クライアントは順番を取り、そのアクションをサーバーに送信します) クライアントはサーバーにそのターンの動きを伝えるメッセージを送信します(たとえば、テーブルに置く必要があるその手からカード5を再生します) サーバーはメッセージを受信し、ゲームの状態を更新します(サーバーはすべてのゲームの状態を保持します)。 サーバーは接続されたクライアントのリストを反復処理し、状態の変化を通知するメッセージを送信します クライアントはすべてリフレッシュして状態を表示します これはすべてTCPの使用に基づいており、今見てみると、それはObserverパターンのように見えます。これが私にとって問題であるように思われる理由は、このメッセージが他のクライアントのようにポイントツーポイントではないようであり、すべてのクライアントに送信したいためであり、同じメッセージをそのように。 メッセージをすべてのクライアントに送信できるように、UDPでマルチキャストを使用することを考えていましたが、これは、クライアントが理論的に相互にメッセージを送信できることを意味しませんか?もちろん、同期の側面もありますが、これは私が推測しているUDPの上に置くこともできます。 基本的に、このプロジェクトは本当にすべて学習に関するものなので、何が良い習慣になるのかを知りたいと思います。これからパフォーマンスの問題が発生するほど大きくない場合でも、とにかく検討したいと思います。 ただし、メッセージ指向ミドルウェアをソリューションとして使用することに関心がないことに注意してください(MOMの使用経験があり、TCPソケットが不適切な場合はMOMを除く他のオプションを検討することに興味があります!)。

2
マルチプレイヤーゲームでのDTLSプロトコルの使用
オンラインマルチプレーヤーゲームでDTLSプロトコルを使用することを検討しています。知らない人のために、それは本質的にTLSからUDPデータグラムへのポートです。 この論文によると、プロトコルの主要なオーバーヘッドはハンドシェイク段階にあり、テストでは950ミリ秒かかりました。ただし、この調査(リンクが壊れています。archive.orgのコピーを参照)は、実際の暗号化されたトランスポート中に、1ミリ秒未満の遅延があることが多いことを示しています。 これは、リアルタイムゲームの天の恵みのように聞こえます。これは、UDPを介して動作する、遅延が少なく安全性の高い暗号化チャネルです。ハンドシェイクフェーズの信頼性と保護を提供し、それから邪魔にならないようにします。それでも、RFC仕様が2006年に記述され、OpenSSLで実装されているにもかかわらず、ゲームで使用されることは聞いたことがありません。 なぜすべてのゲームがそれを使用しないのですか?

3
クライアントサーバーネットワーク用の効率的なデータパッケージ
言語:C ++ 私の質問は次のとおりです。データをパックしてクライアントからサーバーに、またはその逆に送信するための最良または少なくとも良い方法を知りたいのです。1つのパケットを構成するいくつかのデータがあります。パケットには「id」があり、それが何のためにあるかを定義します。次に、データは、パケットが対応する「アクション」に対して事前に決定された順序になります。 パフォーマンスに依存しないシステムでは、スペースで区切られた文字列を送信します。これは、「アクション」のデータと最初の「ワード」のパケット識別子であり、一致がある場合にステートメントがチェックする場合はチェーンします。 。 今、より重要なシステムのために、私がこれまでに考えたのは次のようなものでした: パケットIDとデータで文字列を作成し、送信します。次に、アンパックするために、文字列の最初の整数を抽出し、パケットハンドラーの配列と、それらが処理するパケットIDに対応するインデックスを使用して、packetHandlers [packetID] .Process(packetData)のようにします。 あなたはそれについてどう思いますか、何か提案はありますか?大感謝です!
8 c++  networking 

2
iOSおよびAndroidゲームのマルチプレイヤーターンベースネットワークゲームをサポートするために何を使用しますか?
ターン制のカードゲームをしている場合、インターネットを介したマルチプレイヤーゲームプレイをサポートするためにどのようなテクニックを使用しますか? ソケットですか?ソケットの場合、どのSDK(CoronaSDKなど)が確実なソケットライブラリを提供できますか? Unity3Dは、SmartFoxやElectroなどの他のソケットサーバーを使用せずに、必要なものをサポートするためだけに使用できますか?

2
Flashのネットワークマルチプレイヤー
Flashは過去10年間で長い道のりを歩んできました。チャットや基本的なアバターの動きのためにFlashゲームをリアルタイムでマルチクライアントサーバーに接続することはよく知られている秘密です。 なぜ業界全体がこれをまだ一般的な知識タイプにしていないのですか?私たちはウェブへのプッシュを続けていますが、このテーマに関する学習資料を収集することは非常に難しいと感じています。 確かに、(selectステートメントやスレッドを使用して複数のソケット接続を処理する)さまざまな言語のマルチクライアントサーバーソケットチュートリアルを見つけることができますが、ブラウザ内のFlashアプリケーションに関しては?いいえ! みんなが知っていることを共有できますか?:]それは私が本当に入りたい主題ですが、私は正直にそれを行う方法について十分に知らないのではないかと心配しています。

2
3gオンラインゲームの制限は何ですか
私はiphone用の3gオンラインマルチプレイヤーゲームを作ることを検討しています。マルチプレーヤーが私の主な焦点ですが、すべてのゲームアプリでWi-Fiが必要であることに気づきました。これが単に3gネットワークの速度の問題なのか、それともAppleが3gネットワークに制限を設けて開発者がこれを行えないのかを知っている人はいますか?

2
StarcraftのようなピアツーピアRTSゲームで勝利を検出する
典型的なRTSゲームは、標準のネットワークモデルであるピアツーピアロックステップで実装されます。 ピアツーピアモデルの2人のプレイヤーの間の通信しかないとすれば、Battle.netはおそらくゲームの状態について何も知らないので、Starcraft 2を検討してください。 。不正行為を行わず、正確な結果を報告しないように2つのピアに依存することは、世間知らずです。

3
ポート転送なしのネットワーキング
ゲームにネットワーク機能を追加しようとしています。すべてのユーザーがゲームをホストでき、誰もがクライアントとして接続できるようにしたい。クライアントは、プレーヤーの位置などに関する情報をホストに送信します。ホストはメッセージを受信すると、それを検証し、他のクライアントにブロードキャストします。私は主にUDPを扱いますが、チャットやロビーなどのためにTCPも必要になります。 問題は、ルーターでポート転送を有効にしないと、クライアントからホストに、またはその逆にパケットを送信できないように見えることです。しかし、私はこれが必要だとは思いません。ポートフォワーディングが必要な理由は、LAN上の1台のコンピューターから別のLAN上の別のコンピューターにパケットを送信したいためですが、LAN内にあるため、どちらもグローバルIPアドレスを持っていません。そのため、実際には、他のネットワークのルーターをターゲットとするパケットしか送信できません。そのルーターは、到達したいマシンに転送する必要があります。では、ポート転送なしでこれを行うにはどうすればよいですか?どういうわけか、Webサーバーは、グローバルIPを持たない私のコンピューターと、ポート転送なしで通信できます。また、ポートフォワーディングを有効にする必要のないマルチプレイヤーゲームをたくさんプレイしました。だからそれは可能でなければならない。 ところで、私はSDL_Netを使用しています。でもこれが何かを変えるとは思いません。

3
JSブラウザーゲームとnode.jsサーバー間の通信のヒント?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 私はいくつかの単純なCanvasベースの洞窟フライヤーゲームをいじくり回しており、最終的にそれをマルチプレイヤーにしたいと考えています。サーバー側でNode.jsを使用する計画です。 送信されるデータは、各プレーヤーの位置、方向、速度などで構成されます。プレーヤーの動きは単純な力の物理学なので、サーバーからの次の更新の前に動きを推定できるはずです。 通信側のヒントやベストプラクティスはありますか?私はウェブソケットが行く方法だと思います。ゲームループのすべてのパスで、または指定された間隔で情報を送信する必要がありますか?また、それが古いブラウザーで動作しないかどうかは気にしません。

3
物理演算を備えた2Dゲームのマルチプレイヤー/ネットワーキングオプション[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 概要: 物理エンジンが最終バージョンでマルチプレーヤーサポートを備えているため、私の50%はBox2Dを備えた2Dサイドスクローラーを完成させました。ただし、現在のコードはシングルプレイヤーゲームです。 私は今どうすればいい? さらに重要なのは、マルチプレーヤーを実装してシングルプレーヤーと組み合わせる方法を教えてください。 シングルプレイヤーモードをマルチプレイヤーモードから分離してコーディングするのは悪い考えですか(NotchがMinecraftで行ったように)。 シングルプレイヤーでのパフォーマンスは可能な限り優れている必要があります(ループバックサーバーを使用してシングルプレイヤーモードを実装することで物理をシミュレートすることが問題になります) 完全な背景/質問: 私はC ++で比較的大規模な2Dゲームプロジェクトに取り組んでおり、その中核要素として物理学を使用しています。(私はそのためにBox2Dを使用しています) 完成したゲームはマルチプレイヤーを完全にサポートしているはずですが、ネットワークの部分を適切に計画しておらず、今までは基本的にシングルプレイヤーゲームに取り組みました。 マルチプレーヤーのサポートは、ほぼ完成したシングルプレーヤーゲームに比較的簡単で明確な方法で追加できると思いましたが、私が読んだことから、これは間違いです。 マルチプレイヤーゲームは最初から1つとしてプログラムする必要があると私は読みました。シングルプレイヤーモードは、実際には目に見えないローカルサーバーをホストし、ループバック経由で接続するだけで構成されています。(ほとんどのFPSゲームエンジンがそのように実行することがわかりました。例はソースです) だから、私は半分完成した2Dサイドスクローラーゲームで、私はどうすればよいのか本当にわかりません。 シングルプレイヤー/クライアントで作業を続けるだけでは今は役に立たないように見えます。後でコードを変更してリファクタリングする必要があるからです。 まず、このような状況に陥った可能性のある人への一般的な質問: どうすればいいですか? 次に、より具体的なもの-私は自分のゲームのネットワーキング部分にどのようにアプローチできるかを見つけようとしています: (可能な解決策:) シングルプレイヤー用の非表示/ループバックサーバー これには、基本的にシングルプレイヤーモードとマルチプレイヤーモードに違いがないという利点があります。追加のコードはそれほど必要ありません。 大きな欠点:シングルプレイヤーのパフォーマンスとその他の制限。2つの物理シミュレーションが実行されます。1つはクライアント用、もう1つはループバックサーバー用です。 ループバックサーバーからのデータへの直接パスを提供することで回避した場合でも、たとえばスレッドによる直接通信を通じて、シングルプレイヤーは制限されます。 これは、人々が大量のオブジェクトを一度にいじることを許可されるべきであるため、問題です。 シングルプレイヤー/マルチプレイヤーモードの分離 シングルプレイヤーモードに関与するサーバーはありません。 これがどのように機能するかは本当にわかりません。しかし、少なくとも、シングルプレイヤーのすべての機能を再実装するか、マルチプレイヤーモードに接着する必要があるため、多くの追加作業が必要になると思います。 シングルプレイヤー用のモジュールとしてのマルチプレイヤーモード これは、私がすぐに思いついた考えです。マルチプレイヤーはシングルプレイヤーゲームで構成され、追加のネットワークモジュールが読み込まれ、サーバーに接続されて、データを送受信し、シングルプレイヤーの世界を更新します。 振り返ってみると、以前にマルチプレイヤーモードを計画していなかったことを後悔しています。私はこの時点で本当に行き詰まっています。誰かが助けてくれることを願っています!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.