> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-zh/chang-jing-bian-ji-qi/fa-bu/publish-scene.md).

# 发布场景

如何将你的场景发布到 LAND 或 NAME。

## 开始之前

请确保以下内容：

* 您的场景符合所有 [场景限制](/creator/content-creator-zh/chang-jing-sdk7/you-hua/scene-limitations.md)。其中大多数会在您每次运行场景预览时进行验证。
* 您有一个 [MetaMask](https://metamask.io/) 账户，并且您的 LAND 地块或 NAME 已分配给它。
* 您拥有所需数量的相邻 LAND 地块或一个 Decentraland NAME。否则，您可以在 [Marketplace](https://decentraland.org/marketplace/) 中购买 LAND，或在 [Marketplace](https://decentraland.org/shop/items?category=names).

{% hint style="warning" %}
**📔 注意**：多地块场景只能部署到相邻地块。
{% endhint %}

检查您的 [场景详情](/creator/content-creator-zh/chang-jing-bian-ji-qi/pei-zhi/scene-settings.md#scene-details)，确保您提供了吸引人的名称、描述、缩略图、分类等。

{% hint style="danger" %}
**❗警告**：在规划现场活动时，不要在活动开始前临时对场景进行更改。请至少在活动开始前一小时发布最终版本。

在您更新之前，当前会话中已经加载过该场景的玩家将继续看到该场景的缓存版本。要看到更新后的版本，他们必须关闭并重新进入 Decentraland。
{% endhint %}

## 发布您的场景

要发布您的场景：

1. 在场景编辑器中打开您的场景并点击 **发布**。这会打开一个窗口，显示有关发布的详细信息。
2. 选择是发布到 LAND 还是发布到 WORLD。请参见 [项目类型](/creator/content-creator-zh/chang-jing-sdk7/xiang-mu-lei-xing/kinds-of-project.md) 以更好地理解不同选项。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-a9b358ccf604ec11addf4852ce36c321e35745e0%2Fpublish-options.png?alt=media\&token=8790912e-6224-459d-94da-4d3d86816f2e)

3. 如果发布到 LAND，请在地图上选择位置。您会看到符合条件的地块以红色标记。如果发布到 WORLD，您会在下拉菜单中看到符合条件的 NAME。

{% hint style="info" %}
**💡 提示**：如果您看不到自己的地块或 NAME，请确保您使用正确的用户账户连接到了 Creator Hub。否则，请退出项目并点击右上角的用户设置图标，然后选择 **退出登录** 并重新登录。
{% endhint %}

4. 下一屏将显示您当前正在上传的所有文件及其大小，请确认该操作。
5. 随后发布过程将开始。它分为两个阶段，两个阶段完成后会出现一个 **立即进入** 按钮。

{% hint style="info" %}
**💡 提示**：成功页面还会显示您场景的网页链接，并提供复制按钮。任何人都可以在浏览器中打开该链接，无论他们是否安装了桌面客户端，因此这是可以粘贴到 Discord 消息或活动页面中的链接。它看起来像 `https://decentraland.org/jump?realm=<your-world-name>` 用于 World，或 `https://decentraland.org/jump?position=<x>,<y>` 用于 Genesis City 中的场景。

这个 **立即进入** 按钮是给您自己用的，而不是给观众：它会在您自己的桌面客户端中打开场景，这样您可以检查您的作品。
{% endhint %}

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-0c1d4b674dee7a4aaff9a5f5948d2e09d9697290%2Fdeploy-steps.png?alt=media\&token=51f60318-c95b-4266-afcb-c28eed723e5a)

{% hint style="info" %}
**📔 注意**：部署的两个阶段包括：

* **1. 上传**：将文件上传到服务器。
* **2. 转换**：场景的 3D 模型会被压缩为 Asset Bundles，以便更快渲染。这通常只需要几秒钟。对于非常大的场景，可能需要更久。

Decentraland 的服务器还会生成模型的低细节级别（LOD）版本，用于从远处绘制您的场景。一旦您的场景上线，该任务就会在后台运行，因此发布过程不会等待它完成。
{% endhint %}

## 发布需要多长时间？

* **直到您可以测试它**：从几秒到几分钟不等。它取决于您的场景总大小和上传带宽。两个阶段完成后， **立即进入** 按钮一旦场景可玩就会出现。
* **在现场活动之前**：请至少在活动开始前一小时发布最终版本，以便为任何意外留出余地。

以下因素会使发布更慢：

* **场景总大小**：会同时影响上传和转换。
* **不同 3D 模型的数量和复杂度**：模型会逐个转换。
* **转换服务器有多繁忙**：您的场景可能会排在同时发布的其他场景后面。

## 管理 Worlds

Creator Hub 通过其主面板中的 **管理** 选项卡来支持 World 管理。 **管理** 选项卡允许跟踪和编辑 World。您可以在这里编辑 World 设置、权限和场景。

### World 存储配额

发布到 World 的场景会计入您钱包所拥有的所有 World 共享的存储配额。该配额会随着您的持有量增长：您拥有的每个 Decentraland NAME 或 LAND 地块可获得 100 MB，而您钱包中每持有 2,000 MANA 则可额外获得 100 MB。发布到 ENS 域名的 World 则固定限制为 36 MB。

这个 **管理** 选项卡显示您正在使用多少存储配额。点击 **查看详情** 可查看您的 MANA、LAND 和 NAME 持有量如何累加。

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-7b1de5f880072673f7b2d77945ee63292b5b7e76%2Fworld-storage-budget.png?alt=media" alt="" width="300">

您也可以在 **Worlds** 的 [Builder](https://decentraland.org/builder/worlds).

请参见 [World 大小限制](/creator/content-creator-zh/chang-jing-sdk7/xiang-mu-lei-xing/kinds-of-project.md#size-limits) 了解配额如何计算以及超出时会发生什么。

### World 设置

World Owner 可以通过进入所需 World 的 **设置** 下的 **管理** 面板来编辑其设置，或者在发布过程中通过点击 **设置** 如果 **多场景 World（高级）** 已启用。

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-bb63a11fbdb554c529ac25574c8759d1b3dcd226%2Fworld-manage-settings.png?alt=media" alt="" width="600">

* **详情**：World 的基本信息：
  * World 标题
  * 描述
  * 内容评级
  * 分类

在 **详情** 中添加的信息在发布后会显示在 Decentraland Places 和 World 内的 World 信息中。请注意，如果 World 只包含一个场景，这些详情会在每次发布时被场景的元数据覆盖。请参见 [World 元数据与场景元数据](#world-metadata-vs-scene-metadata) 如下。

* **布局**：仅可在多场景 World 中访问。包含该 World 所有已发布场景的信息。
  * 通过点击三个点并选择 **从 World 中移除**.
  * **World 地图** 显示 World 布局，并标识有内容的地块和剩余的空闲地块。

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-39454de29b1b60186f5efdea84d63d78c647b73e%2Fworld-layout.png?alt=media" alt="" width="600">

* **其他**：其他有用的 World 配置：
  * World 出生坐标：这会设置用户在 World 内出生的地块（X,Y）。该地块中的场景决定用户出生的确切位置（例如，地块 1,1 是 World 出生点，而 1,1 中的场景在 1,0,1 处有一个出生点 **在该场景内**).
  * 天空盒设置

{% hint style="info" %}
**📔 注意**：World 设置仅可由 World Owner（铸造 NAME 的地址）访问。有关如何获得 NAME 的更多详情，请查看 [Marketplace 的 NAME 部分](https://decentraland.org/marketplace/names/claim).
{% endhint %}

### World 元数据与场景元数据

World 和发布到其中的每个场景都有两套独立的元数据。两者都包含名称、描述和缩略图：

* **场景元数据**：属于该场景项目，存储在其 `scene.json` 文件中。您可以通过 [场景设置](/creator/content-creator-zh/chang-jing-bian-ji-qi/pei-zhi/scene-settings.md) 在场景编辑器中编辑它，并且每次发布时都会与场景一起上传。
* **World 元数据**：属于 World 本身。您可以在 World 的 **设置**，在 **管理** Creator Hub 的选项卡中编辑它。这些信息会显示在 Decentraland Places 和 World 内的 World 信息中。

这两者如何关联取决于 World 包含多少个场景：

* **空 World**：当您将场景发布到空 World 时，World 的元数据会从场景元数据中填充。
* **单场景 World**：每次发布场景时，World 的元数据都会更新为与场景元数据一致。
* **多场景 World**：World 的元数据完全独立于其每个场景的元数据。发布场景不会更改 World 的元数据。更改它的唯一方式是通过 World 的 **设置** 中的 **管理** 选项卡。

实际上，如果您的 World 只包含一个场景，您不需要把 World 的元数据视为单独的东西：只需编辑场景设置并发布，World 就会始终反映这些设置。

{% hint style="warning" %}
**📔 注意**：在单场景 World 中，您对 World 的 **设置** 中的 **管理** 选项卡所做的任何更改，都会在您下次发布场景时被场景元数据覆盖。若要让这些更改保留，请改为编辑场景设置。
{% endhint %}

在多场景 World 中，World 的 **设置** 中的 **管理** 选项卡是编辑 World 元数据的唯一位置。

### 多场景 Worlds

一个 World 可以有多个场景，由 World Owner 或其他创作者发布。这能支持协作环境，使每个地块都可由不同的协作者管理。

#### 将 World 设为多场景

World Owner 可以通过切换 **多场景 World（高级）** 来将 World 设为多场景，适用于发布到单场景 World 时。

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-8baacaaf79f2179539df9961b903d1af1f087797%2Fmulti-scene-owner-first-deploy.png?alt=media" alt="" width="600">

一旦多场景 World 发布后，World Owner 就可以发布更多场景，或添加协作者在该 World 内发布。

{% hint style="info" %}
**📔 注意**：多场景 World 的大小会自动调整以容纳所有已发布的场景，在每次发布时动态增减。多场景 World 中不同场景之间留下的空间会被环境填充。
{% endhint %}

#### 向多场景 World 添加协作者

在 **管理** 面板中，World Owner 可以访问该 World 的 **权限** ，方法是点击三个点。World Owner 可以在 **协作者** 选项卡。

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-e9812621dfd6eb0c624791622ad74281b0a25bbf%2Fworld-settings-collaborators.png?alt=media" alt="" width="600">

下管理协作者。协作者可以拥有对所有地块或特定自定义坐标的部署权限。可通过交互式 World 地图选择并确认自定义坐标，类似于 World 设置中的地图。

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-bc1f6c8194c28afc1d0d3ca9866ea71fe49df2d5%2Fmulti-scene-custom-coordinates.png?alt=media" alt="" width="600">

#### 作为协作者部署到多场景 World

World 协作者不能编辑其设置或权限。在 **管理** 选项卡中，创作者可以看到自己所在的 World，但无法访问 **设置** 或 **权限**.

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-e48c7da68cdca099b9345fd8b337f77d40eacadc%2Fworld-manage-collaborator.png?alt=media" alt="" width="600">

在发布过程中，创作者可以选择只发布到自己被授权的地块（由 World Owner 设置）。

在 **协作者** 部分中，如果 World Owner 为创作者设置了 **自定义坐标** ，则只有分配的地块可用于发布。如果访问权限设置为 **所有地块**，创作者就可以选择 World 中任意地块发布其场景。

{% hint style="warning" %}
**📔 注意**：拥有 **所有地块** 发布权限的协作者可以覆盖 world 中的任何场景，即使它是由 Owner 或其他协作者发布的。
{% endhint %}

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-faffdbc6d04d9b63b2e997d3fb9472720e14dd68%2Fmulti-scene-publish-collaborator.png?alt=media" alt="" width="600">

### 私人 World

一个 WORLD 可以有不同的 **访问** 设置。它可以对任何人开放，也可以通过不同方式限制。

#### 设置 WORLD 的访问权限

在 **管理** 面板中，World Owner 可以访问该 World 的 **权限** ，方法是点击三个点。World Owner 可以在 **访问** 选项卡。

**访问类型**

World Owner 可以在三种 **World 访问**:

**公开**

任何人都可以访问该 World。这是 World 的默认设置。

**密码保护**

只有拥有密码的用户才能进入该 World。

密码长度必须至少为 8 个字符，并且至少包含 2 个数字。密码创建后将无法再查看，因此请务必保存副本。

**仅限邀请**

只有在 **已批准地址** 中添加的地址和社区才能访问该 World。

若要向 **已批准地址**添加新地址或社区，请按照以下步骤操作：

1. 点击 **+ 新邀请** 按钮。
2. 您可以通过三种不同方式添加地址：

* **钱包地址**：一次添加一个单独的钱包。
* **社区**：搜索并添加任何公共社区。这会将 **所有社区地址** 添加到 **已批准地址**.

  <img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-f0c84176bbec94ad9f5409b847c483853a970fa7%2Fworld-access-community.png?alt=media" alt="" width="600">
* **导入 CSV**：使用现有的 CSV 文件，其中包含要添加到 **已批准地址**的地址或社区 ID 列表。结构为每行一个钱包，例如：

```
0x3bA7fD92eC4a1F6B8d2E9c5A7b1D3f6C8e4A2d9F
0xA1c9E4b7D2f6C8a3B5e9F1d4A7c2E6b8D3f9C5a1
```

导入后，它会单独跟踪每个地址，如图所示。

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-9552f2e65be4cc8087ea38e5a005e5858ac70b27%2Fworld-access-csv.png?alt=media" alt="" width="600">

3. 确认后，地址已在 **已批准地址**.
4. 使用新的 **+ 新邀请**，地址会被添加到现有列表中，帮助 World Owner 根据需要管理并扩展该列表。

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-094bf2e664f45a4618dc31ebd221a514f1fa9327%2Fworld-access-all.png?alt=media" alt="" width="600">

5. 可以通过选择 **删除** 中的三个点上的 **已批准地址** 部分来移除单个地址或一组地址（在社区的情况下）。

{% hint style="warning" %}
**📔 注意**：如果您将 **访问** 类型从 **仅限邀请**更改为 **已批准地址** ，您的列表将被移除。请务必保留副本，以备将来需要。
{% endhint %}

#### 进入私人 World

如果用户进入一个没有 **公开** 访问权限的 World，会有不同情况：

* 他们在 **已批准地址**中的地址：可以正常加入。否则，他们会收到该 World 是 **仅限邀请**.

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-fcdb2aa86495de97a3a1ef1edf4bcfe72b28e39f%2Fworld-invitation-only-modal.png?alt=media" alt="" width="300">

* 该 World 是 **密码保护**：用户可以输入密码。最大尝试次数为十（10）次。

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-3a5d3989994f31bc075862fd7d7bc280f78d6860%2Fworld-password-modal.png?alt=media" alt="" width="300">

## 使用硬件钱包发布

与其将您的 LAND 代币存储在 Metamask 账户中，您也许会觉得将它们存储在硬件钱包设备中更安全，例如 [Ledger](https://www.ledger.com/) 或 [Trezor](https://trezor.io/)，它们会物理连接到您的电脑。

如果您使用这些设备之一，您可以将硬件钱包连接到 Metamask，以启用消息签名，同时让代币更安全。请参见 [这篇来自 Metamask 的文章](https://support.metamask.io/more-web3/wallets/how-to-connect-a-trezor-or-ledger-hardware-wallet/) 以了解如何连接您的账户。

一旦您的硬件钱包可以通过 Metamask 使用，您就可以按照与代币存放在 Metamask 账户中相同的步骤进行部署。

## 场景覆盖

当部署新场景时，它会覆盖其占据的地块上原有的较旧内容。

发布通常会立即开始。如果您即将替换 World 中已存在的内容，Creator Hub 会先要求您确认，并提供一个 **不再显示** 选项。

如果一个占用多个地块的场景只被另一个场景部分覆盖，那么它的所有地块都会被覆盖或擦除。

假设您部署了场景 *A* ，占用两个地块 *\[100, 100]* 和 *\[100, 101]*。然后您把地块 *\[100, 101]* 卖给一个拥有相邻土地的用户，而该用户部署了一个大型场景（*B*）到多个地块，包括 *\[100, 101]*.

您的场景 *A* 无法只在一个地块中部分渲染，因此 *\[100, 100]* 将不会显示任何内容。您必须构建场景 *A* 的新版本，该版本只占用一个地块，并将其仅部署到地块 *\[100, 100]*.

## 向获批土地发布

如果您要发布到由 Decentraland Foundation 拥有、并通过资助授予您的土地，请正常点击 **发布** 按钮，然后选择 **发布到不同服务器** 在底部。然后从下拉菜单中选择 **自定义服务器** 并输入以下服务器地址： `https://linker-server.decentraland.org`.

{% hint style="warning" %}
**📔 注意**：您必须先在 Layout 设置的高级选项卡中手动设置场景坐标。更多信息请参见 [场景设置](/creator/content-creator-zh/chang-jing-bian-ji-qi/pei-zhi/scene-settings.md#layout) 。
{% endhint %}

## 自定义服务器

您可以将内容部署到不属于官方 DAO 维护的催化器服务器网络的自定义服务器。为此，您不需要拥有任何 LAND 或 NAME 代币，因为您可以配置服务器使用您喜欢的任何验证逻辑来控制谁可以在何处部署。自定义服务器可以选择使用来自官方服务器的内容供您覆盖，或者从空白开始，发布全新的内容。

要发布到自定义服务器，请点击 **发布** 按钮，然后选择 **发布到不同服务器** 在底部。然后从下拉菜单中选择 **自定义服务器** ，然后从下拉菜单中输入服务器地址。

请参见 [如何运行您自己的 Catalyst 节点](https://docs.decentraland.org/contributor/tutorials/how-to-run-a-catalyst/) 以了解有关您自己的服务器可以做什么以及如何设置它的更多信息。

{% hint style="warning" %}
**📔 注意**：玩家需要手动输入一个 URL 才能访问您的自定义服务器。某些来自 [奖励服务器](/creator/content-creator-zh/jiang-li/getting-started.md) 等服务的验证在这些情况下可能会失败，因为这些服务通常要求请求来自官方服务器。
{% endhint %}

玩家绝不会被指向此服务器，访问它的唯一方式是明确输入 URL 进行连接。

## 验证部署成功

一旦您部署了场景，这些更改可能需要几分钟才能上传并处理。如果您在部署后立即进入 Decentraland，可能会短暂看到您内容的先前版本。

Creator Hub 会在发布通过 **上传** 和 **转换** 阶段时显示其进度，并会在场景可玩时显示一个 **立即进入** 按钮。

### 检查转换状态

在新版本的 3D 模型正在转换时，玩家会被刻意提供您场景最后一个完全可用的版本。如果转换最多只需几分钟；如果花费更久，可能意味着某些地方失败了。

您可以在浏览器中直接查询转换状态：

* `https://asset-bundle-registry.decentraland.org/entities/status/<pointer>`：将 `<pointer>` 替换为您场景坐标之一（例如 `20,-34`）或部署的实体 ID。响应会在 `assetBundles`下显示每个平台的转换状态，并在 `lods`下显示 LOD 的状态。当 `complete` 为 `true`时，场景已针对所有平台完全转换。对于 World 中的场景，请将 World 名称作为查询参数添加，例如 `.../entities/status/0,0?world_name=myname.dcl.eth`.
* `https://asset-bundle-registry.decentraland.org/queues/status`：按平台列出当前等待转换的所有场景 ID。如果您的实体 ID 出现在这里，说明您的场景正排在其他转换任务后面，您只需再稍等片刻。

{% hint style="warning" %}
**📔 注意**：如果您在 Decentraland explorer 中已经打开了并加载了场景的会话，您需要关闭并重新打开应用。否则您会一直看到缓存版本。
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.decentraland.org/creator/content-creator-zh/chang-jing-bian-ji-qi/fa-bu/publish-scene.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
