Rojoは、Robloxプロジェクトに対して「ファイルシステム優先」のアプローチを取るコミュニティツールです。マシン上でサーバーを実行し、Studioプラグインと通信して、ディスク上のファイルをStudioデータモデルに同期させ、これらのファイルからプレースやモデルファイルを構築できます。プロジェクトがディスク上にあることで、Git、自分のエディタ、CIを使用できます。
Rojoの使用方法は、ゲームの管理をどの程度行いたいかによって異なります:
- 部分的に管理: Rojoはコードを管理し、Gitがその真実のソースです。プレースやアセットはRobloxに残り、アーティストはTeam Createやパッケージを使用してそれらを編集します。これはGitを使用するほとんどのチームに推奨されます。
- 完全に管理: Rojoはモデルや画像を含むゲーム全体を管理します。Gitはすべての真実のソースであり、CIがプレースをビルドして公開します。
これらをStudioネイティブのワークフローと比較するには、ファイルベースのワークフローを比較してください。
Rojoのインストール
手動でRojoのバイナリをダウンロードして実行することもできますが、そのアプローチではチームの異なるメンバーが異なるRojoのバージョンを使用するリスクがあります。より良い解決策は、Rokitのようなツールチェインマネージャーを使用することで、設定ファイル、リポジトリとバージョンのリストを使用して、インストールとアップグレードのプロセスをマシン間で一貫性のあるものにします。
Rokitはプロジェクト内のパッケージではなく、ベースラインの開発環境を管理するため、nvmに似ていますが、npmとは完全に一致するわけではありません。シンプルなrokit.tomlファイルは次のようになります:
[tools]
rojo = "rojo-rbx/rojo@7.6.1"
wally = "upliftgames/wally@0.3.2"
lune = "lune-org/lune@0.10.4"次に、これらのツールをrokit installでインストールします。グローバルなrokit.tomlファイルに加えて、Rokitはプロジェクトごとのファイルもサポートしているため、異なるプロジェクトで異なるバージョンのRojo、Wally、または他のツールを簡単に使用し、チーム全体を同じバージョンに保つことができます。
ツールが新しいバージョンをリリースした場合、.tomlファイル内のバージョン番号を明示的に上げ、Rokitを使用してアップグレードを実行し、新しいバージョンをテストし、問題が発生した場合はダウングレードします。コマンドとインストール手順については、Rokitを参照してください。
Rojoを実行する
RokitでRojoをインストールした後、実際にインストールされたのはRojoサーバーです。次のステップは、Roblox Studio用のRojoプラグインをインストールすることです。
Creator Storeからインストールするか、次のコマンドでローカルにインストールできます:
rojo plugin install次に、新しいゲームのプロジェクト構造を生成し、ビルドします:
rojo init my-new-experience
cd my-new-experience
rojo build -o my-new-experience.rbxlまたは、既存のゲームを移植することもできます。いずれにせよ、プロジェクトができたら、Rojoサーバーを起動します:
rojo serveRoblox Studioで、先ほどビルドした.rbxlファイルを開き、Rojoプラグインを開いて、現在実行中のサーバーに接続します。この時点で、好みのテキストエディタで変更を加え、これらの変更が自動的にStudioに同期されるのを確認できます。


Rojoプロジェクトには、ファイルの命名要件、さまざまな設定オプション、いくつかの制限があり、これらはすべてRojoドキュメントで説明されています。
Rojoのトラブルシューティング
| 問題 | 修正 |
|---|---|
| Rojoが同期に失敗するか、異なるマシンで異なる動作をする。 | チームメンバーが異なるRojoまたはプラグインのバージョンを使用しています。rokit.tomlでバージョンを固定し、rokit installを実行します。 |
| コードが間違った場所に同期される。 | プロジェクトファイルにservePlaceIdsを追加して、Rojoがリストしたプレースにのみ同期するようにします。 |
| Rojoがアーティストが追加したコンテンツを削除した。 | Rojoとアーティストが使用するサービスで$ignoreUnknownInstancesをtrueに設定します。 |