現在、2つのデータベース(MONGODB)を使用するマルチプレイヤーゲームに取り組んでいます。 1つは認証(ログイン)用で、もう1つはすべてのゲーム固有のデータを格納するためのものです。 私がやったことは、ユーザーとゲーム固有のデータを分離することです。このようにして、私は将来、ユーザーの周りにマイクロサービスを構築することができます。複数のデータベース管理
私は、ゲーム固有のデータベース操作を処理/検証する方法について少し不確実です。 私のゲームにログインすると、残りのAPIにPOSTリクエストが実行され、ユーザーを検証してデータを返します。
しかし、ゲーム自体は、リアルタイムのゲームプレイを処理するためにTCPソケット接続を使用しており、権限のあるサーバー上のデータベースにゲーム固有のデータを保存します(すべてのゲームロジックはサーバー上で実行されます)。ゲーム固有のデータベースのデータを、認証データベースにある特定のユーザーにリンクさせるにはどうしたらよいですか?
ユーザーはIDを持っていますか?そのため、ユーザーIDを保管してください。 –
私は、クライアントがIDを改ざんすることができるか、間違っているのではないことを意味するクライアント経由で送信しない限り、ゲーム固有のデータベースから認証DBにあるIDにアクセスできません。 – JSjuniorlad
改ざんのない形式で保存します。ブラウザーの暗号化されたCookieと同じです。認証サーバーは認証データを生成し、それをゲームサーバーの公開キーで暗号化してクライアントに返します。クライアントは、各要求とともにこの不透明な値を送信します。ゲームサーバーは秘密鍵でそれを解読し、ユーザーIDを取得します。あるいは、速度に関しては、ここで対称暗号を使用することもできます。 –