mcpField
D
deploy-scene

deploy-scene

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

deploy-scene について

Decentraland Genesis Cityのシーン制作者向けデプロイスキルです。設定の確認、権限のある区画へのコマンドラインまたはCreator Hub経由での公開、よくあるエラーの解決方法を説明します。

主な機能

  1. 01scene.json設定の確認
  2. 02コードとシーンプレビューの検証
  3. 03コマンドラインでのデプロイ
  4. 04Creator Hubでの公開
  5. 05デプロイエラーの調査

活用シーン

  1. 01Genesis Cityの区画へのシーン公開
  2. 02デプロイ前の設定とアセット確認
  3. 03ウォレット権限やデプロイ失敗への対処

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dcl-regenesislabs/opendcl --skill deploy-scene

インストール後、Claude Code で/deploy-sceneを入力して読み込まれたか確認します。

詳細

Genesis City へのデプロイ

所有している、またはデプロイの許可を得ている特定の区画にデプロイします。

デプロイには /deploy コマンドを使用してください。 npx @dcl/sdk-commands deploy を実行し、デプロイの全プロセスを処理します。

  1. シーンをビルドします
  2. アセットを IPFS にアップロードします
  3. 指定した区画にデプロイします
  4. LAND またはデプロイ権限を持つウォレットが必要です

代わりに World にデプロイしますか? Worlds へのデプロイについては、deploy-worlds スキルを参照してください(DCL NAME または ENS ドメインを使用する個人スペース)。

デプロイ前のチェックリスト

デプロイする前に、以下を確認してください。

  1. scene.json が有効であること:

    • ecs7: true および runtimeVersion: "7"
    • LAND(Genesis City 用)に合致する正しい parcels
    • 有効な base 区画
    • main: "bin/index.js"
  2. コードがコンパイルできること:

    npx tsc --noEmit
    
  3. シーンが正しくプレビューできること: preview ツールを使用してシーンが動作することを確認してください(または手動で npx @dcl/sdk-commands start --bevy-web を実行してください)。

  4. 依存関係がインストールされていること:

    npm install
    
  5. アセットが制限内であること — 区画数ごとの制限の計算式(三角形、エンティティ、マテリアル、テクスチャ、高さ)については、optimize-scene スキルを参照してください。

デプロイの手順

CLI を使用する場合
# Build first
npx @dcl/sdk-commands build

# Deploy (will open browser for wallet connection)
npx @dcl/sdk-commands deploy
Creator Hub を使用する場合
  1. Creator Hub を開きます
  2. シーンを選択します
  3. 「Publish」をクリックします
  4. ウォレットを接続します
  5. トランザクションを確認します

デプロイ用の scene.json

{
  "ecs7": true,
  "runtimeVersion": "7",
  "display": {
    "title": "My Awesome Scene",
    "description": "A description for the marketplace",
    "navmapThumbnail": "images/thumbnail.png"
  },
  "scene": {
    "parcels": ["0,0", "0,1"],
    "base": "0,0"
  },
  "main": "bin/index.js"
}
シーンへのチップ(creator)

訪問者がシーンの作成者に MANA のチップを送れるようにします。受取人のウォレットアドレスを指定した creator フィールドを追加してください。

{
  "creator": "0x1234567890123456789012345678901234567890"
}

設定すると、訪問者には左上に貯金箱アイコンが表示されます。クリックすると MANA のチップ用モーダルが開きます。アドレスが Decentraland NAME にリンクされている場合、モーダルにその名前が表示されます。作成者にはチップを受け取るたびにアプリ内通知が届きます。Creator Hub → シーンの「Settings」→「Details」→「Creator wallet address」からも設定できます。

スポーン地点

プレイヤーがシーンに入ったときに出現する場所を設定します。

{
  "spawnPoints": [
    {
      "name": "spawn1",
      "default": true,
      "position": { "x": [1, 5], "y": [0, 0], "z": [2, 4] },
      "cameraTarget": { "x": 8, "y": 1, "z": 8 }
    }
  ]
}

位置の範囲(例:[1, 5])を指定すると、範囲内のランダムな場所にプレイヤーが出現します。スポーン時のプレイヤーのカメラの向きは cameraTarget で設定します。

トラブルシューティング

エラー原因解決策
"You don't have permission to deploy"ウォレットが対象の LAND/区画を所有していませんマーケットプレイスで LAND の所有権を確認するか、LAND 所有者からデプロイ権限を取得してください
"Scene is too large"アセットが区画サイズの制限を超えています上記の制限表を参照して、三角形の数、ファイルサイズ、テクスチャの数を確認してください。optimize-scene スキルも参照してください
ウォレットの接続に失敗するブラウザーのポップアップがブロックされているか、MetaMask がロックされていますポップアップを許可し、MetaMask のロックを解除してから、ページを更新して再試行してください
"Invalid scene.json"必須フィールドがないか、JSON の形式が正しくありませんecs7: true、runtimeVersion: "7"、有効な parcels 配列、main: "bin/index.js" を確認してください
デプロイは成功するが、シーンが空ですmain フィールドがコンパイル済みの出力先を指していませんmain が "bin/index.js" であることを確認し、先に npx @dcl/sdk-commands build を実行してください
Catalyst による拒否コンテンツが Decentraland のコンテンツポリシーに違反していますdocs.decentraland.org のコンテンツガイドラインを確認してください
Genesis City と Worlds の比較
Genesis CityWorlds
要件LAND 区画の所有DCL NAME または ENS ドメインの所有
区画の制限適用されます(区画ごとのエンティティ/三角形の上限)LAND による制約はありません
表示場所Genesis City のマップに表示されますPlaces ページに掲載されます(掲載をオプトアウト可能)
デプロイ先デフォルトの Catalyst ネットワーク--target-content https://worlds-content-server.decentraland.org
最適な用途常設設備、アクセス数の多いシーンテスト、個人スペース、イベント

代わりに World にデプロイしますか? deploy-worlds スキルを参照してください。

ベストプラクティス

  • デプロイ前に必ずローカルでプレビューしてください
  • Genesis City のマップ用にサムネイル画像(navmapThumbnail)を使用してください
  • 見つけてもらいやすいよう、分かりやすい説明を書いてください
  • 複数のブラウザータブでテストし、マルチプレイヤーの動作を確認してください
  • シーンの読み込み時間を 15 秒未満にしてください(アセットを最適化してください)

コメント