Publicación, exportación y Bundles
La versión corta
Cuando tu Mundo esté listo, ¿cómo lo haces llegar a otros jugadores? Simple: pulsa Publicar en la barra superior del editor.
Antes de hacer clic en "publicar", asegúrate de que estos estén listos en la sección Overview del editor:
- Nombre y descripción — nombre hasta 200 caracteres, descripción hasta 10.000. Un buen nombre es tu escaparate; una buena descripción es tu guía.
- Imagen de portada — lo primero que ven los jugadores en el listado de la comunidad. Un Mundo sin portada es como un cine sin cartel: nadie sabe qué se proyecta dentro.
- Etiquetas — hasta 10. Las Etiquetas ayudan a los jugadores a descubrir tu Mundo: "fantasy", "romance", "battle royale", "multiplayer", y así.
Una vez listo, guarda el Mundo y haz clic en el botón Publicar en la barra superior del editor (justo al lado de Save). En el diálogo de publicación, establece la clasificación de contenido (General o Sensible), la visibilidad y los permisos de edición, marca el acuerdo de términos y publica. Tu Mundo aparece en Discover para que otros lo busquen, naveguen, jueguen directamente o lo bifurquen y modifiquen.
¿No quieres usar el sistema de publicación de la plataforma? Exporta tu Mundo como archivo JSON y envíalo directamente a amigos. O exporta solo parte del contenido de tu Mundo, como un sistema de combate, como Bundle para compartir con otros creadores.
La versión detallada
Estado de publicación
Un Mundo tiene tres estados, como un semáforo que controla su visibilidad:
| Estado | Significado | ¿Visible para otros? |
|---|---|---|
draft | Aún en progreso, solo tú lo puedes ver | No |
published | En vivo, aparece en la página Discover | Sí |
unpublished | Fue publicado, pero lo retiraste | No |
Un draft puede publicarse; un Mundo publicado puede despublicarse; un Mundo despublicado puede volver a publicarse o regresar a draft. No puedes saltar pasos (por ejemplo, un draft no puede ir directamente a "unpublished").
Cuando despublicas un Mundo, el sistema notifica automáticamente a todos los jugadores que lo han añadido a su biblioteca: "Este Mundo ha sido despublicado". Cuando lo vuelves a publicar, reciben otra notificación: "Está de vuelta". Bastante considerado.
Ajustes de publicación
Los siguientes ajustes se configuran en el diálogo de publicación (abierto desde el botón Publicar del editor), no en el formulario de Overview en sí.
Clasificación de contenido (ageRating)
Dos niveles en la UI:
| Etiqueta de UI | Valor almacenado | Significado |
|---|---|---|
| General | all | Sin contenido adulto explícito: visible para todos |
| Sensible | r18 | Contenido adulto / sensible, 18+ |
Elegir Sensible automáticamente hace que isNsfw sea true: no necesitas establecerlo manualmente. Si no eliges nada, publicar usa por defecto General + no-NSFW. El sistema maneja la consistencia para que no termines con una clasificación desajustada.
Nota heredada: los Mundos antiguos y la base de datos también reconocen
r18g(restricción fuerte). La UI de publicación ya no lo expone: los nuevos Mundos deben elegir Sensible para cualquier material 18+.
Visibilidad (visibility)
public — público, todos pueden verlo en Discover
followers — solo seguidores, bueno para pruebas limitadas o compartir con tu círculoPor defecto es public si no se especifica en el momento de publicar.
Permitir edición (allowEdit)
Por defecto es true. Cuando está activado, otros creadores pueden bifurcar tu Mundo para modificarlo. Desactivado significa que solo tú puedes bifurcar tu propio Mundo.
Como código abierto vs. código cerrado: con allowEdit activado, tu Mundo podría inspirar variaciones interesantes; desactivado y tu contenido puede jugarse pero no modificarse. Tu decisión.
Permitir multijugador (allowMultiplayer)
Por defecto es false. Esta bandera le dice a la plataforma si el Mundo está diseñado para multijugador. Si estableces multiplayerSettings.availability a enabled en el esquema de definición del Mundo, el sistema también infiere este valor automáticamente. La configuración específica del comportamiento multijugador está en "Ajustes multijugador" más abajo.
Etiquetas (tags)
Hasta 10 Etiquetas. Muy útil para búsqueda y filtrado en la página Discover: la plataforma rastrea la frecuencia de uso de Etiquetas en todos los Mundos publicados, y los jugadores pueden navegar y buscar por Etiqueta. El autocompletado sugiere Etiquetas populares mientras escribes.
Imagen de portada (thumbnailUrl)
Sube en la sección Overview del editor. Se usa en las tarjetas de Discover, resultados de búsqueda y en My Library. Los Mundos sin portadas casi nunca se hacen clic. Recomendamos enérgicamente añadir una.
Bifurcación
Cuando un Mundo está publicado y allowEdit es true, otros usuarios pueden "bifurcarlo":
- Se crea una copia completa, propiedad del bifurcador
- El nombre se autoincrementa: si el original es "Dark Forest", tu copia es "Dark Forest (1)"; bifurca de nuevo y es "Dark Forest (2)"
- La copia comienza como draft y no se publica automáticamente
- Conserva todas las Etiquetas originales, descripción, portada, esquema y contenido
- El
downloadCountdel Mundo original aumenta en 1 - El
sourceWorldIdde la copia apunta de vuelta al original para trazabilidad - Cualquier Recurso referenciado (como imágenes) también se copia
Sistema de Bundles
¿Qué es un Bundle? Esta es la analogía: pasaste dos semanas construyendo un sistema de combate pulido: Variables, reglas, Componentes de UI, efectos de sonido, el paquete completo. Un amigo también está construyendo un Mundo y necesita un sistema de combate. No necesitas darle todo tu Mundo: simplemente empaqueta las partes relacionadas con el combate y se las envías.
Un Bundle es un "paquete de componentes" que contiene partes seleccionadas de tu Mundo.
Lo que contiene un Bundle:
| Sección | Lo que incluye | ¿Obligatorio? |
|---|---|---|
| Nombre y descripción | Nombre del Bundle, descripción, Etiquetas, fecha de creación | Sí |
| Entradas | Perfiles de personajes, trama, Directivas de estilo, lore | Sí (puede estar vacía) |
| Variables | HP, oro, afecto, banderas, estado JSON | Sí (puede estar vacía) |
| Reglas | Condiciones de activación y acciones | Sí (puede estar vacía) |
| UI personalizada | Componentes TSX | Sí (puede estar vacía) |
| Pistas de audio | BGM, SFX, pistas ambientales | Sí (puede estar vacía) |
| Root Component | La aplicación TSX multi-archivo completa (index.tsx y archivos hermanos). Incluirlo eleva el Bundle a una "plantilla completa" | Opcional |
| Organización | Definiciones de Etiquetas personalizadas, estructura de carpetas de Entradas | Opcional |
Dos formas de usar un Bundle
- Bundle parcial — solo entries / variables / rules / audioTracks, sin
rootComponent. Se fusiona en un Mundo existente. Genial para compartir un sistema de combate o una Tarjeta de personaje. - Plantilla completa — lo mismo más un
rootComponent. Se bifurca en un Mundo nuevo. Genial para "esqueleto VN", "shell de batalla de cartas", etc.: cualquiera que lo importe inicia un Mundo nuevo construido sobre tu plantilla.
Las siete Plantillas de Recursos oficiales funcionan exactamente de esta manera.
Piénsalo como un "módulo": enchúfalo en otro Mundo y funciona.
Crear un Bundle
Haz clic en Export Bundle en el menú superior del editor. Obtienes cuatro secciones marcables:
- Entradas — entries (perfiles de personajes, trama, Directivas de estilo, etc.)
- Variables — variables (HP, oro, afecto, etc.)
- Reglas — rules (condiciones de activación + acciones)
- UI personalizada — el array de Componentes TSX
Una función pensada: cuando marcas una regla, el sistema automáticamente resalta las Variables de las que depende y las marca como "sugeridas" para que no las dejes accidentalmente fuera.
Dos cosas se incluyen automáticamente (sin casilla):
- Pistas de audio (
audioTracks) — la lista completa siempre se empaqueta. - Root Component (
rootComponent) — si tu Mundo tiene uno, se adjunta automáticamente. Incluir un Root Component eleva el Bundle a una "plantilla completa": en lugar de fusionarse en un Mundo existente, los importadores pueden bifurcarlo en un Mundo nuevo construido sobre tu plantilla.
Manejo de conflictos en la importación
Al importar un Bundle en un Mundo existente, el contenido se fusiona, no se sobrescribe. Resolución específica de conflictos:
- Mismo ID de Variable: omitir, usar Variable existente
- Mismo nombre de Variable pero diferente ID: crear nueva Variable con sufijo (ej.
HP (1)) - Entradas: siempre generar nuevos UUID, añadir a la lista de Entradas existente
- Reglas y Componentes: lo mismo: crear nuevos ID y añadir
Los ID de Variables referenciados en reglas y Componentes se reasignan automáticamente para preservar las relaciones después de la importación. Esto importa: si importas un sistema de combate y las reglas no coinciden con la Variable "HP", la importación es inútil.
Publicar Bundles en Hub
Un Bundle guardado por defecto es privado. Después de publicar, otros creadores pueden buscar, previsualizar e instalarlo en la página Discover.
También puedes descargar el Bundle como un archivo .bundle.json y enviarlo a amigos para importación manual.
Exportación completa del Mundo
Más allá de la "exportación parcial" de los Bundles, también puedes exportar un JSON completo del Mundo. Esto está disponible en la sección Overview del editor, o en My Library → My Projects. El archivo exportado contiene todo en WorldDefinition:
- Todas las Entradas (
entries) y la estructura de carpetas de Entradas (entryFolders) - Todas las Variables (
variables) - Todas las reglas (
rules) y reacciones compiladas (reactions) - Root Component (
rootComponent) — la entrada completa de UI del Mundo, incluyendoindex.tsxy todos sus archivos hermanos - Componentes TSX de UI personalizada (
customUI) - Pistas de audio (
audioTracks), playlist de BGM (bgmPlaylist), BGM condicional (conditionalBGM) - Sistemas espaciales (
systems) y escenas (scenes) - Modo de editor (
editorMode: "simple" | "advanced") - Blueprint de UI (
uiBlueprint) - Ajustes del Mundo (
settings): temperatura, límites de tokens, modo de diseño, profundidad de escaneo, etc. - Ajustes multijugador (
multiplayerSettings)
Nota: la clave de agrupación de variantes compartidas (languageGroupId) se almacena en el propio registro del Mundo (para la coincidencia de Hub), no dentro de WorldDefinition, así que no aparece en el JSON exportado.
Usos de la exportación completa:
- Copia de seguridad — exporta periódicamente como copia local. Tus datos están seguros en la nube, pero las copias de seguridad locales dan tranquilidad.
- Control de versiones — haz commit a un repo de git para rastrear cambios. Exporta antes de revisiones importantes como punto de guardado manual.
- Colaboración — envía el JSON a un colaborador y puede importarlo y trabajar en su propia cuenta.
- Migración — la futura versión offline de Tauri usa el mismo formato, así que el cambio será sin costuras.
Al importar, el sistema reconoce automáticamente JSON de Mundo de Yumina, Tarjetas de personaje de SillyTavern (incluyendo Tarjetas V2 embebidas en PNG) y JSON de Bundle: cada una se procesa de forma diferente. No necesitas elegir el formato; simplemente arrastra y suelta.
Soporte multilingüe: dos sistemas
Yumina tiene dos mecanismos multilingües, con objetivos completamente diferentes: elige el que te encaje:
| Mecanismo | Lo que se traduce | Cuándo usar |
|---|---|---|
| Hub Translations | Solo la "información de escaparate" mostrada en Discover / tu perfil: título, descripción, imagen de portada, galería, Etiquetas | Tu contenido de juego es monolingüe, pero quieres que los jugadores globales vean títulos y descripciones localizados al navegar |
| Variantes | Una copia completa del Mundo, totalmente traducida: Entradas, reglas, texto de Componentes, todo | Quieres que los jugadores jueguen tu Mundo en su propio idioma, con la IA respondiendo también en ese idioma |
Hub Translations
Encuéntralo en la navegación izquierda del editor bajo Hub Translations.
Cómo configurarlo:
- Ve a la sección Hub Translations
- Haz clic en Add Language
- Elige el idioma de destino del menú desplegable (10 idiomas admitidos)
- El nombre, descripción, portada, galería y Etiquetas del Mundo actual se copian como punto de partida
- Edita cada campo directamente en la UI: tradúcelos al idioma de destino
- Sube una imagen de portada específica del idioma si quieres
- Guarda: las traducciones se almacenan como parte de tu Mundo, no se generan archivos separados
Cuando los jugadores navegan la página Discover, Yumina elige automáticamente la mejor traducción coincidente para su idioma de UI. El contenido que los jugadores ven en el juego permanece en el idioma original del Mundo: las Hub Translations no afectan el texto de juego.
Variantes
Si quieres que el contenido en el juego también se traduzca, necesitas el sistema de Variantes: crea una nueva Variante en la Variant Tab Bar en la parte superior del editor, eligiendo el idioma de destino. El editor crea una copia completa de tu Mundo en el nuevo idioma, que luego traduces.
El motor reconoce las Variantes como "diferentes versiones de idioma del mismo Mundo". En la página de detalle del Mundo, los jugadores cambian entre ellas con un clic. En el listado de la comunidad, el grupo de Variantes cuenta como un solo Mundo; las estadísticas de visualización se fusionan.
Idiomas admitidos
Ambos mecanismos admiten los mismos 10 idiomas:
| Código | Idioma |
|---|---|
en | English |
zh | 中文 |
ja | 日本語 |
ko | 한국어 |
es | Español |
fr | Français |
de | Deutsch |
pt | Português |
ru | Русский |
ar | العربية |
¿Cuál?
- Solo quieres una portada y descripción decentes para jugadores extranjeros → Hub Translations
- Quieres juego totalmente localizado → Variantes
- Los dos se pueden combinar: variante A (versión china) con Hub Translations de chino + inglés, variante B (versión inglesa) con Hub Translations de inglés + japonés: cubre tres audiencias en total
Ajustes multijugador (MultiplayerSettings)
Si tu Mundo admite multijugador, configura los siguientes ajustes en el editor. Estos son opcionales: sin ellos, el multijugador está deshabilitado por defecto.
| Ajuste | Opciones | Por defecto | Propósito |
|---|---|---|---|
| Availability | Disabled / Enabled | Disabled | Interruptor principal del multijugador |
| Chat policy | Free / Active speaker only | Free | Quién puede enviar mensajes y cuándo |
| AI trigger mode | Instant / Timer / Round / Manual | Manual | Cuándo responde la IA |
| Round timer | 5-120 segundos | 15 | Duración de la cuenta atrás (modo timer) |
| Author notes | Texto libre | Vacío | Instrucciones visibles para el anfitrión de la sala |
Desglosándolos:
availability — el interruptor principal. disabled = solo un jugador. enabled = se pueden crear salas para multijugador. También recuerda establecer allowMultiplayer a true en la capa de base de datos del Mundo: hay un interruptor separado en el editor.
defaultChatPolicy — política de chat.
free: forma libre, todos pueden enviar mensajes en cualquier momento, como un chat grupal. Genial para Mundos casuales y sociales.active_speaker_only: por turnos, solo una persona puede hablar a la vez, como un juego de mesa. Genial para sesiones de mesa TRPG.
defaultAiTriggerMode — ¿cuándo responde la IA? Cuatro modos para diferentes ritmos:
instant: la IA responde inmediatamente cuando alguien habla. Ritmo más rápido, bueno para Mundos impulsados por diálogo.timer: la IA responde cuando el temporizador de cuenta atrás se agota (usandodefaultRoundTimerSeconds). Deja una ventana para que otros intervengan.round: la IA responde después de que todos hayan enviado un mensaje. Como TRPG donde el DM habla después de que todos hayan tomado su turno: cada acción se considera.manual: el anfitrión activa manualmente la IA. Lo más flexible, el anfitrión controla el ritmo por completo.
defaultRoundTimerSeconds — duración del temporizador, 5-120 segundos, por defecto 15. Activo principalmente en modo timer.
authorNotes — notas visibles para quien crea la sala. Ej., "Mejor con 2-4 jugadores", "Anfitrión, por favor lee las reglas antes de empezar", "Cada jugador elige una clase antes de comenzar". Estos no se envían a la IA: puramente una guía de instrucciones legible por humanos.
Estos son todos valores por defecto: el anfitrión de la sala puede ajustarlos para la Sesión real. Lo que estás configurando es la "configuración recomendada".
Ejemplos prácticos
Ejemplo 1: Lista de verificación previa a la publicación
Tu Mundo está terminado y estás listo para ir en vivo. No te apresures a hacer clic: pasa por esta lista de verificación primero:
[ ] Nombre — ¿es convincente? ¿Puede alguien decir qué tipo de Mundo es de un vistazo?
[ ] Descripción — ¿escribiste una? No la dejes en blanco. Al menos dos oraciones diciéndoles a los jugadores qué experimentarán.
[ ] Imagen de portada — ¿subiste una? ¿Sigue viéndose clara cuando se muestra en miniatura en Discover?
[ ] Etiquetas — ¿añadiste 3-10 Etiquetas relevantes? Piensa en qué buscarían los jugadores.
[ ] Clasificación de contenido — elige **Sensible** para material adulto / sensible (18+), de lo contrario **General**. No te equivoques en esto: la mala clasificación es una violación de las directrices.
[ ] Visibilidad — pública si quieres que todos lo vean. Solo seguidores para pruebas limitadas primero.
[ ] allowEdit — abierto si quieres que otros bifurquen y modifiquen. Cerrado para proteger tu trabajo original.
[ ] Greeting — ¿cuál es el primer mensaje que ven los jugadores? ¿Está configurado correctamente? Las primeras impresiones importan.
[ ] Autoprueba — ¿lo jugaste tú mismo de principio a fin? ¿Funcionan las Variables? ¿Se disparan las reglas correctamente?Una vez verificado, haz clic en Save en la barra superior del editor, luego haz clic en el botón Publicar justo al lado, y completa el flujo del diálogo de publicación.
Tu Mundo está en vivo. Ve a ver cómo se ve en Discover.
Ejemplo 2: Crear un Bundle de sistema de combate para compartir con la comunidad
Digamos que construiste un sistema de combate por turnos en tu Mundo RPG que contiene:
- Variables:
HP(number, 0-100, stat),MP(number, 0-50, resource),ATK,DEF,battlePhase(string, flag) - Reglas:
disparar liquidación de muerte cuando HP llega a cero,MP se recupera naturalmente 5 por turno al inicio del turno - Componentes: una stat-bar para HP, una stat-bar para MP
- Audio: BGM de batalla (loop), efecto de sonido de golpe (sfx)
Pasos de empaquetado:
- Haz clic en Export Bundle en el menú superior del editor
- Llámalo "Sistema de combate por turnos v1.0", escribe una descripción clara de su uso
- Marca las 5 Variables: cuando marcas las reglas, el sistema resalta las Variables relacionadas
- Marca las 2 reglas y los 2 Componentes
- Marca las pistas de audio
- Añade Etiquetas:
combat,rpg,turn-based - Exporta y guarda
El archivo Bundle exportado contiene todo el contenido seleccionado: Entradas, Variables, reglas, Componentes de UI y pistas de audio, empaquetados como un solo archivo JSON.
Una vez que alguien tiene el archivo Bundle, hace clic en Import Bundle en el menú superior de su editor, elige en qué Mundo instalarlo, y el sistema de combate está listo para funcionar. Los conflictos de nombre de Variable se manejan automáticamente.
Ejemplo 3: Ajustes multijugador: RPG cooperativo de 4 jugadores
Construiste un Mundo de aventura de mazmorra para 4 jugadores. Cada persona juega una clase (guerrero, mago, pícaro, sanador), se turnan para actuar, y después de que todos hayan actuado, la IA como DM avanza la historia.
En el editor, establece:
- Availability: Enabled
- Chat policy: Active speaker only
- AI trigger mode: Round
- Round timer: 60 segundos
- Author notes: "Recomendado 4 jugadores, cada uno eligiendo una clase: guerrero, mago, pícaro o sanador. Cada ronda, cada jugador describe su acción, luego la IA avanza la historia una vez que todos los jugadores hayan actuado. Temporizador de 60 segundos: si alguien tarda demasiado, la IA continúa de todos modos."
¿Por qué estos ajustes?
active_speaker_only— hablar por turnos evita que cuatro personas escriban simultáneamente y dejen a la IA confundida sobre a quién responder. Esta es una sesión TRPG, así que debería ser uno a la vez.round— la IA espera a todos antes de responder, asegurando que la acción de cada jugador sea considerada. Nadie se queda atrás porque "el DM ya avanzó".60-second timer— suficiente tiempo para pensar en estrategia, pero no tanto como para que se arrastre. Si alguien fue a buscar una bebida, la IA aún avanza después de 60 segundos sin bloquear a todos los demás en su lugar.authorNotes— un "manual" para el anfitrión, dejándole saber cómo manejar la Sesión y qué decirle a los jugadores.
Tampoco olvides establecer allowMultiplayer a true a nivel del Mundo: de lo contrario, incluso si multiplayerSettings está perfectamente configurado, la plataforma no lo mostrará como un Mundo multijugador.
Consulta también
- Modelo y configuración de IA — los parámetros de generación que afectan cómo responde la IA en tu Mundo publicado
- Guía de UI personalizada — construyendo la experiencia visual que los jugadores ven cuando juegan tu Mundo
