Publicación
¿Cómo publicar mi proyecto?
Antes de comenzar
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 último minuto 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 se complete, la escena puede aparecer dañada. Este proceso se ejecuta incluso si los modelos 3D ya se publicaron anteriormente.
Comprobar 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 bajo el minimapa, cada vez que los jugadores entran en tu escena. También aparece 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 (Suroeste).
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). Úsalo para iniciar a los jugadores en una ubicación específica, o establece una región para evitar que los jugadores se superpongan 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 encontrar 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 Adolescentes oApara Adultos). Ayuda a filtrar contenido para los jugadores.
📔 Nota: Ver metadatos de la escena 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 proporciona una forma sencilla de publicar tus escenas. Asegúrate de que has instalado el Creator Hub.
Abre el proyecto de tu escena.
Haz clic en el Publish botón en la esquina superior derecha.
Aparecerá un mensaje preguntando si quieres publicar en un WORLD o en LAND.
Selecciona PUBLISH TO WORLD para hacer tu escena 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 dado permisos de despliegue por parte de 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 pruebas o en 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 navegador Metamask, 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.
**💡 Tip**: Si hay archivos en la carpeta de tu proyecto que no quieres desplegar, enuméralos en el archivo _.dclignore_ antes de desplegar.
Se abrirá una pestaña del navegador, mostrando en qué parcelas 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.
💡 Tip: Si estás implementando un flujo de integración continua, donde los cambios en tu escena se despliegan automáticamente, entonces puedes establecer la variable de entorno export DCL_PRIVATE_KEY a la clave privada de una cuenta que tenga permisos de despliegue.
💡 Tip: npm run deploy ejecuta un npm run build, que comprueba la escena en busca de errores de tipo más estrictamente que ejecutar npm run start. Si estos errores no pueden evitarse (por ejemplo: ocurren en una librería externa) y no impactan la escena, puedes usar npm run deploy --skip-build para omitir el npm run build paso y desplegar la escena tal como está.
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 hará tu despliegue. Añade 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 mediante 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 parcela (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
Optar por no listar en Places
Si deseas optar por que tus Worlds no sean indexados en Places, puedes añadir la siguiente sección en tu scene.json:
Usando el Scene Editor en Creator Hub
Abre el proyecto de tu 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 pedirá firmar el despliegue con tu wallet y se ejecutará un conjunto de validaciones para permitir o rechazar la escena.
Acceder a un World
Una vez que una escena se carga en el servidor de Worlds, puedes acceder a ella usando el Decentraland Explorer con la siguiente URL: decentraland://?realm=NAME.dcl.eth, donde NAME debe sustituirse 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 el chat.
Consulta Make discoverable 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 redeplegando tu escena en la red descentralizada Catalyst, que es el servidor de contenido para Genesis City.
Cosas a recordar:
Elimina la
worldConfigurationsección descene.jsonLa limitación de tamaño para Worlds (dinámica según las participaciones) es diferente a la de las parcelas de LAND (15MB por parcela), ¡así que asegúrate de que tu escena tiene el tamaño correcto para despliegues en Genesis City!
Publicar desde una hardware wallet
En lugar de almacenar tus tokens de LAND en una cuenta Metamask, puede resultarte más seguro almacenarlos en un dispositivo hardware wallet, como un Ledger o en un Trezor, que esté físicamente conectado a tu computador.
Si usas uno de estos dispositivos, puedes vincular la 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 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 solo es sobrescrita parcialmente por otra, todas sus parcelas se sobrescriben o se borran.
Supongamos que desplegaste tu escena A en dos parcelas [100, 100] y [100, 101]. Entonces 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, por lo que [100, 100] no mostrará ningún contenido. Debes construir una nueva versión de la escena A que ocupe solo una parcela y desplegarla únicamente 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 forma 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 vincula estos assets al parcel de LAND especificado en tu scene.json archivo. Siempre que redeployes 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 pruebas
Puedes desplegar contenido al servidor catalyst de prueba para ejecutar pruebas completas con múltiples usuarios, las escenas circundantes y un entorno idéntico al de producción. El servidor de pruebas es idéntico a todos los demás servidores catalyst. La diferencia es que el contenido desplegado en este servidor no se propaga a los demás. Sin embargo, el contenido desplegado en otros servidores sí se propaga a este servidor, por lo que las escenas circundantes deberían verse como en producción.
📔 Nota: Para desplegar en parcelas en el servidor de pruebas, 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 estás trabajando en un proyecto confidencial que no quieres revelar hasta el lanzamiento, ten en cuenta que el servidor de pruebas está relativamente oculto para los jugadores, pero cualquiera que use explícitamente la URL del servidor de pruebas podría potencialmente acceder a él.
Vía la CLI
Para desplegar en el servidor de pruebas, 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 hacerlo, no necesitas poseer ningún token LAND o NAME, ya que puedes configurar el servidor para usar cualquier lógica de validación que prefieras para controlar quién puede desplegar dónde. Los servidores personalizados pueden optar por incluir contenido de los servidores oficiales (que puedes sobrescribir), o empezar desde cero y publicar contenido completamente nuevo.
Consulta 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 deberán escribir 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 solicitud provenga de un servidor oficial.
Los jugadores nunca son dirigidos a este servidor; la única forma de acceder a él es escribir 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 se aloje.
Verificar éxito del despliegue
Una vez que despliegues tu escena, estos cambios tardarán unos minutos en propagarse por los distintos servidores de contenido en la red. Si entras a Decentraland justo después de desplegar, podrías aún ver la versión anterior de tu contenido, dependiendo del realm al que entres.
Después de que firmes para autorizar el despliegue de tu escena, la dapp de firma comenzará 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 conforman la red de contenido de Decentraland. Para cada servidor, se especifica la marca de tiempo del último cambio subido en esa parcela. Cada servidor se refiere a un realm diferente. Puedes ver cómo estos nombres de servidor se mapean a los nombres de realm en la pantalla del 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 un \ al inicio de las coordenadas para evitar que el carácter - sea malinterpretado por la línea de comandos.
Despliegues automáticos
Si con regularidad 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 en Decentraland.
Importante: Para que este proceso se ejecute, debes establecer la clave privada de una wallet como variable de entorno en GitHub, la cual se usa 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 esta clave privada se filtra alguna vez, puedes revocar fácilmente esos derechos de operador de la cuenta y configurar una nueva wallet.
Última actualización