サーバー
Robloxのゲームはデフォルトでマルチプレイヤーであり、クライアント-サーバーモデルで動作します。
Robloxのサーバーはゲームの状態を維持するための最終的な権限を持ち、接続されたすべてのクライアントをサーバーと同期させる責任があります。

クライアント
ゲームが実行されると、RobloxはStudioから構築して公開した「編集」データモデルのバージョンをコピーし、それをRobloxのサーバー上で「ランタイム」データモデルとして実行します。
接続されたクライアントはランタイムデータモデルのコピーを受け取り、プレイヤーのバックパック(インベントリ)の初期化やローカルユーザーインターフェースの初期化などが行われます。ゲームがWorkspace.StreamingEnabledをtrueに設定している場合、サーバーは最初にクライアントに最も近いWorkspaceのコンテンツのサブセットのみを送信します。その後、クライアントが3Dワールドをレンダリングし、適用可能なスクリプトの実行を開始します。

レプリケーション
サーバーは、レプリケーションと呼ばれるプロセスを通じて常に接続されたクライアントを更新し、サーバーとクライアント間のすべてを同期させます。このプロセスは、データモデル、物理シミュレーション、およびチャットメッセージを同期させます。同期のためのロジックはクライアントとサーバーの両方に存在します。
データモデルの変更は、3Dワールド内の何かが作成されたり、3Dワールドのプロパティが変更されたりするさまざまなケースで発生します。これは通常、サーバーまたはクライアントのスクリプトが変更を加え、それがクライアント-サーバーの境界の反対側に反映される必要がある場合に発生します。以下の図はデータレプリケーションの一般的なシナリオを示しています。


