Saltar al contenido principal

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:

  1. Instala el plugin y cualquier dependencia obligatoria.
  2. Inicia el servidor una vez para que se generen los archivos y menús.
  3. Ejecuta el comando de configuración inicial del plugin si tiene uno.
  4. Vincula el servidor a tu cuenta de Nightbreak con /nightbreaklogin y después apruébalo en el enlace que imprime.
  5. Usa el menú de configuración del plugin para explorar, instalar, habilitar, deshabilitar y actualizar contenido.
  6. 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 (permiso nightbreak.login, por defecto OP)
  • el comando compartido /nightbreaklogout para desconectar el servidor de su cuenta de Nightbreak (permiso nightbreak.login, por defecto OP)
  • el comando compartido /logify para subir el registro actual del servidor a mclo.gs (permiso logify.*, por defecto OP). Sube logs/latest.log, o el archivo .log má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 plugins para explorar el catálogo de plugins de Nightbreak (permiso nightbreak.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 imports del 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 applypluginupdate y la opción nightbreak.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.

SubcomandoQué hacePermiso
setupAbre el menú de configuración del plugin. Solo jugadores.permiso de setup del plugin
initializeAbre 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
recommendedpluginsMuestra los plugins complementarios recomendados (menú en el juego, lista en chat desde consola).permiso de setup del plugin
downloadpluginupdateDescarga solo el jar de actualización del plugin. Sin contenido.permiso de admin del plugin
applypluginupdateAplica una actualización del plugin ya descargada sin reiniciar el servidor. Consulta Aplicar actualizaciones sin reiniciar.permiso de admin del plugin
downloadallDescarga la actualización del plugin y después todo el contenido disponible.permiso de admin del plugin
downloadallcontentDescarga 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 depend o softdepend. 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:

ValorComportamiento
neverPredeterminado. 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-emptyAplica 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.
immediatelyAplica 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.

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.

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:

  • downloadall y downloadallcontent eligen 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.
  • updatecontent primero 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.