Publicación
¿Cómo publicar mi proyecto?
Antes de comenzar
Asegúrate de lo siguiente:
Tu scene cumple con todas las limitaciones de scene. La mayoría de estas se validan cada vez que ejecutas un preview de tu scene.
Si quieres que tu scene funcione bien para jugadores móviles, pruébala primero en un dispositivo real — consulta Building for Mobile y Preview on mobile. Una vez publicada, tu scene es accesible desde la app móvil de Decentraland de la misma manera que desde desktop.
Tienes una Metamask account, con tus parcelas de LAND asignadas a ella.
Posees la cantidad necesaria de parcelas de LAND adyacentes o un Decentraland NAME. De lo contrario, puedes comprar LAND en el Mercado o un NAME en el Marketplace.
**📔 Nota**: Las scenes de múltiples parcels solo pueden desplegarse en parcels adyacentes.
❗Advertencia: Cuando planifiques eventos en vivo, no hagas cambios de último minuto en la scene justo antes del evento. Publica tu versión final al menos 2 horas antes de que empiece el evento.
Después de cada publish, un proceso interno optimiza todos los modelos 3D antes de que puedan renderizarse. Esto suele tardar unos 15 minutos, pero puede tardar más cuando los servers están ocupados. Si visitas la scene antes de que termine, la scene puede aparecer rota. Este proceso se ejecuta incluso si todos los modelos 3D ya se habían publicado anteriormente.
Verifica los datos de la scene
Al desplegar, la CLI lee la información del scene.json archivo para determinar dónde desplegar tu scene.
Abre el scene.json archivo de tu scene y completa los siguientes datos:
title: El title se muestra en la UI debajo del mini-map cada vez que los players entran en tu scene. También se muestra en el popup de teleport.
description: Una description de lo que los players encontrarán en tu scene. Se muestra en el popup de teleport.
navmapThumbnail: Una imagen que representa tu scene. Se muestra en el popup de teleport. La imagen debe ser una .png o .jpg imagen de un tamaño recomendado de 228x160 píxeles.
Parcels: Las coordenadas de los parcels que ocupará tu scene
Base: Las coordenadas del parcel que se considerará la coordenada [0,0] de la scene. Si tu scene tiene múltiples parcels, debe ser el parcel inferior izquierdo (suroeste).
spawnPoints: Un conjunto de coordenadas dentro de la scene (relativas al parcel base de la scene) donde aparecen los players. Por defecto, los players aparecen en la 0,0,0 ubicación de la scene (esquina inferior izquierda). Úsalo para iniciar a los players en una ubicación específica, o establece una región para evitar que los players se superpongan entre sí cuando aparezcan por primera vez.
tags: Un conjunto de tags que describen tu scene. Ayudan a los players a explorar Decentraland, facilitando encontrar contenido que les interese. Consulta la lista de categorías disponibles.
rating: Esto se usa para clasificar el contenido de tu scene. Decentraland es una plataforma para mayores de 18 años, así que el valor que debes establecer es
Apara Adults. Consulta Clasificación por edad.
📔 Nota: Consulta metadatos de la scene para más detalles sobre cómo configurar estos parámetros.
Para publicar la scene
Usando el Scene Editor en Creator Hub
El Scene Editor en Creator Hub ofrece una manera sencilla de publicar tus scenes. Asegúrate de haber instalado Creator Hub.
Abre el proyecto de tu scene.
Haz clic en el Publish botón de la esquina superior derecha.
Una ventana emergente te preguntará si quieres publicar en un WORLD o en LAND.
Selecciona PUBLISH TO WORLD para hacer que tu scene esté disponible en uno de tus WORLDs. Luego selecciona a cuál de tus NAMEs o dominios ENS quieres publicar.
Selecciona PUBLISH TO LAND si eres propietario de land, o si un owner te ha dado permisos de deploy. Luego selecciona los parcels donde quieres que se despliegue en el mapa. Los parcels donde tienes permiso para deploy se muestran en rosa.
Selecciona Servers alternativos para publicar en un custom server.

Esto abre una nueva pestaña en tu browser, mostrando detalles sobre la carga. Firma el deployment con tu wallet. Esto solo es una firma para probar la propiedad; es gratis y no implica ninguna transacción de blockchain.
Para LAND en una cuenta de Metamask en el browser, confirma el deployment. Luego firma el mensaje en la extensión de Metamask para el browser.
Para LAND vinculada a una wallet que puedes usar mediante 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 parcels en Decentraland.
Ejecuta
npm run deploydesde la carpeta de la scene.
Se abrirá una pestaña del browser mostrando a qué parcels estás desplegando. Haz clic en Sign and Deploy.
Se abre Metamask notificándote que se solicita tu firma. Haz clic en Sign para confirmar esta acción.
Publishing to Worlds
Para publicar tu scene en un Decentraland World, necesitas ser propietario de un Decentraland NAME o un dominio ENS. Consulta Opciones de publicación para obtener más información sobre cómo conseguir uno.
Configura scene.json
Debes especificar bajo qué name se realizará tu deployment. 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 pertenecer a la wallet que firma el deployment, o a cualquier wallet a la que se le haya concedido permiso mediante Access Control Lists (ACL).
Ten en cuenta lo siguiente:
La wallet que firma el deployment debe ser propietaria del NAME especificado en el
scene.jsonarchivoLa scene no tiene limitaciones de parcels (desde enero de 2023)
Todos los Worlds se muestran automáticamente en la página Places, a menos que optes por no hacerlo, como se detalla a continuación
Presupuesto de almacenamiento de Worlds
Las scenes desplegadas en Worlds cuentan para un presupuesto de almacenamiento que se comparte entre todos los Worlds propiedad de tu wallet. El presupuesto aumenta con tus holdings de Decentraland:
Cada Decentraland NAME que posees te otorga 100 MB.
Cada parcel de LAND que posees te otorga 100 MB adicionales.
Cada 2.000 MANA que mantienes en tu wallet te otorgan 100 MB adicionales.
Eres libre de distribuir este presupuesto entre tus Worlds como prefieras. Por ejemplo, con un presupuesto de 500 MB podrías desplegar una scene de 300 MB y una scene de 200 MB, o cinco scenes de 100 MB. Los Worlds publicados en dominios ENS no se descuentan de este presupuesto; en su lugar tienen un límite fijo de 36 MB por World.
Puedes comprobar cuánto de tu presupuesto se ha usado y cuánto queda en dos lugares:
El Manage sección de Creator Hub. Haz clic en View Details para ver un desglose de cómo se suman tus holdings de MANA, LAND y NAME.
El Worlds pestaña del Builder.
Si superas tu presupuesto (por ejemplo, después de vender o transferir assets), tienes 48 horas para liberar espacio o aumentar tu presupuesto antes de que tus Worlds se vuelvan inaccesibles. Consulta límites de tamaño de Worlds para más detalles.
Worlds multi-scene
De forma predeterminada, al desplegar a un World mediante la CLI, tu scene se tratará como un World de una sola scene. Si tu World ya contiene una scene, desplegar una nueva scene sobrescribirá esa scene anterior, incluso si las coordenadas son diferentes.
Para desplegar como un World multi-scene, añade el parámetro --multi-scene al comando de deploy:
npm run deploy -- --multi-scene --target-content https://worlds-content-server.decentraland.org
Al usar este parámetro, si la scene que estás publicando tiene coordenadas distintas de las scenes existentes en ese World, todas esas scenes coexistirán.
**📔 Nota**: Si tienes derechos de operator sobre un World que no posees, y solo se te conceden derechos sobre parcels específicas de ese World, entonces solo podrás publicar en esos parcels y no podrás afectar el contenido de otros parcels del World.
Excluirse del listado de Places
Si deseas excluir que tus Worlds 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 scene.
Haz clic en el Publish botón de la esquina superior derecha.
Selecciona PUBLISH TO WORLD.
Selecciona a cuál de tus NAMEs o dominios ENS quieres publicar.
Vía la CLI
Usa el siguiente comando:
Una vez que ejecutes el comando, se te pedirá que firmes el deployment con tu wallet y se ejecutará un conjunto de validaciones para permitir o rechazar la scene.
Acceder a un World
Una vez que una scene se carga en el server de Worlds, puedes acceder a ella usando el Decentraland Explorer con la siguiente URL: decentraland://?realm=NAME.dcl.eth, donde NAME debe reemplazarse por el Decentraland NAME o dominio ENS al que desplegaste.
Con Decentraland ya abierto, también puedes ir a un world escribiendo el /goto NAME.dcl.eth comando en el chatbox.
Consulta Make discoverable para más información sobre cómo hacer que tu World sea discoverable.
Migrar un World a Genesis City
Si eres propietario de LAND y deseas desplegar una scene de World en Genesis City, puedes hacerlo redeploying tu scene en la red descentralizada Catalyst, que es el content server de Genesis City.
Cosas que recordar:
Elimina la
worldConfigurationsección descene.jsonLa limitación de tamaño para Worlds (dinámica según los holdings) es diferente de la de los parcels de LAND (15 MB por parcel), así que asegúrate de que tu scene tenga el tamaño correcto para deployments a Genesis City!
Publicar desde una hardware wallet
En lugar de almacenar tus tokens de LAND en una cuenta de Metamask, puede resultarte más seguro almacenarlos en un dispositivo de hardware wallet, como un Ledger o un Trezor, que está conectado físicamente a tu computadora.
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 obtener instrucciones para 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 scene
Cuando se despliega una nueva scene, sobrescribe el contenido anterior que existía en los parcels que ocupa.
Si una scene que ocupa múltiples parcels es sobrescrita solo parcialmente por otra, todos sus parcels o bien se sobrescriben o bien se borran.
Supongamos que desplegaste tu scene A sobre dos parcels [100, 100] y [100, 101]. Luego vendes el parcel [100, 101] a un usuario que posee land adyacente y que despliega una scene grande (B) en varios parcels, incluido [100, 101].
Tu scene A no puede renderizarse parcialmente en un solo parcel, así que [100, 100] no mostrará ningún contenido. Debes construir una nueva versión de scene A que solo ocupe un parcel y desplegarla solo en el parcel [100, 100].
Qué son los content servers
Los content servers son una red de servers propiedad de la comunidad con un filesystem direccionado por contenido, lo que significa que cada file se identifica por su contenido y no por un nombre de file arbitrario.
Usamos los content servers para alojar y distribuir todo el contenido de las scenes de una manera similar a BitTorrent, manteniendo distribuida la red de Decentraland.
Los content servers almacenan y distribuyen todos los assets necesarios para renderizar tus scenes.
El
npm run deploycomando vincula estos assets al parcel de LAND especificado en tu scene.json archivo. Cada vez que vuelves a desplegar tu scene, los content servers actualizan sus registros para apuntar los parcels al contenido más reciente. Desplegar no implica ninguna transacción de blockchain; solo firmas la nueva entity de scene con tu wallet para probar la propiedad.
La información en cada copia del server es verificable, ya que cada scene está firmada por el hash del owner de LAND. Esto significa que alguien que aloje una copia del server no podrá manipular el contenido para mostrar algo ilegítimo. La comunidad también puede votar para aprobar o eliminar cualquiera de estos servers usando el DAO.
Custom servers
Puedes desplegar contenido en un custom server que no pertenece a la red oficial de catalyst servers mantenida por el DAO. Para hacerlo, no necesitas poseer tokens de LAND ni de NAME, ya que puedes configurar el server para usar la lógica de validación que prefieras para controlar quién puede desplegar dónde. Los custom servers pueden elegir incluir contenido de los servers oficiales (que puedes sobrescribir) o empezar desde cero y publicar contenido completamente nuevo.
Consulta el repositorio catalyst-owner para obtener más información sobre lo que puedes hacer con tu propio server y cómo configurarlo.
📔 Nota: Los players tendrán que escribir manualmente una URL para acceder a tu custom server. Algunas validaciones de servicios como el rewards server pueden fallar en estos contextos, ya que a menudo estos services requieren que la request provenga de un server oficial.
Los players nunca son dirigidos a este server; la única forma de acceder a él es escribir explícitamente la URL para conectarse.
Vía la CLI
Para desplegar en un custom server, ejecuta:
npm run deploy -- --target <CUSTOM SERVER DOMAIN>
La URL para entrar a tu scene desplegada en tu custom server dependerá del dominio donde esté alojada.
Verificar éxito del deployment
Una vez que hayas desplegado tu scene, estos cambios tardarán unos minutos en propagarse por los distintos content servers de la red. Si entras a Decentraland justo después de desplegar, aún podrías ver la versión anterior de tu contenido, dependiendo del realm al que entres.
Después de que firmes para autorizar el deployment de tu scene, la dapp de firma comenzará a mostrar confirmaciones de que la nueva versión de tu contenido se ha propagado por todos los servers de la red.
Verás una lista de cada uno de los servers que componen la red de contenido de Decentraland. Para cada server, se especifica la marca temporal del último cambio subido en ese parcel. Cada server corresponde a un realm diferente. Puedes ver cómo se asignan estos nombres de server a los nombres de realm en la pantalla de monitor de catalyst.
La propagación es solo una parte de la historia: después de la carga, los modelos 3D de la scene se convierten en asset bundles optimizados para cada plataforma (Windows y Mac). Hasta que termina esa conversión, a los players se les entrega deliberadamente la última versión de tu scene que funciona por completo. Calcula entre 30 y 60 minutos hasta que la nueva versión sea jugable de forma fiable para todos. Puedes consultar directamente el progreso de la conversión, consulta Verifica el estado de la conversión.
También puedes obtener la información de propagació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 scene en lugar de 0,0. Si tu scene tiene múltiples parcels, cualquiera de sus parcels 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.
Deployments automáticos
Si haces cambios con regularidad al contenido de tu scene y quieres implementar un flujo de publicación simplificado, puedes automatizar el deployment de tu scene mediante una GitHub action.
Para ello, primero debes almacenar tu scene en un proyecto de GitHub. Luego puedes configurar una GitHub action con el siguiente script, que se ejecuta cada vez que hay un merge en la main branch. El script instala cualquier dependencia, 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, que se usa para firmar el deployment. Como siempre, ten mucho cuidado de mantener seguras las claves privadas. 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 los derechos de operator a una wallet desechable que no posea tokens valiosos. Si esta clave privada se filtrara alguna vez, puedes revocar fácilmente esos derechos de operator de la cuenta y configurar una nueva wallet.
Última actualización