- El modding de Ostranauts utiliza dos sistemas principales: mods de datos JSON y plugins de C# BepInEx
- El modding de datos requiere editar archivos JSON en la estructura de carpetas de StreamingAssets
- Los plugins de BepInEx permiten la inyección de código para funciones avanzadas como atajos de teclado y ajustes de interfaz
- El orden de carga es crítico: siempre mantén "core" primero, luego añade tus mods secuencialmente
- Siempre haz una copia de seguridad de los archivos base del juego antes de instalar o crear cualquier mod
Descripción General del Modding de Ostranauts
Ostranauts admite un ecosistema de modding flexible que permite a los jugadores personalizar casi todos los aspectos del juego. Ya sea que desees agregar nuevos objetos, modificar diseños de naves o inyectar código C# personalizado para funciones avanzadas de la interfaz, el juego ofrece dos vías distintas para realizar modificaciones.
Puntos destacados del video:
- Instalación y configuración de BepInEx paso a paso
- Cómo configurar correctamente el orden de carga para los mods de datos
- Instalación manual de plugins como Speed Hotkeys y Floor & Walls
- Uso del Administrador de Configuración para verificar la funcionalidad del mod
Los dos enfoques principales de modding tienen propósitos diferentes. El modding de datos (modding JSON) es el punto de entrada más accesible, ya que no requiere conocimientos de programación. El modding a través de BepInEx, por otro lado, permite modificaciones más profundas mediante código C# compilado.
| Tipo de Mod | Dificultad | Requisitos | Ideal Para |
|---|---|---|---|
| Mods de Datos (JSON) | Principiante | Editor de texto (Notepad++) | Nuevos objetos, naves, interacciones, condiciones |
| Plugins de BepInEx | Intermedio a Avanzado | Framework BepInEx, conocimiento de C# | Atajos, cambios de interfaz, inyección de código, nuevas mecánicas |
Si eres nuevo en el modding de Ostranauts, comienza con los mods de datos JSON. No requieren experiencia en programación y utilizan la misma estructura de datos que el juego base. Solo necesitas un editor de texto como Notepad++ para empezar.
Instalación de BepInEx y Plugins de Mods
BepInEx es un framework de Unity que permite la inyección de código para Ostranauts. Muchos mods populares de la comunidad, como Speed Hotkeys, Editor History y los interruptores de visibilidad de Floor & Walls, dependen de este framework para funcionar.
Descargas Necesarias
Antes de instalar cualquier mod basado en BepInEx, necesitas dos componentes principales:
| Componente | Versión | Propósito |
|---|---|---|
| BepInEx | 5.4.23 | Framework principal para inyección de código |
| Configuration Manager | 8.3 | Interfaz dentro del juego para gestionar la configuración del mod (presiona F1) |
No uses BepInEx 6.0. La versión funcional actual para la mayoría de los mods de Ostranauts es 5.4.23. Usar una versión incorrecta puede hacer que los mods fallen silenciosamente o que el juego se cuelgue al iniciar.
Ubicaciones de Instalación de Plugins
Los plugins de BepInEx van en una carpeta diferente a los mods de datos JSON. Entender esta distinción es esencial:
| Tipo de Mod | Carpeta de Destino | Cómo Verificar |
|---|---|---|
| Plugins de BepInEx | Ostranauts_Data/plugins/ | Presiona F1 en el juego para el Administrador de Configuración |
| Mods de Datos | Ostranauts_Data/Mods/ | Revisa Opciones > Archivos > Mods en el juego |
| Astral Adaptations | Ostranauts_Data/Mods/ | Añádelo a loading_order.json debajo de "core" |
Después de colocar los archivos de BepInEx en la carpeta del juego, debes iniciar Ostranauts al menos una vez. Este lanzamiento inicial genera las carpetas adicionales (como plugins/) que tus mods necesitan. Sin este paso, la estructura de carpetas no existirá.
Fundamentos del Modding de Datos
El modding de datos es la forma más accesible de modificar Ostranauts. Todos los datos del juego base se encuentran en la carpeta StreamingAssets, organizados en más de 30 tipos de datos diferentes. Al crear tu propia carpeta de mod con una estructura coincidente, puedes añadir o sobrescribir el contenido del juego sin tocar los archivos originales.
Tipos de Datos Principales
| Carpeta | Contenido | Casos de Uso Comunes |
|---|---|---|
items/ | Definiciones de objetos (herramientas, equipos, objetos) | Añadir nuevas herramientas, armas u objetos decorativos |
cooverlays/ | Nombres y descripciones a mostrar | Requerido para que cada objeto muestre información sobre herramientas |
interactions/ | Acciones y comportamientos de personajes | Crear nuevas acciones sociales, animaciones o tareas |
conditions/ | Efectos de estado y estados del juego | Añadir estados emocionales, ventajas o desventajas |
ships/ | Plantillas y diseños de naves | Crear naves iniciales personalizadas o naves de PNJ |
condtrigs/ | Eventos de activación de condiciones | Definir qué sucede cuando se cumplen las condiciones |
No modifiques los archivos en la carpeta StreamingAssets. Crea siempre una carpeta de mod separada. Las ediciones directas en los archivos del juego base se sobrescribirán con las actualizaciones y pueden causar un comportamiento impredecible.
Convenciones de Nomenclatura de Ostranauts
El juego utiliza un sistema de prefijos para todos los campos JSON. Comprender estos prefijos te ayudará a leer y escribir datos de mods correctamente:
| Prefijo | Tipo | Ejemplo | Descripción |
|---|---|---|---|
str | Cadena (String) | strName | Valor de texto (nombres, descripciones) |
n | Entero (Integer) | nCols | Número entero (columnas de cuadrícula, recuentos) |
f | Flotante (Float) | fZScale | Número decimal (escala, duración) |
b | Booleano (Boolean) | bEnabled | Marca verdadero o falso |
a | Matriz (Array) | aSocketAdds | Lista de valores |
map | Mapa/Diccionario | mapModeSwitches | Colección de pares clave-valor |
La mejor manera de aprender el modding de datos es estudiar los archivos existentes del juego. Abre la carpeta StreamingAssets/data/ y examina cómo están estructurados los objetos, las interacciones y las condiciones. Copia el formato y modifica los valores para tus propios mods.
Creando Tu Primer Mod
Configurar la Carpeta del Mod
Navega a Ostranauts_Data/Mods/ y crea una nueva carpeta para tu mod. Dentro de ella, crea un archivo mod_info.json con metadatos (nombre, autor, versión, versión del juego) y subcarpetas que coincidan con la estructura de StreamingAssets (por ejemplo, data/items/, data/cooverlays/, images/).
Escribe Tus Datos JSON
Crea archivos JSON en las subcarpetas de datos apropiadas. Para un nuevo objeto, coloca la definición en data/items/my_items.json y un COOverlay coincidente en data/cooverlays/my_overlays.json. Cada objeto necesita un COOverlay correspondiente con el mismo strName para mostrar los nombres y la información sobre herramientas correctamente.
Actualizar loading_order.json
Abre Ostranauts_Data/loading_order.json y añade el nombre de la carpeta de tu mod al arreglo aLoadOrder, después de "core". El nombre de la carpeta debe coincidir exactamente; este campo distingue entre mayúsculas y minúsculas. Si el archivo no existe, inicia el juego una vez con el botón de Mods para generarlo.
Probar en el Juego
Inicia Ostranauts y observa la pantalla de carga en busca de mensajes del mod. Ve a Opciones > Archivos para confirmar que tu mod muestra un estado verde de "Loaded" (Cargado). Usa el Editor de Naves para encontrar nuevos objetos, o abre la consola de depuración con la tecla de comilla invertida y escribe UNLOCKDEBUG para generar objetos para probar.
Para añadir nuevo contenido, usa valores strName únicos que no existan en el juego base. Para sobrescribir contenido existente, usa el mismo strName que el objeto que deseas reemplazar. Los mods posteriores en el orden de carga tienen prioridad sobre los anteriores.
Estructura de ejemplo de mod_info.json
| Campo | Propósito | Ejemplo |
|---|---|---|
strName | Nombre para mostrar de tu mod | "Mi Mod Genial" |
strAuthor | Nombre del creador | "TuNombre" |
strGameVersion | Versión compatible del juego | "1.3.1" |
strModVersion | Número de versión de tu mod | "1.0.0" |
strNotes | Breve descripción | "Añade nuevos objetos decorativos" |
Solución de Problemas Comunes
Incluso los mods bien estructurados pueden tener problemas. Usa esta tabla de referencia para diagnosticar y solucionar los problemas más frecuentes que enfrentan los modders.
| Problema | Causa Probable | Solución |
|---|---|---|
| El mod no aparece | El nombre de la carpeta no coincide en loading_order.json | Verifica que haya una coincidencia exacta entre mayúsculas y minúsculas en la carpeta y la entrada del arreglo |
| El objeto no tiene nombre | Falta el COOverlay o no coincide | Crea una entrada COOverlay con el mismo strName que el objeto |
| Error de sintaxis JSON | Falta una coma, hay una coma de más o corchetes sin cerrar | Valida con JSONLint o la extensión JSON de VS Code |
| Falta el sprite | El archivo de imagen no está en la carpeta images/ o tiene un nombre incorrecto | Asegúrate de que strImg coincida con el nombre del archivo sin la extensión .png |
| Los mods de BepInEx no funcionan | Versión incorrecta de BepInEx o falta el primer lanzamiento | Usa la versión 5.4.23, inicia el juego una vez después de instalar el framework |
| El juego se bloquea al iniciar | Sobrescrituras en conflicto o JSON no válido | Revisa output_log.txt en AppData/LocalLow/Blue Bottle Games/Ostranauts/ |
Ostranauts genera archivos de registro detallados en C:\Users\<YourName>\AppData\LocalLow\Blue Bottle Games\Ostranauts\output_log.txt. Busca entradas "Error" o "Exception", y busca el nombre de tu mod o los nombres de tus archivos JSON para detectar problemas de carga.
Herramientas Recomendadas
Notepad++
- Editor de texto ligero
- Resaltado de sintaxis JSON
- Gratuito y ampliamente utilizado
- Genial para ediciones rápidas
Visual Studio Code
- IDE completo con validación JSON
- Mercado de extensiones
- Detección de errores integrada
- Integración con Git para versionado
JSONLint
- Validador JSON en línea
- No requiere instalación
- Detecta errores de sintaxis al instante
- Útil para comprobaciones rápidas
Añade un objeto o haz un cambio a la vez. Si algo se rompe, sabrás exactamente qué modificación causó el problema. Este enfoque ahorra horas de depuración en comparación con añadir todo de una vez.
Mejores Prácticas y Distribución
Mejores Prácticas de Modding:
- Usa nombres descriptivos (ItmPlushBearBrown, no ItmStuff01)
- Prueba un cambio a la vez para aislar los problemas
- Estudia los archivos de datos del juego base en StreamingAssets para ver ejemplos
- Versiona tus cambios usando copias de seguridad de Git o GitHub
- Documenta todo en el campo strNotes de mod_info.json
- Indica la versión compatible del juego para ayudar a los usuarios a evitar conflictos
Canales de Distribución
Una vez que tu mod esté listo, puedes compartirlo a través de varias plataformas:
| Plataforma | Formato | Audiencia | Notas |
|---|---|---|---|
| Thunderstore | Contenedor de plugin BepInEx | Amplia comunidad de modding | Requiere un contenedor de plugin para mods JSON |
| GitHub | Repositorio | Desarrolladores y usuarios avanzados | Ideal para la colaboración de código abierto |
| Nexus Mods | Archivo Zip | Audiencia general de jugadores | Destino popular para mods de juegos |
| Discord/Foros | Descarga directa | Comunidad de Ostranauts | La forma más rápida de obtener comentarios |
Si distribuyes mods manualmente, incluye instrucciones claras: descarga y extrae la carpeta del mod, colócala en Ostranauts_Data/Mods/, añade el nombre del mod a loading_order.json e inicia el juego. Unas instrucciones simples reducen las solicitudes de soporte.
Preguntas Frecuentes
Q: ¿Cuál es la diferencia entre los mods de datos y los plugins de BepInEx en Ostranauts?
Los mods de datos usan archivos JSON para añadir o modificar el contenido del juego, como objetos, naves e interacciones. Van en la carpeta Mods y no requieren programación. Los plugins de BepInEx son código C# compilado que inyecta nuevas funcionalidades, como atajos de teclado o cambios en la interfaz. Van en la carpeta de plugins y requieren el framework BepInEx.
Q: ¿Qué versión de BepInEx debo usar para el modding de Ostranauts?
Usa la versión 5.4.23 de BepInEx. La versión 6.0 no es compatible con la mayoría de los mods actuales de Ostranauts y puede hacer que dejen de funcionar. Revisa siempre la página de requisitos del autor del mod para ver la versión específica que recomiendan.
Q: ¿Por qué mi objeto modificado aparece en el juego pero no tiene nombre ni descripción?
Cada objeto necesita una entrada COOverlay coincidente en la carpeta data/cooverlays/. El COOverlay debe tener el mismo strName que tu objeto, además de los campos strNameFriendly y strDesc. Sin esto, el juego no puede mostrar texto legible para el objeto.
Q: ¿Cómo sobrescribo un objeto existente del juego base en lugar de añadir uno nuevo?
Usa el mismo strName que el objeto del juego base que deseas reemplazar en el archivo JSON de tu mod. El juego carga los mods después de los datos principales, por lo que tu definición tiene prioridad. Ten cuidado, ya que sobrescribir el contenido del juego base puede generar conflictos con otros mods que modifiquen el mismo objeto.