Publicación
¿Cómo publicar mi proyecto?
Antes de empezar
Asegúrate de lo siguiente:
Tu escena cumple con todas las limitaciones de la escena. La mayoría de estas se validan cada vez que ejecutas una vista previa de tu escena.
Tienes una Metamask cuenta, con tus parcelas de LAND asignadas a ella.
❗Advertencia: Al planear eventos en vivo, asegúrate de no hacer cambios de última hora en la escena justo antes del evento.
Después de cada publicación, un proceso interno optimiza todos los modelos 3D antes de que puedan renderizarse. Esto tarda alrededor de 15 minutos. Si visitas la escena antes de que esto termine, la escena puede aparecer rota. Este proceso se ejecuta incluso si los modelos 3D ya fueron publicados anteriormente.
Verificar datos de la escena
Al desplegar, la CLI lee información del scene.json archivo para determinar dónde desplegar tu escena.
Abre el scene.json archivo de tu escena y completa los siguientes datos:
title: El título se muestra en la UI debajo del minimapa, cada vez que los jugadores entran en tu escena. También se muestra en el popup de teletransporte.
description: Una descripción de lo que los jugadores encontrarán en tu escena. Esto se muestra en el popup de teletransporte.
navmapThumbnail: Una imagen que representa tu escena. Esto se muestra en el popup de teletransporte. La imagen debe ser un .png o .jpg imagen de un tamaño recomendado de 228x160 píxeles.
Parcels: Las coordenadas de las parcelas que serán ocupadas por tu escena
Base: Las coordenadas de la parcela que se considerará la coordenada [0,0] de la escena. Si tu escena tiene múltiples parcelas, debe ser la parcela inferior izquierda (South-West).
spawnPoints: Un conjunto de coordenadas dentro de la escena (relativas a la parcela base de la escena) donde los jugadores aparecen. Por defecto los jugadores aparecen en la 0,0,0 ubicación de la escena (esquina inferior izquierda). Usa esto para iniciar a los jugadores en una ubicación específica, o establece una región para evitar que los jugadores se solapen entre sí cuando aparecen por primera vez.
tags: Un conjunto de etiquetas que describen tu escena. Estas ayudan a los jugadores a explorar Decentraland facilitando la búsqueda de contenido que les interese. Consulta la lista de etiquetas disponibles.
rating: Esto se usa para clasificar el contenido de tu escena según su idoneidad para diferentes grupos de edad (
Tpara Teens oApara Adults). Ayuda a filtrar el contenido para los jugadores.
📔 Nota: Ver scene metadata para más detalles sobre cómo establecer estos parámetros.
Para publicar la escena
Usando el Scene Editor en Creator Hub
El Scene Editor en Creator Hub ofrece una forma fácil de publicar tus escenas. Asegúrate de haber hecho clic en el instalado el Creator Hub.
Abre tu proyecto de escena.
Haz clic en el Publish botón en la esquina superior derecha.
Se mostrará un aviso preguntando si deseas publicar en un WORLD o en LAND.
Selecciona PUBLISH TO WORLD para que tu escena esté disponible en uno de tus WORLDs. Luego selecciona a cuál de tus NAMEs o dominios ENS publicar.
Selecciona PUBLISH TO LAND si eres propietario de LAND, o te han otorgado permisos de despliegue por un propietario. Luego selecciona las parcelas donde quieres desplegarla en el mapa. Las parcelas donde tienes permiso para desplegar se muestran en rosa.
Selecciona Servidores alternativos para publicar en el servidor de prueba o un servidor personalizado.

Esto abre una nueva pestaña en tu navegador, mostrando detalles sobre la subida. Aprueba la transacción.
Para LAND en una cuenta de Metamask en el navegador, confirma el despliegue. Luego aprueba la transacción en la extensión de Metamask del navegador.
Para LAND vinculado a una wallet que puedes usar vía Wallet Connect, haz clic en Connect wallet, luego escanea el código QR con tu dispositivo móvil y sigue los pasos en Wallet Connect.
Vía la CLI
Inicia sesión en tu cuenta de Metamask con la misma dirección pública asociada a tus parcelas en Decentraland.
Ejecuta
npm run deploydesde la carpeta de la escena.
Se abrirá una pestaña del navegador, mostrando a qué parcelas te estás desplegando. Haz clic en Sign and Deploy.
Metamask se abre, notificándote que se solicita tu firma. Haz clic en Sign para confirmar esta acción.
Publicar en Worlds
Para publicar tu escena en un Decentraland World, necesitas poseer un Decentraland NAME o un dominio ENS. Consulta Publishing Options para información sobre cómo obtener uno.
Configurar scene.json
Necesitas especificar bajo qué name se realizará tu despliegue. Agrega la siguiente sección en tu scene.json:
El name especificado en el scene.json puede ser un Decentraland NAME o un dominio ENS. Debe ser propiedad de la wallet que firma el despliegue, o de cualquier wallet a la que se le haya dado permiso vía Access Control Lists (ACL).
Ten en cuenta lo siguiente:
La wallet que firma el despliegue debe poseer el NAME especificado en el
scene.jsonarchivoLa escena no tiene limitaciones de parcelas (desde enero de 2023)
Todos los Worlds se listan automáticamente en la página Places a menos que optes por no hacerlo como se detalla a continuación
Opt-out de la lista en Places
Si deseas excluir tus Worlds de ser indexados en Places, puedes añadir la siguiente sección en tu scene.json:
Usando el Scene Editor en Creator Hub
Abre tu proyecto de escena.
Haz clic en el Publish botón en la esquina superior derecha.
Selecciona PUBLISH TO WORLD.
Selecciona a cuál de tus NAMEs o dominios ENS publicar.
Vía la CLI
Usa el siguiente comando:
Una vez que ejecutes el comando, se te solicitará firmar el despliegue con tu wallet y se ejecutará un conjunto de validaciones para permitir o rechazar la escena.
Accediendo a un World
Una vez que una escena está subida al servidor de Worlds, puedes acceder a ella usando el Decentraland Explorer con la siguiente URL: decentraland://?realm=NAME.dcl.eth, donde NAME debe ser reemplazado por el Decentraland NAME o dominio ENS al que desplegaste.
Con Decentraland ya abierto, también puedes saltar a un world escribiendo el /goto NAME.dcl.eth comando en la caja de chat.
Vea Hacer descubrible para más información sobre cómo hacer tu World descubrible.
Migrar un World a Genesis City
Si eres propietario de LAND y deseas desplegar una escena World en Genesis City, puedes hacerlo redeployando tu escena a la red descentralizada Catalyst, que es el servidor de contenido para Genesis City.
Cosas a recordar:
Elimina la sección
worldConfigurationdescene.json¡La limitación de tamaño para Worlds (dinámica según tenencias) es diferente a la de parcelas LAND (15MB por parcela), así que asegúrate de que tu escena tenga el tamaño correcto para despliegues en Genesis City!
Publicar desde un hardware wallet
En lugar de almacenar tus tokens LAND en una cuenta de Metamask, puede ser más seguro guardarlos en un dispositivo hardware wallet, como un Ledger o un Trezor, que esté físicamente conectado a tu ordenador.
Si usas uno de estos dispositivos, puedes vincular el hardware wallet a Metamask para habilitar la firma de mensajes, manteniendo los tokens más seguros. Consulta este artículo de Metamask para instrucciones sobre cómo conectar tu cuenta.
Una vez que tu hardware wallet pueda usarse vía Metamask, puedes desplegar siguiendo los mismos pasos que si tus tokens estuvieran en una cuenta de Metamask.
Sobrescritura de escenas
Cuando se despliega una nueva escena, sobrescribe el contenido anterior que existía en las parcelas que ocupa.
Si una escena que ocupa múltiples parcelas es sobrescrita solo parcialmente por otra, todas sus parcelas son ya sea sobrescritas o borradas.
Supongamos que desplegaste tu escena A en dos parcelas [100, 100] y [100, 101]. Luego vendes la parcela [100, 101] a un usuario que posee tierra adyacente y ese despliega una escena grande (B) en varias parcelas, incluyendo [100, 101].
Tu escena A no puede renderizarse parcialmente en solo una parcela, así que [100, 100] no mostrará ningún contenido. Debes crear una nueva versión de la escena A que solo ocupe una parcela y desplegarla solo en la parcela [100, 100].
Qué son los servidores de contenido
Los servidores de contenido son una red de servidores propiedad de la comunidad con un sistema de archivos direccionado por contenido, lo que significa que cada archivo se identifica por su contenido, no por un nombre de archivo arbitrario.
Usamos los servidores de contenido para alojar y distribuir todo el contenido de las escenas de manera similar a BitTorrent, manteniendo la red de Decentraland distribuida.
Los servidores de contenido almacenan y distribuyen todos los assets requeridos para renderizar tus escenas.
El
npm run deployel comando enlaza estos assets con la parcela de LAND especificada en tu scene.json archivo. Cada vez que redeployas tu escena, la CLI actualizará tu smart contract de LAND, si es necesario, para apuntar al contenido más reciente disponible en los servidores de contenido.
La información en cada copia del servidor es verificable, ya que cada escena está firmada por el hash del propietario del LAND. Esto significa que alguien que aloje una copia del servidor no podrá manipular el contenido para mostrar algo ilegítimo. La comunidad también puede votar para aprobar o eliminar cualquiera de estos servidores usando la DAO.
El servidor de prueba
Puedes desplegar contenido en el servidor catalyst de prueba para realizar pruebas completas con múltiples usuarios, las escenas circundantes y un entorno idéntico al de producción. El servidor de prueba es idéntico a los demás servidores catalyst. La diferencia es que el contenido desplegado en este servidor no se propaga a los otros. Sin embargo, el contenido desplegado en otros servidores sí se propaga a este servidor, por lo que las escenas circundantes deberían verse como se verán en producción.
📔 Nota: Para desplegar en parcelas en el servidor de prueba, debes tener los mismos permisos requeridos para desplegar en esas parcelas en la red principal.
Los jugadores nunca son dirigidos a este servidor; la única forma de acceder a él es proporcionando explícitamente un parámetro URL para conectarse a él.
Si trabajas en un proyecto confidencial que no quieres desvelar hasta el lanzamiento, ten en cuenta que el servidor de prueba está relativamente oculto para los jugadores, pero cualquiera que use explícitamente la URL del servidor de prueba podría potencialmente entrar en él.
Vía la CLI
Para desplegar en el servidor de prueba, ejecuta:
npm run deploy -- --target peer-testing.decentraland.org
Para entrar al servidor de contenido, añade &CATALYST=peer-testing.decentraland.org a la URL de Decentraland
https://play.decentraland.org/?CATALYST=peer-testing.decentraland.org
Servidores personalizados
Puedes desplegar contenido en un servidor personalizado que no pertenezca a la red oficial de servidores catalyst mantenida por la DAO. Para hacer esto, no necesitas poseer ningún token LAND o NAME, ya que puedes configurar el servidor para usar la lógica de validación que prefieras para controlar quién puede desplegar dónde. Los servidores personalizados pueden elegir incluir contenido de los servidores oficiales (que puedes sobrescribir), o empezar desde cero y publicar contenido completamente nuevo.
Vea Cómo ejecutar tu propio Catalyst Node para más información sobre lo que puedes hacer con tu propio servidor y cómo configurarlo.
📔 Nota: Los jugadores necesitarán teclear manualmente una URL para acceder a tu servidor personalizado. Ciertas validaciones de servicios como el rewards server o el quests server podrían fallar en estos contextos, ya que a menudo estos servicios requieren que la petición provenga de un servidor oficial.
Los jugadores nunca son dirigidos a este servidor; la única forma de acceder a él es tecleando explícitamente la URL para conectarse a él.
Vía la CLI
Para desplegar en un servidor personalizado, ejecuta:
npm run deploy -- --target <CUSTOM SERVER DOMAIN>
La URL para entrar a tu escena desplegada en tu servidor personalizado dependerá del dominio donde esté alojada.
Verificar el éxito del despliegue
Una vez que desplegaste tu escena, estos cambios tardarán unos minutos en propagarse por los distintos servidores de contenido de la red. Si entras en Decentraland justo después de desplegar, es posible que aún veas la versión anterior de tu contenido, dependiendo del realm al que entres.
Después de que firmas para autorizar el despliegue de tu escena, la dapp de firma empezará a mostrar confirmaciones de que la nueva versión de tu contenido se ha propagado por todos los servidores de la red.
Verás una lista de cada uno de los servidores que forman la red de contenido de Decentraland. Para cada servidor, se especifica la marca de tiempo del último cambio subido en esa parcela. Cada servidor corresponde a un realm diferente. Puedes ver cómo estos nombres de servidores se mapean a nombres de realm en la pantalla de monitor de catalyst.
También puedes obtener esta información en cualquier momento ejecutando el siguiente comando en la consola de línea de comandos:
npx @dcl/opscli pointer-consistency --pointer 0,0
📔 Nota: Usa las coordenadas de tu escena en lugar de 0,0. Si tu escena tiene múltiples parcelas, cualquiera de sus parcelas producirá la misma salida. Si las coordenadas comienzan con un número negativo, añade una \ al inicio de las coordenadas para evitar que el carácter - sea malinterpretado por la línea de comandos.
Despliegues automáticos
Si regularmente haces cambios en el contenido de tu escena y quieres implementar una canalización de publicación optimizada, puedes automatizar el despliegue de tu escena mediante una acción de GitHub.
Para ello, primero debes almacenar tu escena en un proyecto de GitHub. Luego puedes configurar una GitHub action con el siguiente script, que se ejecuta cada vez que hay un merge a la rama main . El script instala las dependencias, construye el proyecto y luego lo despliega a Decentraland.
Importante: Para que este proceso se ejecute, debes establecer la clave privada de una wallet como una variable de entorno en GitHub, que se utiliza para firmar el despliegue. Como siempre, ten mucho cuidado al mantener las claves privadas seguras. NO uses la clave privada de la cuenta que realmente posee los tokens de land, ya que eso supondría riesgos de seguridad significativos. En su lugar, delega derechos de operador a una wallet desechable que no posea tokens valiosos. Si alguna vez se filtra esta clave privada, puedes revocar fácilmente esos derechos de operador de la cuenta y configurar una nueva wallet.
Última actualización