Saltar para o conteúdo principal

Ligação de conta Nightbreak e tokens

Os downloads de conteúdo gerido pelo Nightbreak utilizam um token de conta partilhado através do MagmaCore. Vincule um servidor uma vez e todos os plugins MagmaGuy compatíveis nesse servidor usam o mesmo token.

  1. Execute /nightbreaklogin sem token, no jogo ou a partir da consola.
  2. O servidor imprime uma ligação do nightbreak.io e um código, como K7QF-9XMB. No jogo, a ligação é clicável.
  3. Abra a ligação, inicie sessão ou crie uma conta Nightbreak gratuita, confirme que a página mostra o mesmo código que o servidor e aprove o servidor.
  4. Em poucos segundos, o servidor guarda o token da sua conta, indica o nome da conta a que ficou vinculado e lembra-o de que /nightbreaklogout o desliga.
  5. Reinicie o servidor para concluir a configuração.

A ligação expira ao fim de 30 minutos. Se expirar ou for recusada, execute /nightbreaklogin novamente para obter uma nova. Iniciar uma nova vinculação cancela a anterior.

A página de aprovação indica o servidor, o plugin e a versão do Minecraft que fizeram o pedido. Se o servidor estiver numa rede diferente daquela a que o seu token está associado, a página avisa que a vinculação bloqueia o acesso dos seus servidores na rede antiga durante um período de até 48 horas.

A aprovação entrega ao servidor o token que a sua conta já tem, pelo que os servidores que vinculou antes continuam a funcionar. Uma conta sem token recebe um. Se o seu token foi criado antes de existir a vinculação de servidores, a página pede para o substituir. Substituí-lo desliga todos os servidores que usavam o token antigo até voltar a vincular cada um deles.

Um servidor que já tem um token em funcionamento não muda de conta sozinho. Após a aprovação, mantém o token antigo e pede-lhe que execute /nightbreaklogin confirm no prazo de 5 minutos para mudar. Se o Nightbreak tiver rejeitado o token guardado, a ligação aprovada substitui-o de imediato.

A opção Configuração recomendada (Recommended Setup) do menu de configuração inicial de BetterStructures, FreeMinecraftModels, EternalTD, CannonRTP e ResurrectionChest inicia uma vinculação por si quando o servidor ainda não está vinculado.

Se o servidor não conseguir aceder a nightbreak.io, ou se a vinculação não estiver disponível, o comando indica-o e remete-o para a via do token abaixo.

A via do token continua a funcionar, por exemplo em configurações automatizadas ou quando não é possível iniciar uma vinculação.

  1. Abra a sua página de conta Nightbreak.
  2. Gere o seu token de servidor clicando no botão Generate New Token.
image
  1. Copie o comando da página da conta e execute-o no jogo:
/nightbreaklogin <token>
  1. Reinicie o servidor para concluir a configuração do token.

Generate New Token substitui e invalida o token anterior; use esta mesma ação para revogar um token exposto. Os tokens existentes ficam ocultos e não podem ser copiados novamente. Guarde o novo comando em segurança e atualize todos os servidores que usavam o token anterior, ou vincule cada um novamente com /nightbreaklogin.

Depois de o token ser guardado, por uma ligação ou por este comando, os plugins MagmaGuy compatíveis no mesmo servidor podem usá-lo para verificações de acesso e downloads do Nightbreak.

A mensagem de sucesso confirma que o token foi guardado localmente. O comando não verifica de imediato o acesso autenticado. Abra um menu de conteúdo ou solicite uma descarga autorizada para confirmar que o Nightbreak aceita o token e que a conta associada tem acesso ao pacote.

Cada plugin carregado verifica a data de modificação do ficheiro partilhado na próxima consulta ao token. Assim, pode detetar um novo token sem reiniciar. O reinício continua a ser o passo final recomendado, porque certas tarefas de arranque, incluindo as descargas automáticas de atualizações, só são iniciadas durante a ativação do plugin.

A permissão partilhada registada pelo MagmaCore para este comando é nightbreak.login, que por defeito está disponível para operadores do servidor, a menos que um administrador a altere.

Os tokens emitidos pelo Nightbreak começam por nbk_. Se colar algo que não comece assim, o comando avisa-o e guarda-o na mesma. Valores vazios e o marcador de posição literal YOUR_TOKEN_HERE são recusados de imediato.

Desligar um servidor​

Para desvincular um servidor da sua conta Nightbreak, execute:

/nightbreaklogout

Isto usa a mesma permissão nightbreak.login do login. Elimina plugins/MagmaCore/nightbreak.yml por completo em vez de apagar apenas o valor, por isso não fica nenhuma cópia do token no ficheiro. Os plugins carregados veem o ficheiro desaparecer na verificação de token seguinte e voltam ao comportamento de não vinculado sem reinício.

Use isto antes de entregar um servidor a outra pessoa, antes de carregar uma cópia do servidor para qualquer lado, ou se suspeitar que o token foi comprometido. Terminar sessão apenas remove o token deste servidor — revogue-o também na página de conta Nightbreak se houver hipótese de ter sido exposto.

  1. Abra a sua página de conta Nightbreak.
  2. Desça até à secção Linked Accounts e clique no botão Link do serviço que pretende vincular.
image
  1. Será levado para a página do serviço, onde lhe será pedido que inicie sessão caso ainda não o tenha feito, e depois diretamente para a janela de autorização, onde lhe será pedido que permita ao Nightbreak aceder aos dados necessários para vincular as contas.
  2. Depois de vincular as contas, deverá ter acesso ao conteúdo adquirido através desse serviço na sua conta Nightbreak e no jogo, se o token tiver sido configurado corretamente.

Onde o token é armazenado​

O token é armazenado em:

plugins/MagmaCore/nightbreak.yml

sob a chave token, não dentro da pasta privada de cada plugin.

Isso significa:

  • não precisa de registar o token separadamente para cada plugin
  • reinstalar um plugin não perde necessariamente o token
  • eliminar a configuração partilhada do MagmaCore pode exigir que registe o token novamente

O que o token desbloqueia​

Um token vinculado é usado para:

  • verificar se a conta do servidor pode aceder a um pacote de conteúdo
  • verificar metadados de versão remota para pacotes geridos
  • descarregar conteúdo diretamente para as pastas de importação do plugin
  • detetar se os pacotes instalados estão desatualizados
  • ativar estados do menu de configuração com reconhecimento do Nightbreak
  • descarregar JARs de plugins no jogo, tanto atualizações de plugins como plugins em falta a partir de /nightbreak plugins. O Nightbreak só permite estes descarregamentos a apoiantes. No caso das atualizações de plugins, isso significa uma subscrição de apoiante Patreon ativa

Não contorna requisitos específicos do plugin, tais como:

  • instalar um pacote de recursos
  • ativar um pacote de conteúdo no menu de configuração
  • manter as dependências instaladas

Notas de segurança​

  • Trate o token como uma credencial do servidor.
  • Não o publique em chat público, capturas de ecrã ou registos de suporte.
  • Se pensa que foi comprometido, execute /nightbreaklogout e depois revogue-o na página de conta Nightbreak e gere um novo.
  • O MagmaCore avisa se o token não começar por nbk_, mas ainda assim tenta guardá-lo.
  • Aprove apenas as ligações que iniciou pessoalmente e confirme que o código na página corresponde ao seu servidor. Quem vir o código de uma ligação pode aprovar esse servidor com a própria conta, e uma ligação que outra pessoa lhe envie vincularia o servidor dessa pessoa à sua conta.
  • Para desfazer uma vinculação, execute /nightbreaklogout nesse servidor. Para cortar o acesso a um servidor que já não controla, gere um novo token na página da conta. O token antigo deixa então de funcionar em todo o lado, por isso vincule novamente os seus próprios servidores.

Resolução de problemas​

"No token registered"​

O plugin ainda não deteta um token Nightbreak partilhado válido. Vincule o servidor novamente com /nightbreaklogin ou /nightbreaklogin <token> e confirme que plugins/MagmaCore/nightbreak.yml agora contém um token real em vez de um valor ausente ou de marcador de posição. Se o ficheiro nem sequer existir, ou o token nunca foi registado ou alguém executou /nightbreaklogout.

"The saved account token needs to be updated"​

O Nightbreak rejeitou o token guardado, por exemplo porque foi substituído por um token mais recente. A consola regista a primeira rejeição com a resposta do servidor e oculta os erros de token seguintes. Até registar um novo token, os descarregamentos de conteúdo, os descarregamentos de atualizações de plugins e as instalações de plugins no jogo param com esta mensagem. Execute /nightbreaklogin e aprove a ligação, que substitui de imediato o token rejeitado, ou gere um novo token na página de conta Nightbreak e execute /nightbreaklogin <token>.

/nightbreaklogin pede um token​

O primeiro plugin Nightbreak a carregar é o que regista /nightbreaklogin e, neste servidor, esse plugin é de uma versão anterior à vinculação de servidores, pelo que o comando só aceita um token. Atualize os seus plugins Nightbreak ou use a via do token.

O comando não conseguiu aceder a nightbreak.io, a vinculação está indisponível neste momento, ou o servidor pediu demasiadas ligações em poucos minutos. A mensagem indica a causa e mostra a via do token. Aguarde alguns minutos e tente novamente, ou vincule com um token.

Execute /nightbreaklogin novamente para obter uma nova ligação. Uma ligação dura 30 minutos e o servidor deixa de esperar assim que alguém a recusa na página.

O servidor já tinha um token em funcionamento. Execute /nightbreaklogin confirm nos 5 minutos seguintes à aprovação para mudar para a conta nova, ou ignore o pedido para manter a antiga.

"You don't have access to this content"​

O token é válido, mas a conta Nightbreak vinculada atualmente não desbloqueia esse pacote.

Um plugin funciona, outro não​

Verifique a página de configuração específica do plugin. Alguns plugins ainda precisam de:

  • um menu de configuração inicial completado
  • uma recarga após as importações
  • um passo de instalação do pacote de recursos
  • uma dependência opcional como FreeMinecraftModels ou ResourcePackManager