deploy-worlds について
LAND の区画制約がない個人向け 3D 空間を公開する、Decentraland Worlds のデプロイ解説スキルです。設定、デプロイ先、アクセス方法に加え、空やミニマップの設定も説明します。
主な機能
- 01scene.json の worldConfiguration 設定
- 02Places の掲載設定
- 03スカイボックスとミニマップの設定
- 04/deploy、CLI、Creator Hub からデプロイ
- 05World へのアクセスとエラーの確認
活用シーン
- 01個人用 Decentraland World の公開
- 02独自のスカイボックスやミニマップの設定
- 03World の Places 掲載除外
- 04所有権やデプロイの問題の調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dcl-regenesislabs/ opendcl --skill deploy-worldsインストール後、Claude Code で/deploy-worldsを入力して読み込まれたか確認します。
詳細
Decentraland Worlds へのデプロイ
Worlds は、LAND に紐づいていない個人用の 3D 空間です。区画の制限がなく、Places ページに自動的に掲載されます。
要件
World に公開するには、ユーザーは次のいずれかを所有している必要があります。
- Decentraland NAME(例:
my-name.dcl.eth) - ENS ドメイン(例:
my-name.eth)
デプロイに署名するウォレットが NAME を所有しているか、Access Control Lists(ACL)を通じて権限を付与されている必要があります。
1. scene.json を設定する
scene.json に worldConfiguration セクションを追加します。
{
"worldConfiguration": {
"name": "my-name.dcl.eth"
}
}
name フィールドには、デプロイするウォレットが所有する Decentraland NAME または ENS ドメインを指定する必要があります。
Places への掲載をオプトアウトする
すべての Worlds は Places ページに自動的に掲載されます。オプトアウトするには、次のようにします。
{
"worldConfiguration": {
"name": "my-name.dcl.eth",
"placesConfig": {
"optOut": true
}
}
}
Skybox と Minimap の設定
worldConfiguration は、Genesis City のシーンでは使用できない追加フィールドを受け付けます。
{
"worldConfiguration": {
"name": "my-name.dcl.eth",
"skyboxConfig": {
"fixedTime": 36000,
"textures": ["textures/skybox.png"]
},
"miniMapConfig": {
"visible": true,
"dataImage": "images/minimap.png",
"estateImage": "images/estate.png"
}
}
}
skyboxConfig.fixedTime:
| 値 | 時刻 |
|---|---|
0 | 真夜中 |
18000 | 午前 6 時(日の出) |
36000 | 正午 |
45000 | 午後 6 時(日没) |
50400 | 最大 |
昼夜のサイクルを動的にするには、fixedTime を省略します。完全にカスタムの空を使用する場合、textures はキューブマップの各面のテクスチャ(上/下/前/後/左/右)の配列です。
miniMapConfig:World 内にミニマップを表示するには visible: true を設定します。dataImage はベースタイル、estateImage はエステートの境界線を重ねて表示します。
2. デプロイする
/deploy コマンドを使用します — scene.json 内の worldConfiguration を自動検出し、Worlds のコンテンツサーバーに自動でデプロイします。
または、CLI から手動でデプロイします。
npx @dcl/sdk-commands deploy --target-content https://worlds-content-server.decentraland.org
ウォレットを使用してデプロイに署名するよう求められます。シーンを許可または拒否するための検証が自動的に実行されます。
Creator Hub を使用する場合
- Creator Hub でシーンプロジェクトを開きます
- Publish ボタン(右上)をクリックします
- PUBLISH TO WORLD を選択します
- 公開先の NAME または ENS ドメインを選択します
3. World にアクセスする
デプロイが成功すると、/deploy コマンドがアクセス URL を自動的に出力します。World には次の URL からもアクセスできます。
https://decentraland.zone/bevy-web?realm=NAME.dcl.eth
Decentraland 内からは、チャットボックスのコマンドを使用します。
/goto NAME.dcl.eth
scene.json の完全な例
{
"ecs7": true,
"runtimeVersion": "7",
"display": {
"title": "My World",
"description": "A personal 3D space"
},
"scene": {
"parcels": ["0,0"],
"base": "0,0"
},
"main": "bin/index.js",
"worldConfiguration": {
"name": "my-name.dcl.eth"
}
}
トラブルシューティング
| エラー | 原因 | 解決策 |
|---|---|---|
| "NAME not found" または "NAME not owned" | デプロイに署名するウォレットが、worldConfiguration.name に指定された NAME/ENS を所有していません | https://builder.decentraland.org/names で NAME の所有権を確認してください。署名に使用するウォレットは、完全に一致する NAME を所有している必要があります |
| ENS の解決に失敗する | ENS ドメインが登録されていないか、期限切れです | https://app.ens.domains で ENS の登録状況を確認してください |
| "Scene too large" | 区画の制約がなくても、World のシーンにはサイズ制限があります | アセットのサイズを小さくしてください。World にもファイルサイズとエンティティ数の制限があります |
| デプロイは成功するが、World が空です | main フィールドの設定が誤っています | main が "bin/index.js" になっており、コードがコンパイルされることを確認してください |
| World が Places に表示されない | 反映に時間がかかっています | デプロイ後、数分待ってください。placesConfig.optOut でオプトアウトした場合は表示されません |
Genesis City にデプロイしますか? deploy-scene スキルを参照してください。
Genesis City との主な違い
- 区画の制限なし — World は LAND の所有権による制約を受けません
- NAME/ENS が必要 — LAND の代わりに Decentraland NAME または ENS ドメインを所有している必要があります
- デプロイ先が異なる —
--target-content https://worlds-content-server.decentraland.orgを使用します - Places に自動掲載 —
placesConfig.optOutでオプトアウトした場合を除きます