Importaciones manuales vs gestión dentro del juego
Los plugins gestionados por Nightbreak ahora prefieren la configuración y gestión de contenido dentro del juego, pero las importaciones manuales siguen existiendo como alternativa.
Recomendado: gestión dentro del juego
Usa el menú de configuración junto con un token Nightbreak vinculado cuando quieras:
- exploración de contenido con reconocimiento de acceso
- instalación con un clic o guiada por menú
- comandos de descarga y actualización masiva
- verificaciones automáticas de paquetes desactualizados
- un flujo de trabajo que coincida con la base de código actual
Esta es la ruta preferida para:
- EliteMobs
- BetterStructures
- FreeMinecraftModels
- EternalTD
- ResurrectionChest
- WorldCannon
Los seis ejecutan el importador compartido, así que los seis también aceptan la alternativa manual descrita más abajo.
Alternativa: importaciones manuales
Las importaciones manuales siguen siendo útiles cuando:
- ya tienes los zips de paquetes descargados
- estás moviendo archivos entre servidores
- quieres trabajar sin conexión a Nightbreak durante las pruebas
- un paquete se distribuye intencionalmente fuera de la ruta de descarga dentro del juego
Las descargas masivas de Nightbreak también terminan en la carpeta imports del plugin. La diferencia es que la ruta dentro del juego maneja las verificaciones de acceso y el paso de descarga por ti.
Mapa de carpetas de importación
| Plugin | Carpeta de importación |
|---|---|
| EliteMobs | plugins/EliteMobs/imports |
| BetterStructures | plugins/BetterStructures/imports |
| FreeMinecraftModels | plugins/FreeMinecraftModels/imports |
| EternalTD | plugins/EternalTD/imports |
| ResurrectionChest | plugins/ResurrectionChest/imports |
| WorldCannon | plugins/CannonRTP/imports |
La carpeta de plugin de WorldCannon se llama CannonRTP — ese es el nombre interno
del plugin, y es donde están tanto su carpeta imports como su contenido instalado.
Reglas de importación manual
- Mantén el paquete descargado comprimido a menos que la documentación específica del plugin diga lo contrario.
- Coloca el paquete en la carpeta
importscorrecta. - Recarga o reinicia el plugin si la documentación específica del plugin lo requiere.
- Vuelve a abrir el menú de configuración después para confirmar el estado de instalación.
El importador compartido puede procesar:
- paquetes
.zipcolocados enimports - ciertas carpetas ya descomprimidas si incluyen
pack.meta - archivos
.bbmodelparaFreeMinecraftModels
Los archivos comprimidos se extraen en una carpeta de preparación oculta dentro de imports y solo se instalan desde ahí. El importador elimina esa carpeta de preparación tanto si la operación tiene éxito como si falla, así que una importación fallida normal deja el zip original listo para reintentar en lugar de un paquete a medio extraer visible junto a él.
Qué acepta el importador
pack.meta decide adónde va el contenido
Un paquete puede incluir un archivo pack.meta en el nivel superior que indique la plataforma de plugin a la que va dirigido — elitemobs, betterstructures, freeminecraftmodels, eternaltd, extractioncraft, resurrectionchest, megablocksurvivors o worldcannon (también se acepta como cannonrtp o world_cannon). Ese nombre se compara sin distinguir mayúsculas de minúsculas y se ignoran los espacios circundantes, los finales de línea y una marca de orden de bytes inicial, así que un archivo guardado por un editor de Windows funciona sin problemas.
Si el archivo comprimido no tiene pack.meta, se trata como un paquete para el plugin en cuya carpeta imports se dejó caer.
Si pack.meta indica algo que el importador no conoce, el paquete es rechazado y el zip se deja en imports para que puedas corregirlo e intentarlo de nuevo.
Los nombres de las carpetas de nivel superior deben ser reconocidos
El importador dirige cada carpeta de nivel superior del paquete a un destino según su nombre. Algunos nombres funcionan para todas las plataformas:
| Carpeta | Va a |
|---|---|
worldcontainer | El contenedor de mundos del servidor (cada subcarpeta se convierte en un mundo) |
models o modelengine | La carpeta de modelos de FreeMinecraftModels, o la carpeta de blueprints de ModelEngine si solo está instalado ModelEngine |
scripts | plugins/FreeMinecraftModels/scripts |
freeminecraftmodels, elitemobs, betterstructures | La carpeta de datos de ese plugin (plugins/FreeMinecraftModels, plugins/EliteMobs o plugins/BetterStructures). Organiza la carpeta igual que la carpeta de datos, por ejemplo freeminecraftmodels/enchantments/ |
pack.meta | Se ignora — son metadatos, no contenido |
Los modelos de freeminecraftmodels/models/ van a la carpeta de modelos que lea FreeMinecraftModels, incluida la carpeta Models de una instalación antigua.
El importador resuelve las demás carpetas de nivel superior según la plataforma a la que va dirigido el paquete. Cada carpeta va a la carpeta del mismo nombre dentro de la carpeta de datos del plugin, salvo que la tabla indique otra cosa:
| Plataforma | Carpetas para ese plugin | Carpetas para otro plugin |
|---|---|---|
elitemobs | custombosses, customitems, customtreasurechests, content_packages (dungeonpackages también va ahí), customevents, customspawns, customquests, customarenas, npcs, npc_scripts, behaviors, transport_routes, transport_networks, wormholes, powers, world_blueprints, resource_pack, enchantments | Ninguna |
betterstructures | content_packages, schematics, spawn_pools, components, modules, module_generators, treasures, generators | EliteMobs: custombosses, customitems, customtreasurechests, powers, enchantments |
freeminecraftmodels | content_packages, recipes, enchantments | EliteMobs: customitems, que se omite cuando EliteMobs no está habilitado |
eternaltd | npcs, levels, waves, worlds, content_packages, content_markers | Ninguna |
resurrectionchest | content_packages | Ninguna |
worldcannon | content_packages, cannons (fun_rtps también va ahí), y cannonrtp, worldcannon o world_cannon para la propia carpeta de datos (plugins/CannonRTP) | Ninguna |
extractioncraft | content_packages, loot_pools, loot_tables | EliteMobs: customquests, npcs, custombosses, customitems, customtreasurechests, powers, enchantments, npc_scripts, behaviors. BetterStructures: schematics, spawn_pools, components, modules, module_generators, treasures, generators |
megablocksurvivors | content_packages, npcs, schematics, worlds, content_markers, y megablocksurvivors para la propia carpeta de datos (plugins/MegaBlockSurvivors) | Ninguna |
Una carpeta enchantments/ contiene definiciones de encantamientos y sus efectos Lua locales, y nunca usa la ruta global de scripts/. Para distribuir encantamientos de FreeMinecraftModels en el paquete de otra plataforma, usa freeminecraftmodels/enchantments/.
Una carpeta de nivel superior que el importador no reconozca para esa plataforma provoca que se rechace el paquete completo en lugar de instalarse parcialmente, y el archivo comprimido se conserva. Si tu paquete no se importa, la consola indica cuál es la carpeta problemática.
Importaciones en la carpeta de otro plugin
Los plugins leen sus carpetas de contenido al arrancar o al recargar. Cuando un paquete importa archivos en la carpeta de otro plugin:
- FreeMinecraftModels recarga automáticamente su contenido importado.
- BetterStructures recarga el contenido nuevo en cuanto termina su propio arranque. Si 10 minutos después sigue arrancando, la consola te pide que ejecutes
/bs reload. - Un paquete de BetterStructures que importa contenido de EliteMobs recarga EliteMobs.
- Cuando Extractioncraft importa paquetes, recarga BetterStructures, y también EliteMobs cuando un paquete ha añadido contenido de EliteMobs.
En los demás casos, recarga o reinicia el plugin propietario de la carpeta.
Actualizar un mundo cargado
Antes de sustituir un mundo cargado, el importador lleva a sus jugadores al punto de aparición de otro mundo cargado y pide al servidor que descargue el mundo de destino. Si no hay otro mundo disponible, falla un teletransporte o el servidor rechaza la descarga, la importación se detiene y conserva el archivo comprimido. Saca a los jugadores y resuelve el problema indicado antes de reintentar.
Archivos retirados en una importación
El plugin responsable comprueba si hay formatos de configuración retirados antes y después de las importaciones. Los archivos coincidentes se conservan en plugins/MagmaCore/outdated files/, fuera de las carpetas de contenido activo. Si un paquete antiguo instala contenido retirado, descarga su versión actualizada. Consulta los archivos de configuración retirados.
Archivos que una actualización de paquete deja de incluir
Las importaciones copian y sobrescriben archivos, así que por sí solas dejarían atrás un archivo que una versión más reciente del paquete ha eliminado, y el plugin seguiría cargándolo. Por eso MagmaCore registra los archivos que cada paquete instala dentro de la carpeta plugins en plugins/MagmaCore/import manifests/, con un archivo JSON por paquete. Nombra el paquete según el zip o la carpeta sin .zip y sin una versión final como _v22, así que the-vampire-manor_v22.zip y the-vampire-manor_v23.zip son el mismo paquete.
Cuando la siguiente importación de ese paquete ya no incluye un archivo que instaló la importación anterior, el importador mueve el archivo a plugins/MagmaCore/outdated files/<plugin folder>/<time>-<package>/, conservando su ruta dentro de la carpeta del plugin, y la consola enumera los archivos movidos. El movimiento forma parte de la transacción de importación, así que una importación fallida devuelve los archivos a su sitio. Los archivos se mueven en lugar de borrarse, así que las ediciones que hayas hecho en ellos quedan en la copia archivada.
Un archivo se queda donde está cuando:
- el registro de otro paquete todavía lo enumera
- la importación anterior y la actual no comparten ningún archivo, lo que significa que un paquete sin relación reutilizó el nombre
- está fuera de la carpeta
plugins, como una carpeta de mundo, que las importaciones sustituyen por completo
La primera importación registrada de un paquete no archiva nada. La limpieza empieza con su siguiente actualización.
Las importaciones fallidas se revierten
Si la reversión queda incompleta, MagmaCore conserva el directorio de recuperación y registra su ruta y los destinos que no pudo restaurar. Conserva esos archivos y resuelve los errores indicados antes de reintentar la importación.
Una importación se aplica como una única transacción. Los archivos existentes se respaldan antes de ser reemplazados, las carpetas de mundo reemplazadas se apartan en lugar de borrarse, y cualquier fallo a mitad de proceso revierte todos los destinos que el paquete hubiera tocado. El zip se queda en imports para volver a intentarlo después de resolver el fallo. Si la propia reversión encuentra un error del sistema de archivos, la consola informa explícitamente de que la reversión quedó incompleta y te indica que revises los destinos registrados antes de reintentar.
El archivo comprimido solo se elimina cuando la importación se ha confirmado por completo. Si ves un paquete todavía en imports después de una recarga, es el importador diciéndote que no se instaló — revisa la consola para ver el motivo.
Diferencias importantes
Ruta dentro del juego
- con reconocimiento de token
- puede mostrar contenido bloqueado y desactualizado
- generalmente se recarga automáticamente después de operaciones masivas
- refleja el flujo de trabajo administrativo actualmente previsto
Ruta manual
- funciona sin acceso a descargas dentro del juego
- requiere que gestiones los archivos zip tú mismo
- puede requerir una recarga del plugin
- puede dejar contenido en un estado de descargado-pero-no-habilitado dependiendo del plugin
- puede exponer problemas de estructura del paquete que la ruta de acceso dentro del juego normalmente ocultaría hasta el momento de la instalación