mcpField
D
deploy-worlds

deploy-worlds

github.com/dcl-regenesislabsクラウド・DevOps1738 回インストール21 週間前に更新
リポジトリ

deploy-worlds について

LAND の区画制約がない個人向け 3D 空間を公開する、Decentraland Worlds のデプロイ解説スキルです。設定、デプロイ先、アクセス方法に加え、空やミニマップの設定も説明します。

主な機能

  1. 01scene.json の worldConfiguration 設定
  2. 02Places の掲載設定
  3. 03スカイボックスとミニマップの設定
  4. 04/deploy、CLI、Creator Hub からデプロイ
  5. 05World へのアクセスとエラーの確認

活用シーン

  1. 01個人用 Decentraland World の公開
  2. 02独自のスカイボックスやミニマップの設定
  3. 03World の Places 掲載除外
  4. 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 を使用する場合
  1. Creator Hub でシーンプロジェクトを開きます
  2. Publish ボタン(右上)をクリックします
  3. PUBLISH TO WORLD を選択します
  4. 公開先の 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 でオプトアウトした場合を除きます

コメント