Pular para o conteúdo principal

Configuração do Nightbreak e gestão de conteúdo

Esta página é o guia de configuração partilhado para os plugins geridos pelo Nightbreak.

Aplica-se diretamente a:

  • EliteMobs
  • BetterStructures
  • FreeMinecraftModels
  • EternalTD
  • ResurrectionChest
  • WorldCannon

Estes plugins agora partilham o mesmo ciclo de vida geral:

  1. Instale o plugin e quaisquer dependências obrigatórias.
  2. Inicie o servidor uma vez para que os ficheiros e menus sejam gerados.
  3. Execute o comando de configuração inicial do plugin, se existir.
  4. Vincule um token Nightbreak com /nightbreaklogin <token>.
  5. Use o menu de configuração do plugin para navegar, instalar, ativar, desativar e atualizar conteúdo.
  6. Use os comandos de download/atualização em massa do plugin quando quiser um arranque inicial mais rápido.

O que o MagmaCore realmente partilha

O MagmaCore é a camada partilhada por trás do fluxo gerido pelo Nightbreak. Fornece:

  • o comando partilhado /nightbreaklogin <token> (permissão nightbreak.login, por padrão OP)
  • o comando partilhado /nightbreaklogout para desligar o servidor da sua conta Nightbreak (permissão nightbreak.login, por padrão OP)
  • o comando partilhado /logify para enviar o log atual do servidor para mclo.gs (permissão logify.*, por padrão OP)
  • o comando partilhado /nightbreak plugins para navegar no catálogo de plugins do Nightbreak (permissão nightbreak.plugins, por padrão OP)
  • o armazenamento partilhado do token em plugins/MagmaCore/nightbreak.yml
  • primitivas partilhadas do menu de configuração usadas pelos menus de configuração dos plugins
  • verificações partilhadas de acesso, versão e download do Nightbreak
  • lógica partilhada de download em massa que descarrega ficheiros para a pasta imports do plugin proprietário
  • a caixa de entrada de changelogs partilhada que avisa os administradores no jogo quando um plugin ou um pacote de conteúdo instalado tem notas de lançamento por ler (ver Notificações de changelog do Nightbreak)
  • o conjunto padrão de subcomandos que cada plugin gerido pelo Nightbreak regista sob o seu próprio comando raiz (ver abaixo)

/nightbreaklogin, /nightbreaklogout, /logify e /nightbreak são registados uma vez por servidor pelo primeiro plugin gerido pelo Nightbreak que carregue o MagmaCore, pelo que ficam disponíveis independentemente de qual plugin "detém" os comandos em tempo de execução.

Subcomandos padrão partilhados

Os subcomandos abaixo não são escritos por cada plugin. O MagmaCore regista as mesmas implementações sob o comando raiz que o plugin declarar (/em, /bs, /fmm, /etd, …), razão pela qual se comportam de forma idêntica em todo o lado.

SubcomandoO que fazPermissão
setupAbre o menu de configuração do plugin. Apenas para jogadores.permissão de setup do plugin
initializeAbre o menu de configuração inicial para jogadores quando o plugin regista esse fluxo. Não exige modos predefinidos; FreeMinecraftModels também o regista. Consulte a página de comandos de cada plugin.permissão de initialize do plugin
recommendedpluginsMostra os plugins complementares recomendados (menu no jogo, lista em chat a partir da consola).permissão de setup do plugin
downloadpluginupdateDescarrega apenas um jar de atualização do plugin. Sem conteúdo.permissão de admin do plugin
downloadallDescarrega a atualização do plugin e depois todo o conteúdo disponível.permissão de admin do plugin
downloadallcontentDescarrega todo o conteúdo disponível, sem atualização do plugin. Só é registado por plugins que incluem pacotes de conteúdo.permissão de setup do plugin
updatecontent (alias updateallcontent)Descarrega atualizações apenas para o conteúdo já desatualizado. Só é registado por plugins que incluem pacotes de conteúdo.permissão de setup do plugin
forcereinstallcontent <package|all>Volta a descarregar conteúdo através do caminho normal de importação autenticada e recarga, mesmo quando a versão instalada já está atualizada. all abrange todos os pacotes que estejam descarregados, instalados ou desatualizados; indique diretamente o slug de um pacote se os seus ficheiros estiverem completamente em falta. Só é registado por plugins que incluem pacotes de conteúdo.permissão de admin do plugin

O nó de permissão exato por trás de cada coluna é escolhido pelo plugin, por isso consulte a página do próprio plugin para saber os nomes dos nós. initialize é um fluxo de orientação inicial — não substitui o menu de configuração nem os comandos de gestão de conteúdo.

Como o downloadall começa pela atualização do plugin, ele para antes do passo de conteúdo quando a conta não tem token ou quando a autenticação do token falha. Corrija primeiro o token e depois volte a executá-lo.

O MagmaCore também possui um sistema de inicialização separado no arranque do plugin, mas não é a mesma coisa que os comandos initialize orientados ao jogador documentados aqui.

Atualizações automáticas

Cada plugin gerido pelo Nightbreak escreve uma chave partilhada no seu próprio config.yml:

nightbreak:
autoDownloadPluginUpdates: false

Quando definida como true, esse plugin descarrega automaticamente, alguns minutos após o arranque:

  • um jar de atualização do plugin disponível, e
  • ficheiros de atualização para quaisquer pacotes de conteúdo desatualizados que ele gira.

As atualizações de plugin e de conteúdo descarregadas são usadas depois de o servidor reiniciar — nada é trocado a quente num servidor em execução. A definição tem false por padrão, pelo que, de origem, continua a usar o botão de atualização no jogo.

Os downloads automáticos do jar do plugin exigem tanto um token de conta válido como uma subscrição de apoiante ativa no Patreon associada à conta Nightbreak vinculada. Sem isso, o download é recusado e o plugin regista o motivo. Os downloads também são verificados: o jar passa por verificação de checksum e é validado como um artefacto de plugin real antes de ser colocado na pasta update do servidor, e uma verificação falhada descarta o ficheiro em vez de o instalar.

Independentemente da definição de download automático, cada plugin volta a verificar discretamente se existe uma versão mais recente cerca de uma vez por hora, para que o menu de configuração possa mostrar um estado de atualização correto. Essa verificação nunca descarrega nada por si só.

Fluxo recomendado para proprietários de servidores

1. Instale primeiro o plugin

Coloque o ficheiro jar do plugin e quaisquer dependências obrigatórias em plugins/, depois inicie o servidor uma vez.

2. Execute o fluxo de configuração inicial

Se o plugin expõe um comando initialize, use-o primeiro. Os menus atuais são concebidos para:

  • marcar a configuração inicial como concluída
  • direcioná-lo para a vinculação de conta Nightbreak
  • direcioná-lo para o menu de configuração atual
  • esclarecer quando as importações manuais ainda são válidas

Abre o menu de configuração inicial para jogadores quando o plugin regista esse fluxo. Não exige modos predefinidos; FreeMinecraftModels também o regista. Consulte a página de comandos de cada plugin.

3. Vincule a sua conta Nightbreak

Aceda à página da conta Nightbreak, obtenha o seu token de servidor e execute:

/nightbreaklogin <token>

O token é partilhado através do MagmaCore, pelo que um token vinculado pode ser reutilizado por todos os plugins MagmaGuy compatíveis nesse servidor.

4. Use o menu de configuração para a gestão diária de conteúdo

Os menus de configuração são a fonte de verdade atual para:

  • estados dos pacotes
  • estados de acesso
  • conteúdo instalado vs descarregado
  • conteúdo parcialmente instalado que precisa de reparação
  • conteúdo desatualizado
  • filtros de conteúdo por categoria

Se tiver um token vinculado, os menus de configuração são o local recomendado para instalar e atualizar conteúdo.

5. Use a instalação/atualização em massa quando quiser velocidade

Use o comando downloadall quando quiser configurar um servidor rapidamente e o comando updatecontent quando quiser atualizar tudo o que estiver desatualizado.

O descarregador em massa partilhado só tenta pacotes geridos pelo Nightbreak que:

  • têm um slug Nightbreak
  • são acessíveis ao token vinculado
  • ainda não foram descarregados ou estão marcados como desatualizados

Os comandos interativos em massa pedem ao plugin proprietário que recarregue depois de pelo menos um download bem-sucedido. Os downloads automáticos de conteúdo no arranque deliberadamente não recarregam o plugin; só produzem efeito depois de o servidor reiniciar.

Conceitos partilhados

Descarregado vs instalado

Um pacote pode existir localmente sem estar ativado. O significado exato varia ligeiramente consoante o plugin, mas o estado do menu de configuração importa mais do que a existência de um zip em imports.

Os downloads em massa também vão para a mesma pasta imports do plugin usada pelas importações manuais, antes de o passo de importação/recarga específico do plugin terminar.

Conteúdo com reconhecimento de acesso

Os menus de configuração agora podem distinguir entre conteúdo que:

  • está disponível para o seu token
  • precisa de ser comprado ou desbloqueado
  • está instalado
  • está apenas parcialmente instalado
  • está descarregado mas desativado
  • está desatualizado

As importações manuais continuam válidas

Os plugins geridos pelo Nightbreak ainda suportam fluxos de importação manual. A importação manual é agora o caminho alternativo, não o caminho predefinido. Consulte Importações manuais vs gestão no jogo.

Plugins que não usam este fluxo

Nem todos os plugins nesta wiki usam conteúdo descarregável gerido pelo Nightbreak.

  • BetterFood não usa gestão de pacotes Nightbreak
  • ResourcePackManager gere pacotes de recursos, não pacotes DLC Nightbreak

Ambos esses plugins continuam a registar a estrutura de configuração partilhada e os comandos partilhados de atualização de plugin e de changelog; o que lhes falta são pacotes de conteúdo Nightbreak.

O ResurrectionChest e o WorldCannon não são exceções — ambos declaram pacotes de conteúdo, ambos registam os subcomandos de conteúdo partilhados e ambos usam o importador partilhado, pelo que também aceitam zips de pacotes colocados manualmente. Consulte Importações manuais vs gestão no jogo.