> 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. 在 Scene Editor 中打开你的场景，然后点击 **发布**。这会打开一个显示发布详情的窗口。
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. 随后发布流程将开始。它分为两个阶段，两个阶段都完成后会出现一个 **进入** 按钮。 ![](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 可通过其 **管理** 主面板中的选项卡。该 **管理** 选项卡可用于跟踪和编辑世界。从这里，你可以编辑世界设置、权限和场景。

### 世界存储预算

发布到世界中的场景会计入一个存储预算，该预算由你的钱包所拥有的所有世界共享。预算会随着你的持有量增长：你拥有的每个 Decentraland NAME 或 LAND 区块都会提供 100 MB，而你钱包中每持有 2,000 MANA 会额外提供 100 MB。发布到 ENS 域名的世界则有固定的 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).

参见 [Worlds 大小限制](/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 元数据与场景元数据](#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 的 NAMEs 部分](https://decentraland.org/marketplace/names/claim).
{% endhint %}

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

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

* **场景元数据**：属于场景项目，存储在其 `scene.json` 文件中。你可以通过 [场景设置](/creator/content-creator-zh/chang-jing-bian-ji-qi/pei-zhi/scene-settings.md) 在 Scene Editor 中对其进行编辑，并且每次发布时都会与场景一起上传。
* **世界元数据**：属于世界本身。你可以在该世界的 **设置**，在 **管理** 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 的访问权限

在 **管理** 面板，世界所有者可以访问该世界的 **权限** ，方法是点击三个点。世界所有者可以在 **访问** 选项卡中。

**访问类型**

世界所有者可以选择三种 **世界访问**:

**公开**

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

**密码保护**

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

密码必须至少 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`，以及 LOD 的状态在 `lods`。当 `complete` 为 `true`时，场景已在所有平台上完全转换。对于世界中的场景，请添加世界名称作为查询参数，例如 `.../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 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.
