Configuración de Nightbreak y gestión de contenido
Esta página es la guía de configuración compartida para los plugins gestionados por Nightbreak.
Se aplica directamente a:
- EliteMobs
- BetterStructures
- FreeMinecraftModels
- EternalTD
- ResurrectionChest
- WorldCannon
Estos plugins ahora comparten el mismo ciclo de vida general:
- Instala el plugin y cualquier dependencia obligatoria.
- Inicia el servidor una vez para que se generen los archivos y menús.
- Ejecuta el comando de configuración inicial del plugin si tiene uno.
- Vincula el servidor a tu cuenta de Nightbreak con
/nightbreakloginy después apruébalo en el enlace que imprime. - Usa el menú de configuración del plugin para explorar, instalar, habilitar, deshabilitar y actualizar contenido.
- Usa los comandos de descarga/actualización masiva del plugin cuando quieras un arranque inicial más rápido.
Qué comparte realmente MagmaCore
MagmaCore es la capa compartida detrás del flujo gestionado por Nightbreak. Proporciona:
- el comando compartido
/nightbreaklogin, que vincula el servidor desde un navegador o guarda un token que pegues (permisonightbreak.login, por defecto OP) - el comando compartido
/nightbreaklogoutpara desconectar el servidor de su cuenta de Nightbreak (permisonightbreak.login, por defecto OP) - el comando compartido
/logifypara subir el registro actual del servidor a mclo.gs (permisologify.*, por defecto OP). Subelogs/latest.log, o el archivo.logmás reciente si falta, enmascara antes los dígitos de las direcciones IPv4 y los puertos, y responde con un enlace clicable - el comando compartido
/nightbreak pluginspara explorar el catálogo de plugins de Nightbreak (permisonightbreak.plugins, por defecto OP) - el almacenamiento compartido de tokens en
plugins/MagmaCore/nightbreak.yml - primitivas compartidas del menú de configuración usadas por los menús de configuración de los plugins
- verificaciones compartidas de acceso, versión y descarga de Nightbreak
- lógica compartida de descarga masiva que descarga archivos en la carpeta
importsdel plugin propietario - la bandeja de entrada de changelogs compartida, que avisa a los administradores dentro del juego cuando un plugin o un paquete de contenido instalado tiene notas de versión sin leer (consulta Notificaciones de changelog de Nightbreak)
- actualizaciones de plugins sin reinicio mediante
applypluginupdatey la opciónnightbreak.applyPluginUpdatesWithoutRestart(consulta más abajo) - el conjunto estándar de subcomandos que cada plugin gestionado por Nightbreak registra bajo su propio comando raíz (ver más abajo)
/nightbreaklogin, /nightbreaklogout, /logify y /nightbreak se registran una vez por servidor por el plugin gestionado por Nightbreak que cargue MagmaCore primero, por lo que están disponibles independientemente de qué plugin sea su "propietario" en tiempo de ejecución.
Subcomandos estándar compartidos
Los subcomandos de abajo no los escribe cada plugin. MagmaCore registra las mismas implementaciones bajo el comando raíz que declare el plugin (/em, /bs, /fmm, /etd, …), y por eso se comportan de forma idéntica en todas partes.
| Subcomando | Qué hace | Permiso |
|---|---|---|
setup | Abre el menú de configuración del plugin. Solo jugadores. | permiso de setup del plugin |
initialize | Abre el menú de configuración inicial para jugadores si el plugin registra ese flujo. No requiere modos preestablecidos; FreeMinecraftModels también lo registra. Consulta la página de comandos de cada plugin. | permiso de initialize del plugin |
recommendedplugins | Muestra los plugins complementarios recomendados (menú en el juego, lista en chat desde consola). | permiso de setup del plugin |
downloadpluginupdate | Descarga solo el jar de actualización del plugin. Sin contenido. | permiso de admin del plugin |
applypluginupdate | Aplica una actualización del plugin ya descargada sin reiniciar el servidor. Consulta Aplicar actualizaciones sin reiniciar. | permiso de admin del plugin |
downloadall | Descarga la actualización del plugin y después todo el contenido disponible. | permiso de admin del plugin |
downloadallcontent | Descarga todo el contenido disponible, sin actualización del plugin. Solo lo registran los plugins que incluyen paquetes de contenido. | permiso de setup del plugin |
updatecontent (alias updateallcontent) | Descarga actualizaciones solo para el contenido ya desactualizado. Solo lo registran los plugins que incluyen paquetes de contenido. | permiso de setup del plugin |
forcereinstallcontent <package|all> | Vuelve a descargar contenido a través de la ruta normal autenticada de importación y recarga, incluso cuando la versión instalada ya está al día. all cubre todos los paquetes que estén descargados, instalados o desactualizados; pasa directamente el slug de un paquete si sus archivos faltan por completo. Solo lo registran los plugins que incluyen paquetes de contenido. | permiso de admin del plugin |
El nodo de permiso exacto detrás de cada columna lo elige el plugin, así que consulta la página del propio plugin para conocer sus nombres de nodo. initialize es un flujo de guía inicial — no reemplaza el menú de configuración ni los comandos de gestión de contenido.
Como downloadall empieza por la actualización del plugin, se detiene antes del paso de contenido cuando la cuenta no tiene token o el token falló la autenticación. Arregla primero el token y después vuelve a ejecutarlo.
MagmaCore también tiene un sistema de inicialización separado al inicio del plugin, pero no es lo mismo que los comandos initialize orientados al jugador documentados aquí.
Actualizaciones automáticas
Cada plugin gestionado por Nightbreak escribe dos claves compartidas en su propio config.yml:
nightbreak:
autoDownloadPluginUpdates: false
applyPluginUpdatesWithoutRestart: never
Cuando autoDownloadPluginUpdates es true, ese plugin descarga automáticamente, unos minutos después del arranque:
- un jar de actualización del plugin disponible, y
- archivos de actualización para cualquier paquete de contenido desactualizado que gestione.
Las actualizaciones de contenido descargadas automáticamente se usan después de reiniciar el servidor. Una actualización del plugin descargada también espera a un reinicio, salvo que applyPluginUpdatesWithoutRestart la aplique antes (consulta Aplicar actualizaciones sin reiniciar). Ambas opciones vienen desactivadas, así que de serie te quedas con el botón de actualización dentro del juego. El botón Actualizaciones automáticas de la barra de herramientas del menú de configuración activa y desactiva autoDownloadPluginUpdates. Ese botón y la entrada Actualización del plugin indican cuándo se aplica una actualización del plugin descargada con el valor actual de applyPluginUpdatesWithoutRestart. Los de ResourcePackManager indican que hay que reiniciar.
ResourcePackManager solo escribe autoDownloadPluginUpdates, porque sus actualizaciones del plugin siempre necesitan un reinicio.
Las descargas del jar del plugin dentro del juego, ya sean automáticas o iniciadas desde un comando o un menú, requieren un token válido y una suscripción activa de apoyo en Patreon en la cuenta de Nightbreak vinculada. Sin ellos, la descarga se rechaza y el plugin te explica el motivo, con un enlace a la página de descarga pública. Antes de que un jar descargado reciba su nombre definitivo, en la carpeta update del servidor o, en una instalación nueva, en la carpeta plugins, MagmaCore comprueba que corresponda al nombre y la versión esperados del plugin. También se verifica su suma SHA-256 cuando Nightbreak proporciona una. Si una comprobación falla, se descarta la descarga temporal en lugar de instalarla.
Al margen de la opción de descarga automática, cada plugin vuelve a comprobar discretamente si hay una versión más reciente aproximadamente una vez por hora, para que el menú de configuración pueda mostrar un estado de actualización preciso. Esa comprobación nunca descarga nada por sí sola. Algunos plugins también registran en la consola la última versión pública cuando ese resultado cambia, y avisan a los operadores que se conectan de que su versión está desactualizada, con un enlace de descarga.
Aplicar actualizaciones sin reiniciar
Una actualización del plugin descargada espera en la carpeta update del servidor. Ejecuta /<root> applypluginupdate, por ejemplo /em applypluginupdate, para instalarla en el servidor en marcha. El comando usa el permiso de admin del plugin y también funciona desde la consola.
El cambio deshabilita el plugin y todos los plugins de MagmaGuy habilitados que dependen de él (con depend o softdepend), sustituye el jar y después los vuelve a cargar y habilitar. El chat enumera los plugins que se recargan con él. Si el nuevo jar no se habilita, se vuelve a cargar el jar anterior y la actualización se queda en la carpeta update para el siguiente reinicio. Las actualizaciones que esperan ahí para los demás plugins recargados también se quedan para el siguiente reinicio; solo cambia de versión el plugin que indicaste.
El comando se rechaza, con un mensaje, cuando:
- no hay ninguna actualización descargada esperando, o el jar en espera no es válido o no es más reciente que la versión en ejecución
- un plugin de otro autor depende de él con
dependosoftdepend. En ese caso, reinicia el servidor - ya hay otro cambio de plugin en curso
- el plugin siempre necesita un reinicio. ResourcePackManager lo rechaza porque su extensión de Geyser solo se carga cuando Geyser arranca
Usa este comando en lugar de un recargador de plugins de terceros. Hasta el cambio o un reinicio, el servidor sigue ejecutando el jar antiguo.
nightbreak.applyPluginUpdatesWithoutRestart decide qué ocurre justo después de que se descargue una actualización del plugin, tanto si la descarga vino de downloadpluginupdate, de downloadall, del menú de configuración o de una descarga automática:
| Valor | Comportamiento |
|---|---|
never | Predeterminado. La actualización espera al siguiente reinicio. Los jugadores conectados con el permiso de admin o el comodín del plugin reciben un título y un aviso en el chat de que hace falta reiniciar. El aviso menciona /<root> applypluginupdate solo cuando el plugin registra ese comando y permite actualizaciones sin reinicio. |
when-empty | Aplica la actualización al momento si no hay jugadores conectados. Si los hay, el plugin lo comprueba cada 30 segundos y la aplica cuando el servidor se vacía. |
immediately | Aplica la actualización en cuanto termina la descarga. |
Cualquier otro valor se comporta como never. Cuando when-empty o immediately se topan con uno de los rechazos anteriores, la actualización espera al siguiente reinicio. Un cambio recarga el plugin, así que los jefes, arenas e instancias de mazmorra en curso terminan.
Flujo recomendado para propietarios de servidores
1. Instala primero el plugin
Coloca el archivo jar del plugin y cualquier dependencia obligatoria en plugins/, luego inicia el servidor una vez.
2. Ejecuta el flujo de configuración inicial
Si el plugin expone un comando initialize, úsalo primero. Los menús actuales están diseñados para:
- marcar la configuración inicial como completada
- dirigirte a la vinculación de cuenta Nightbreak, o iniciar la vinculación por ti
- dirigirte hacia el menú de configuración actual
- aclarar cuándo las importaciones manuales siguen siendo válidas
Este proceso no requiere modos preestablecidos; FreeMinecraftModels también lo ofrece. Consulta la página de comandos de cada plugin para comprobar su disponibilidad.
3. Vincula tu cuenta Nightbreak
Ejecuta:
/nightbreaklogin
Abre el enlace que imprime, inicia sesión y aprueba el servidor. El servidor guarda por sí mismo el token de tu cuenta. Aún puedes pegar un token de la página de cuenta Nightbreak con /nightbreaklogin <token>. Consulta Vinculación de cuenta Nightbreak.
El token se comparte a través de MagmaCore, por lo que un token vinculado puede ser reutilizado por todos los plugins compatibles de MagmaGuy en ese servidor.
4. Usa el menú de configuración para la gestión diaria de contenido
Los menús de configuración son la fuente de verdad actual para:
- estados de paquetes
- estados de acceso
- contenido instalado vs descargado
- contenido parcialmente instalado que necesita reparación
- contenido desactualizado
- filtros de contenido por categoría
Si tienes un token vinculado, los menús de configuración son el lugar recomendado para instalar y actualizar contenido.
5. Usa la instalación/actualización masiva cuando quieras velocidad
Usa el comando downloadall cuando quieras configurar un servidor rápidamente y el comando updatecontent cuando quieras actualizar todo lo que esté desactualizado.
El descargador masivo compartido solo intenta paquetes gestionados por Nightbreak que tienen un slug de Nightbreak. De entre ellos:
downloadallydownloadallcontenteligen los paquetes que aún no están descargados o están desactualizados. La comprobación de descarga autenticada de Nightbreak decide el acceso, así que un paquete al que tu cuenta no puede acceder aparece como fallido al final.updatecontentprimero actualiza las versiones de los paquetes y después elige solo los desactualizados, omitiendo los que la comprobación de acceso ya marcó como bloqueados.
Los comandos masivos interactivos piden al plugin propietario que se recargue después de al menos una descarga exitosa. Las descargas automáticas de contenido al arrancar deliberadamente no recargan el plugin; surten efecto después de reiniciar el servidor.
Conceptos compartidos
Descargado frente a instalado
Un paquete puede existir localmente sin estar habilitado. El significado exacto varía ligeramente según el plugin, pero el estado del menú de configuración importa más que si existe un zip en imports.
Las descargas masivas también aterrizan en la misma carpeta imports del plugin utilizada por las importaciones manuales antes de que finalice el paso de importación/recarga específico del plugin.
Contenido según el acceso de la cuenta
Los menús de configuración ahora pueden distinguir entre contenido que:
- está disponible para tu token
- necesita ser comprado o desbloqueado
- está instalado
- está solo parcialmente instalado
- está descargado pero deshabilitado
- está desactualizado
Un plugin puede enumerar un paquete antes de que Nightbreak lo publique. Una vez que el plugin ha cargado la lista de paquetes publicados de Nightbreak y ese paquete no figura en ella, al hacer clic en el paquete se indica que todavía no se ha publicado en Nightbreak. Las comprobaciones de acceso y los comandos masivos, incluido forcereinstallcontent, lo omiten. Si Nightbreak aun así responde «not found» a una solicitud sobre él, la consola anota una sola vez que el paquete no se ha publicado, en lugar de registrar un error de API.
Las actualizaciones de contenido archivan los archivos descartados
Cuando un paquete actualizado ya no incluye un archivo que instaló su versión anterior, la importación mueve ese archivo a plugins/MagmaCore/outdated files/ en lugar de dejarlo cargado. Consulta Archivos que una actualización de paquete deja de incluir.
Las importaciones manuales siguen siendo válidas
Los plugins gestionados por Nightbreak aún soportan flujos de importación manual. La importación manual es ahora la ruta alternativa, no la ruta predeterminada. Consulta Importaciones manuales vs gestión dentro del juego.
Catálogo de plugins y recomendaciones
/nightbreak plugins enumera los plugins de MagmaGuy, como menú dentro del juego y como lista en el chat desde la consola. En el menú, hacer clic en un plugin instalado abre su menú de configuración. Hacer clic en un plugin que falta descarga su jar directamente en la carpeta plugins con el nombre de archivo de su catálogo, lo que requiere un token vinculado y acceso de supporter; después, el mensaje del chat te pide que reinicies el servidor para que el plugin nuevo se cargue. Si la carpeta plugins ya contiene un jar de ese plugin que el servidor no cargó, la descarga va en su lugar a la carpeta update con el nombre de ese jar. Sin token o sin acceso, el mensaje enlaza en su lugar la página de descarga pública.
/<root> recommendedplugins enumera los plugins complementarios de un plugin, cada uno etiquetado como Required, Recommended o Encouraged. Los plugins de MagmaGuy se comportan como en /nightbreak plugins. Los plugins externos, como WorldEdit, WorldGuard, LibsDisguises y PacketEvents, enlazan a sus páginas oficiales. El botón Plugins recomendados del menú de configuración abre la misma lista y se vuelve verde cuando todos los plugins enumerados están instalados.
Plugins que no usan este flujo
No todos los plugins en esta wiki usan contenido descargable gestionado por Nightbreak.
- BetterFood no usa gestión de paquetes de Nightbreak
- ResourcePackManager gestiona paquetes de recursos, no paquetes DLC de Nightbreak
Esos dos plugins sí registran el armazón de configuración compartido y los comandos compartidos de actualización del plugin y de changelog; lo que les falta son los paquetes de contenido de Nightbreak.
ResurrectionChest y WorldCannon no son excepciones — ambos declaran paquetes de contenido, ambos registran los subcomandos de contenido compartidos y ambos ejecutan el importador compartido, así que también aceptan zips de paquetes colocados a mano. Consulta Importaciones manuales vs gestión dentro del juego.