> 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。否则，你可以在 [市场](https://decentraland.org/marketplace/) 购买 LAND，或者在 [市场](https://decentraland.org/shop/items?category=names).

{% hint style="warning" %}
**📔 注意**购买 NAME：多地块场景只能部署到相邻地块。
{% 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)

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

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

4. 下一屏会显示你当前正在上传的所有文件及其大小，请确认操作。
5. 随后将开始发布流程。各阶段 **1** 和 **2** 是让你的场景可玩所必需的，完成后会出现一个 **立即进入** 按钮。你无需等待 **第 3 阶段** 完成后再试用你的场景。 ![](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)

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

* **1. 上传**：将文件上传到服务器。
* **2. 转换**：场景的 3D 模型会被压缩为 Asset Bundles，以便更快渲染。通常只需几秒钟。对于非常大的场景，可能需要更久。
* **3. 优化**：会生成资产的低细节层级（LOD）版本。这些只用于从远处渲染你的场景，这意味着你无需等它完成就可以进入并测试你的场景。
  {% endhint %}

## 发布需要多长时间？

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

以下因素可能会让发布变慢：

* **场景总大小**：会影响上传和转换两个环节。
* **不同 3D 模型的数量和复杂度**：模型会逐个转换。
* **转换服务器的繁忙程度**：你的场景可能会排在其他同一时间左右发布的场景后面。

## 管理 Worlds

Creator Hub 可通过其主面板中的 **管理** 选项卡进行世界管理。 **管理** 选项卡可用于追踪和编辑世界。在这里，你可以编辑世界设置、权限和场景。

### 世界存储预算

发布到 Worlds 的场景会计入一个存储预算，该预算由你钱包所拥有的所有 Worlds 共享。你的持有量越多，预算越大：每拥有一个 Decentraland NAME 或一个 LAND 地块，可获得 100 MB；钱包中每持有 2,000 MANA，可额外获得 100 MB。发布到 ENS 域名的 Worlds 则有固定的 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) 中查看剩余预算，了解预算如何计算，以及超出预算会发生什么。

### 世界设置

世界所有者可以通过进入目标世界的 **设置** 下的 **管理** 面板来编辑其设置，或者在发布过程中点击 **设置** ，也可以访问这些设置，如果 **多场景世界（高级）** 已启用。

<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">

* **详情**：世界的一般信息：
  * 世界标题
  * 描述
  * 内容分级
  * 类别

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

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

<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">

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

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

### 世界元数据与场景元数据

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

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

这两者之间的关系取决于世界包含多少个场景：

* **空世界**：当你将一个场景发布到空世界时，世界的元数据会根据场景的元数据进行填充。
* **单场景世界**：每次你发布该场景时，世界的元数据都会更新为与场景元数据一致。
* **多场景世界**：世界的元数据与其各个场景的元数据完全独立。发布场景永远不会改变世界的元数据。更改它的唯一方式是通过世界的 **设置** 在 **管理** 选项卡中。

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

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

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

### 多场景世界

一个世界可以包含多个场景，这些场景可由世界所有者或其他创作者发布。这实现了协作环境，其中每个地块都可以由不同的协作者管理。

#### 将世界设为多场景

世界所有者可以通过切换 **多场景世界（高级）** ，将单场景世界设为多场景。

<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">

一旦多场景世界发布，世界所有者就可以继续发布额外的场景，或添加协作者在该世界内发布。

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

#### 向多场景世界添加协作者

在 **管理** 面板中，世界所有者可以通过点击三个点访问世界的 **权限** 。世界所有者可以在 **协作者** 选项卡中。

<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">

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

<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">

#### 作为协作者向多场景世界部署

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

<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">

在发布流程中，创作者可以选择仅发布到自己作为协作者的地块（如世界所有者所设置）。

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

{% hint style="warning" %}
**📔 注意**：拥有 **所有地块** 发布权限的协作者可以覆盖世界中的任何场景，即使该场景是由所有者或其他协作者发布的。
{% 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 访问**:

**公开**

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

**密码保护**

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

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

**仅限邀请**

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

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

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. 通过新的 **+ 新邀请**，地址会被添加到现有列表中，帮助世界所有者在需要时管理并扩展该列表。

<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 %}

#### 进入私有世界

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

* 他们在 **已批准地址**中的地址：将能够正常加入。如果没有，他们会收到该世界是 **仅限邀请**.

<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">

* 该世界是 **密码保护**：用户将能够输入密码。最大尝试次数为十（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 账户中相同的步骤进行部署。

## 场景覆盖

当一个新场景被部署时，它会覆盖它所占用地块上的旧内容。

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

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

假设你将场景部署在 *一个* 两个地块上 *\[100, 100]* 和 *\[100, 101]*。然后你把地块 *\[100, 101]* 卖给一位拥有相邻土地并部署了一个大型场景（*B*）到多个地块的用户，其中包括 *\[100, 101]*.

你的场景 *一个* 无法只在一个地块中部分渲染，因此 *\[100, 100]* 不会显示任何内容。你必须创建场景 *一个* 的新版本，使其只占用一个地块，并仅部署到地块 *\[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 状态。当 `完成` 为 `真`时，说明场景已为所有平台完全转换。对于世界中的场景，请添加世界名称作为查询参数，例如 `.../entities/status/0,0?world_name=myname.dcl.eth`.
* `https://asset-bundle-registry.decentraland.org/queues/status`：列出当前等待转换的所有场景 ID，按平台分别显示。如果你的实体 ID 出现在这里，说明你的场景排在其他转换任务后面，你只需要再稍等一会儿。

{% hint style="warning" %}
**📔 注意**：如果你在 Decentraland 浏览器中已经打开了一个会话，并且已加载了你的场景，你需要关闭并重新打开应用。否则你会一直看到缓存版本。
{% 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
