Repository navigation
Operacao
Tudo o que você faz no dia a dia passa pelo Jarl, o painel em /jarl/.
O menu da esquerda se divide em duas partes:
- Controle: o servidor em si. Console, Arquivos, Mundo, Server Config, Mod Config e Mod Manager.
- Administração: o resto. Aparência (o site; veja o Layout Editor), Logs, Sagas, Tarefas, Backups, Auditoria e Sobre e atualizações.
Uma regra vale para o painel inteiro: toda ação que desliga o jogo, apaga ou restaura alguma coisa pede confirmação numa janela dentro do próprio painel. Isso importa porque, se fosse um pop-up do navegador, um navegador configurado para bloquear pop-ups pularia a pergunta sem você perceber.
É a tela inicial do Jarl. Nela você liga, reinicia e desliga o servidor, vê o endereço, a memória em uso, há quanto tempo ele está no ar, quantos vikings estão online e o dia no mundo. Logo abaixo fica o log ao vivo do jogo (com a opção de seguir o fim) e o estado dos serviços do Heimdall.
Um gerenciador de arquivos do servidor, direto no navegador. Arraste arquivos
do seu computador para enviar; clique com o botão direito num item para
baixar, copiar, recortar, colar ou descompactar. Toda gravação e toda remoção
guardam uma cópia antes, em /var/backups/heimdall-panel (no Windows,
C:\ProgramData\HeimdallNexus\backups\panel). Ainda assim, trate
a cópia como um consolo, não como um "desfazer": é daqui que se apaga um mundo
sem querer.
Aqui ficam o nome do servidor, o mundo, a porta, se ele aparece na lista pública, o crossplay, a descrição e a senha do jogo.
Sobre a senha: a atual nunca é mostrada, e deixar o campo vazio mantém a que
já existe. Ela é obrigatória, porque o Valheim exige. Só dá para tirar a senha
com um mod de servidor sem senha instalado (como o serverblankpassword), e
aí aparece a opção Servidor sem senha. O jogo também recusa uma senha que
esteja contida no nome do servidor. A descrição vai para o status do site, já
que o Valheim não tem uma opção de descrição própria.
Mais abaixo, Opções de inicialização mostra o comando com que o servidor vai ser iniciado, uma opção por linha, montado a partir do que você escolheu. É só para leitura, e a senha aparece oculta. Serve para conferir o resultado antes de reiniciar.
Mudanças nessas opções só valem depois que o jogo reinicia. Se ele estiver ligado, o painel oferece Reiniciar para aplicar. Cuidado com o nome do mundo: trocar esse campo faz o servidor criar (ou abrir) outro mundo no próximo início.
Versão 1.3.0 ou mais nova. O cartão Endereço muda o endereço do site e do painel e o endereço de conexão que o site mostra aos jogadores para entrarem no Valheim (em branco, é o mesmo do site). Salvar atualiza tudo o que depende deles: a configuração do servidor do site, o link do site e, no Windows, os botões do aplicativo. Antes, o próprio servidor do site testa o nome novo e, se recusar, nada muda. O jogo não reinicia, e o endereço de conexão aparece no site na próxima atualização do status, em alguns minutos.
A chave HTTPS mostra http:// ou https:// antes do endereço:
- No Windows, ela liga e desliga o HTTPS de verdade. Ligada, o endereço precisa ser um domínio que aponte para o computador, com as portas TCP 80 e 443 liberadas no roteador, e o cartão pede o e-mail do certificado, que o Caddy pede e renova sozinho. O painel reinicia uma vez para trocar os cookies.
- No Linux, ela mostra como o site foi instalado e fica travada: ligar ou desligar o HTTPS pelo painel ainda não é possível. Um site com HTTPS também mantém o domínio, porque o certificado vale só para ele.
Caution
Um endereço errado deixa o site e o painel fora do ar, e o cartão avisa disso
em vermelho. Para voltar, entre no painel direto, sem passar pelo servidor do
site: no Windows, abra http://localhost:8791/jarl/ no próprio computador; no
Linux, abra um túnel com ssh -L 8791:127.0.0.1:8791 usuario@servidor e entre
em http://localhost:8791/jarl/. Depois, volte a configuração anterior.
Reinstalar servidor pede a senha do painel, desliga o jogo se estiver ligado e verifica os arquivos oficiais pelo SteamCMD. Mundos, configurações e mods ficam em pastas separadas e não são tocados, mas faça um backup antes mesmo assim. O jogo continua desligado depois da reinstalação.
A aba Mundo mostra o mundo atual (nome, seed, tamanho, último save e os personagens que já entraram) e é onde você troca de mundo.
O wipe recomeça o mundo, os personagens ou os dois. Você escolhe o nome do
mundo novo, uma seed (ou clica em Sortear) e os modificadores (combate,
morte, recursos, invasões, portais). Para confirmar, digita o nome do mundo
atual e clica em Fazer wipe. Antes de mexer em qualquer coisa, o painel faz
o backup completo de sempre. Nada é apagado de verdade: o que sai vai para
/srv/valheim/wipes/ (no Windows, C:\ProgramData\HeimdallNexus\valheim\wipes),
com data, e pode ser recuperado pela aba Arquivos.
Se você gerou um mundo no próprio jogo, use Usar um mundo gerado no jogo:
compacte a pasta dele em .zip, envie, digite o nome e clique em Enviar e
instalar. Wipes anteriores lista o que já foi feito.
Nos dois casos, o servidor fica desligado no fim, para você conferir tudo antes de abrir as portas. Ligue pelo Console. O mapa do site passa a mostrar o mundo novo depois do primeiro save.
O editor das configurações dos mods, que continuam em BepInEx/config.
Procure o mod pelo nome, edite e grave. A maioria dos mods só lê o arquivo ao
ligar, então, na dúvida, reinicie o servidor depois de gravar. Os itens
marcados como [Synced with Server] valem para todos os jogadores: o servidor
manda o valor dele para quem entra.
Instala, atualiza e remove mods do Hexium ou da Thunderstore. Se um pacote existe nas duas lojas, ele aparece uma vez só, pela loja com a versão mais nova (no empate, vale o Hexium). A aba Instalados mostra o que está no servidor e avisa quando há versão nova; a aba Catálogo é a loja.
Toda mudança desliga o jogo (se estiver ligado), guarda uma cópia do que vai ser substituído e deixa o jogo desligado no fim. Assim você faz várias mudanças seguidas sem o servidor ficar subindo e caindo, e liga uma vez só, no Console, quando terminar.
O chat de dentro do jogo e as ações de administração que chegam ao servidor (como kick e save), numa sessão por reinício. Dá para filtrar entre tudo e só o chat, e buscar por texto. Comandos como spawn, god e fly não aparecem: eles rodam no computador do jogador e nunca viram um pedido ao servidor.
Rotinas que rodam sozinhas em horários marcados, como o reinício da
madrugada. Cada rotina tem um nome e um horário no formato cron, com cinco
campos. Por exemplo, 0 4 * * * quer dizer "todo dia às 04:00", e
0 */6 * * *, "a cada seis horas". O horário segue o fuso da máquina.
Com Adicionar tarefa você monta, em ordem, o que a rotina faz: ligar,
desligar, reiniciar ou criar backup, cada passo podendo esperar alguns
segundos antes. Não existe execução de comando arbitrário, de propósito.
Apenas quando o servidor estiver online pula a rotina se o jogo estiver
desligado, e Rotina ativada pausa sem apagar. Quem confere as rotinas é o
heimdall-schedule.timer, uma vez por minuto.
Criar backup agora guarda os mundos, as configurações e as opções de partida. Para a cópia sair consistente, o jogo é desligado durante o backup e continua desligado depois; ligue de novo pelo Console.
Na lista, cada backup pode ser baixado, restaurado, travado ou apagado. Um backup travado não pode ser apagado pelo painel, o que é útil para guardar aquele mundo antes de um wipe. Antes de restaurar, o painel faz mais um backup do estado atual, então dá para voltar atrás. Os pacotes de manutenção de mods também aparecem aqui, mas só para baixar: pela tela, só se restauram backups de mundo.
O histórico de tudo o que o painel fez, e também do que ele recusou: quando, quem, qual ação e o resultado. É o primeiro lugar para olhar quando alguém pergunta "quem desligou o servidor?".
Vá em Jarl → Sobre e atualizações. Ali você vê a versão instalada e
escolhe o canal de atualização: o main, que é o estável e o recomendado,
ou um ramo dev/…, que traz novidades antes, mas pode ter erros. Use os
canais de desenvolvimento só num servidor de teste.
Clique em Procurar atualizações, leia a lista de mudanças e, se estiver
tudo certo, clique em Atualizar. A barra mostra cada etapa e o tempo
passado. Se der certo, o aviso some sozinho; se falhar, ele fica na tela com
um código HN-…, uma orientação e o registro técnico para copiar.
A atualização não reinicia o Valheim. Se ela trouxer uma ponte Sagas nova, a ponte é trocada, mas só passa a valer quando você reiniciar o jogo.
A captura usa dados de exemplo.
Instalações antigas, que ainda não têm essa aba, precisam ser atualizadas uma vez pelo terminal:
cd ~/Heimdall-Nexus
git fetch origin
git switch main
git pull --ff-only origin main
sudo ./deploy/update.shO update.sh troca o código do painel e das ferramentas em
/opt/heimdall-nexus, atualiza os scripts do site, republica o site e
reinicia o painel. Mundos, mods, configurações do jogo, páginas e a identidade
do site continuam como estavam, e o servidor de Valheim não é reiniciado.
No Windows, o equivalente roda no PowerShell como administrador, na pasta de onde você instalou:
cd C:\HeimdallNexus-src
git pull --ff-only
& "$env:ProgramFiles\HeimdallNexus\venv\Scripts\python.exe" deploy\windows\update.pyEle faz os mesmos passos. A única diferença: por alguns segundos, o painel, o executor e os jobs pausam, porque o Windows não deixa trocar uma biblioteca que um serviço está usando. O Valheim continua ligado.
Caution
Estes comandos apagam os mundos, os backups, o site e as configurações da instalação. Use só numa VM de teste.
cd ~/Heimdall-Nexus
sudo ./deploy/reset-vm.sh --check
sudo ./deploy/reset-vm.sh --purge
sudo ./deploy/install.shO reset funciona tanto numa instalação completa quanto numa que parou no
meio, e pede que você digite RESET HEIMDALL VM para confirmar. O repositório
Git e os pacotes do APT ficam. A conta Linux do painel é removida (assim você
pode escolher o mesmo nome de novo), e a conta valheim é mantida.
No Windows, no PowerShell como administrador:
cd C:\HeimdallNexus-src
powershell -ExecutionPolicy Bypass -File .\deploy\windows\uninstall.ps1 -RemoveData
git pull --ff-only
powershell -ExecutionPolicy Bypass -File .\deploy\windows\install.ps1O desinstalador pede que você digite REMOVE. O Python privado do Heimdall
fica, o que deixa a reinstalação mais rápida; acrescente -RemovePython para
tirá-lo também. Veja as outras opções em Instalação no Windows.
Se o seu servidor usa mods que não estão publicados, você pode montar um
modpack em .zip, no mesmo formato de pacote do Hexium e da Thunderstore:
manifest.json author, name, version_number, description, dependencies
plugins/<Mod>/... DLLs dos mods próprios ou modificados
patchers/<Mod>/... patchers do BepInEx, se houver
config/... configurações (opcional)
Em dependencies entram os mods públicos, no formato Autor-Nome-Versão; a
instalação baixa esses do Hexium ou da Thunderstore. Os mods que vão dentro do
.zip ficam cada um na sua pasta em BepInEx/plugins.
O jeito mais fácil é gerar o pacote a partir de um servidor já montado:
sudo python3 ferramentas/criar-modpack.py /var/lib/heimdall-nexus/modpacks/MeuServidor-1.0.0.zip \
--author MeuTime --name MeuServidor --version 1.0.0No Windows, no PowerShell como administrador, na pasta do Heimdall:
& "$env:ProgramFiles\HeimdallNexus\venv\Scripts\python.exe" ferramentas\criar-modpack.py `
C:\ProgramData\HeimdallNexus\state\modpacks\MeuServidor-1.0.0.zip --author MeuTime --name MeuServidor --version 1.0.0O gerador compara cada mod instalado com o pacote oficial da mesma versão. Se
todas as DLLs forem idênticas, o mod entra como dependência; se ele não for
publicado ou tiver sido modificado, vai dentro do .zip. As configurações só
entram com --with-config, e mesmo assim a pasta do AzuAntiCheat e arquivos
com nomes como webhook, token ou senha ficam de fora.
Para instalar, envie o .zip para a máquina e informe o caminho completo
(por exemplo /root/MeuServidor-1.0.0.zip) no campo Modpack do assistente. O
progresso mostra o SHA-256 de cada DLL incluída. Lembre que um .zip executa
código no servidor, então use só pacotes de origem confiável. E os mods que
também precisam estar no computador dos jogadores continuam precisando chegar
até eles por outro caminho.
Heimdall Nexus by BRKiHeL · PolyForm Noncommercial 1.0.0 · Not affiliated with Iron Gate AB or Coffee Stain.
English
Português