問題タブ [mmo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - php-ブラウザゲームでイベントキューをオフラインモードで動作させる方法
ブラウザゲームを作ることを考えている間、私は気がかりな問題に遭遇しました。多くのゲームには、このように機能する「イベントキュー」と呼ばれるものがあります。私は「軍隊」を持っていて、それを敵に送ります。少し時間がかかります。私の「軍隊」が敵の「軍隊」の位置を取得すると、計算された戦いがあるので、私の「軍隊」は負けるか勝ちます。私または私の対戦相手がゲームに参加しているときは、すべてがうまくいきます。ある種のajax作業では、呼び出されるphpスクリプトを管理し、fightを計算して、その結果をデータベースに保存できます。しかし、戦闘が発生したときに私も対戦相手もログインしていない場合、どのように機能するのでしょうか?そのようなゲームの良い例は、あなたが別の惑星に船を送っているときのOgameであり、ログアウトしたときに目的地に会い、戦いを行い、敵の源を手に入れてカムバックすることができます、
私は、データベースの行で攻撃者と対戦相手の両方の攻撃の時間を節約し、いずれかのプレイヤーがゲームにログインしている間の戦いを計算できると考えていましたが、このソリューションには多くの欠点があります。たとえば、対戦相手を攻撃する前に攻撃するサードプレーヤーがいる場合、それは彼の軍の統計を変更し(彼は彼の軍の一部を殺すことができるため)、私は多くの結果をもたらします。また、プレイヤーの誰もが長時間ログアウトしない場合、彼らは戦っていなかったのでゲームに登場し、それは真実ではありません。
そのようなイベントキューを作成する方法を知っていますか?cronを使用することもお勧めできません。まれにしか使用されない場合があり、数千のプレーヤーが存在する場合、数千のcronインスタンスがパフォーマンスのキラーになる可能性があります。どんな概念でもありがたいです-私が私の問題を十分に説明したことを願っています:)
java - データ、ネットワーキング、シン クライアント、MMORPG
2D MMORPG ゲーム (アプレット形式) を作成していますが、簡単な質問がありました。
一般的なハッキング防止手法としてのセキュリティ上の理由から、クライアントに含まれる論理データの量はできるだけ少なくする必要があることを理解しています (操作や悪用ができないようにするため)。
私の質問は次のとおりです。サーバーからクライアントにデータを送信するとしましょう(これは非常に頻繁に発生していると思われます)。パケットを受信したクライアント コードでは、そのパケットを「チャンク」に解析し、そのデータを正確な対応する変数に論理的に格納します。変数の 1 つにプレイヤーの健康状態が格納されているとします。つまり、この変数は実際には計算に使用できないということですか? つまり、それは論理的なデータであるため (したがって、クライアントに格納されているため操作できます)、唯一の代替手段は次を含むパケットを読み取ることです。健康量が必要になった場合の健康に関する情報は?
私の質問を読んでくれてありがとう。-ブライアン
python - Python MMO ゲームでプレイヤー データを最も効率的に保存するにはどうすればよいですか?
私はPython 2.7 でゲームRealm of the Mad Godに似た MMO シューティング ゲームを開発しています。
ゲームのプレイヤー データには、ゲームの各プレイヤーの着用装備、プレイヤーの名前などが含まれます。そのため、プレイヤーがキャラクターをログオフすると、プレイヤー データが保存され、永続的な方法で保存され、ログオンすると、繰り返しますが、プレイヤー データがゲームに読み込まれます。安全のために、一意のプレーヤー データ エントリの数は 1,000,000 エントリになると見積もっています。
すべてのプレーヤー データを 1 つの大規模な txt ファイルに保存する方が効率的でしょうか?それとも 26 ファイル、または 26*26 ファイルに保存する方が効率的でしょうか? これらのエントリを整理する最良の方法は何ですか?
記入例:
c# - あるサーバーから別のサーバーに TcpClient を渡すことはできますか?
基本的にオンラインゲームを作っています。すべてのユーザー名/パスワード情報を保持する 1 つのサーバー (ログイン サーバー) と、ゲームをホストする 1 つ以上のサーバー (ゲーム サーバー) があります。クライアントは、資格情報を検証するログイン サーバーに接続し、使用しているゲーム サーバーを確認してから、そのサーバーにクライアントに接続するように指示します。
私はセキュリティについてほとんど知りませんが、ゲームサーバーがクライアントをリッスンするのではなく、クライアントがゲームサーバーからの接続をリッスンする方が安全であると考えました。これにより、少なくとも DDoS 攻撃の防止が容易になると考えました。
問題は、サーバーが特定のタイプのルーターまたはロードバランサーの背後にある場合、クライアントの IP を簡単に取得できないことを読んだことです。ログインサーバーがゲームサーバーに接続先を伝えるために必要です...開いている接続を転送できない限り。特定のゲームには、クライアントを 1 つまたは別のサーバー間でフロートさせるサーバー クラスターがあると思います。それは一般的にどのように行われますか?
多分私は道を外れていますか?
socket.io - Firebase を使用して Unity3D をバックエンドし、MMO を作成する
Firebase は、Unity ベースの MMO 実装に必要なバックエンドを提供できますか? Unity-socket.io 統合があることがわかりました。誰かが Firebase を試しましたか? MuchDifferent.com は確かに、Unity MMO をサポートするための完全なスイートを提供しています。Firebase を使用してアーキテクチャを簡素化できますか? どのような状況で試行が推奨されますか? お勧めしませんか?
c# - ソケット サーバー マルチスレッド
サーバー プロジェクトには 3 つのメイン スレッドがあります。
- (TCP) ソケットの受け入れとクライアントのセットアップ操作
- 着信データ ハンドラー (TCP と UDP) とプロセッサ (ログイン、ロビーなど)
- 発信データ ハンドラー (TCP&UDP) およびプロセッサ (UDP または TCP 経由でクライアントにデータを送信します..)
ここで聞きたいのですが、それは良い方法ですか?つまり、データ処理 (ログイン) クライアント #32 を切断することができ、この場合、新しいクライアントがクライアント #32 として接続できる可能性があります。 )。このサーバーシステムについて誰か教えてください。
c# - TCP ソケットのデータ送受信操作
私はMMOゲームサーバーに取り組んでいます。TCP データの送信/受信操作を理解する必要があります (使用法、詳細ではありません)。質問したいのですが、.net ソケット クライアントから 5kb のデータを送信した場合、サーバー ソケットはこのデータ送信操作をもう一度処理できますか? つまり、5kb = 1. 操作:2kb + 2. 操作:3kb のように、5kb のデータをもう 1 回受信できますか?
もう一度言いたい。クライアントがデータをサーバーに送信した場合、サーバー リスナーの Recv() メソッドはこのデータをもう一度ハンドラー クラスに渡すことができますか (コールバック操作)。
c# - SocketAsyncEventArgs vs NetworkStream vs BeginXXX メソッドのパフォーマンス?
私は MMO ゲーム サーバー プロジェクトに取り組んでおり、ソケットを使用する方法を選択する必要があります。私はいくつかの記事を読み、ここでいくつかの質問をしましたが、これをよく理解できません: 一部のライブラリは networkStream を使用し、一部のアプリケーションは async のように beginreceive を使用します。メソッドと誰かが私に SocketAsyncEventArgs を使用すると言います (誰もが高性能です)。BeginReceive() メソッドを使用したい場合、間違いを犯すでしょうか (または、この選択はパフォーマンスに影響しますか)?
編集:それらの違いは何ですか?