マルチプレイヤー ビデオ ゲームの永続化レイヤーとして ZODB を使用することを検討しています。任意のオブジェクト指向データ構造とシームレスに統合できる点が非常に気に入っています。ただし、ZODB がこれを解決できるかどうかわからない 1 つの問題につまずいています。
どうやらClientStorage
from ZEO を使用して、永続化に使用されるリモート データ ストレージにアクセスできます。これは、信頼できるローカル ネットワークでは優れていますが、オープン ネットワークでは適切な承認と認証がなければ、これを行うことはできません。
そこで、ZODB で次のようなコンセプトを実現できる可能性があるかどうか疑問に思っていました。
サーバー側では、ZEO サーバーを実行し、ZEO サーバー上で完全に承認されたクライアントとして動作する (または ZEO サーバーと同じファイル ストレージを使用する) ゲーム世界のシミュレーションを行いたいと考えています。
クライアント側では、ZEO サーバーへの非常に制限された読み取り/書き込みアクセスが必要です。これにより、クライアントは、ユーザーが知っているはずの情報 (キャラクターの周囲など) のみを表示し、関連する情報のみを変更できます。キャラクターが実行できるアクションに。
これらの制限は、ある種のきめの細かい承認スキームを使用してサーバーによって課される必要があります。したがって、ユーザー A がオブジェクト B の読み取り/書き込み権限を持っているかどうかをサーバーに伝える必要があります。
この種の問題に対して、ZODB またはサードパーティのソリューションでこれを行う方法はありますか? または、この方法で ZEO を拡張する方法はありますか?