Todos os guias que encontrei na criação de um servidor Valheim dedicado no Linux tinham lacunas em um lugar ou outro, Então eu decidi documentar minha própria configuração para o benefício de outros. Este guia é destinado a usuários que desejam configurar o servidor dedicado Valheim em um servidor Linux sem cabeça. Se você simplesmente deseja executar isso em um desktop sempre ativo com um login gráfico, Este guia pode não ser tão útil para você.
Este guia está escrito para o Debian 11 (Bullseye), Mas muito, se não tudo, também se aplicará ao Ubuntu, como é baseado no Debian. Crédito tem que ir para o Guia de servidores de hospedagem no Valheim Fandom Wiki Para obter informações básicas sobre como invocar o servidor executável, quais portos precisam ser expostos ao mundo exterior, e opções de configuração.
Instale o jogo via Steamcmd
SteamCMD é basicamente vapor sem cabeça para servidores sem cabeça. Precisamos fazer o download do servidor dedicado Valheim.
Configure o multiarco
Steamcmd é fornecido pelo Debian, Mas como um i386 (32-Bit x86) pacote, Então você precisará adicionar a arquitetura i386 ao DPKG no seu sistema para instalar pacotes i386. (Para mais informações, consulte Multiarch/Howto no Wiki Debian.) Para fazer isso, Execute os seguintes comandos.
$ Sudo DPKG-ADD-ARCHITETTION $ Atualização de sudo apt-get
Instale Steamcmd
Agora instale o próprio Steamcmd.
$ sudo apt-get install steamcmd
Configure um usuário e um grupo separados para o vapor
É sempre melhor executar serviços como usuário e grupo dedicado de tudo o mais em seu sistema, para que se um serviço estiver comprometido, Um invasor só pode acessar os arquivos desse serviço. (Mais tarde, endureceremos o serviço do sistema Valheim.) Normalmente você criaria um “sistema” Usuário para serviços do sistema, mas vapor, Até o Steamcmd sem cabeça, não parece se comportar corretamente, a menos que seja executado em um ambiente normal de usuário. (Veja o adduser da página do homem(8) Para detalhes sobre como um usuário do sistema é diferente de um usuário normal.)
Crie o usuário do vapor com o “adduser” comando, desativando logins como nós apenas usaremos esta conta via “sudo”.
$ sudo adduser-vapor de lugina deficientes
Execute Steamcmd
Tristemente, Steamcmd não tem uma interface muito boa, Portanto, esta próxima parte será um pouco estranha para aqueles que já estão familiarizados com a linha de comando Linux. Execute os comandos da seguinte maneira (a saída de comando é omitida.)
$ sudo -Iu vapor # Abre um shell de login como o "vapor" usuário. Veja a página do homem sudo(8). $ steamcmd Steam>login anonymous Steam>force_install_dir ./Vonheim/ # O servidor Valheim tem um Appid diferente do cliente. Verifique isso link. Vapor>app_update 896660 Vapor>quit ^C
Se o “desistir” O comando apenas deixa o programa pendurado sem prompt, Digite Ctrl+C para sair completamente. Isso parece ser um bug no Steamcmd.
Agora que você tem o servidor dedicado Valheim instalado, É hora de configurar o serviço para executá -lo.
Execute o servidor Valheim via Systemd
O servidor Dedicado Valheim vem com um script de wrapper para executar o servidor, Mas vamos executar o servidor executável diretamente para nossa unidade de serviço Systemd.
A unidade Systemd
Escreva o seguinte código para o arquivo “/usr/local/lib/systemd/System/Valheim.service”.
[Unidade] Description=Valheim Dedicated Server After=network-online.target [Serviço] Type=exec User=steam Group=steam Environment="Ld_library_path =/home/Steam/Valheim/Linux64" "SteamAppid = 892970" ExecStart =/home/Steam/Valheim_server.x86_64 -Name "Eu esqueci de nomear meu servidor" -mundo "Midgard" -porta 2456 -senha "segredo" # Security settings LockPersonality=true NoNewPrivileges=true RestrictRealtime=true RestrictNamespaces=true SystemCallArchitectures=native SystemCallFilter=~@obsolete @clock @debug @module @mount @privileged @reboot @setuid @cpu-emulation CapabilityBoundingSet= RestrictAddressFamilies=AF_INET AF_INET6 RestrictSUIDSGID=true PrivateDevices=true PrivateTmp=true PrivateMounts=true PrivateUsers=true ProtectControlGroups=true ProtectHome=tmpfs BindPaths=/home/steam ProtectKernelModules=true ProtectKernelTunables=true ProtectSystem=full ProtectClock=true ProtectKernelLogs=true ProtectProc=invisible ProtectHostname=true RemoveIPC=true InaccessiblePaths=/srv/
Uma explicação completa das diretrizes do SystemD usada nesta unidade está além do escopo deste guia, Mas para aqueles interessados, As páginas relevantes do homem são as seguintes.
- Systemd.unit(5)
- Systemd.Service(5)
- systemd.exec(5)
- Systemd.Resource-Control(5)
Especificando um mundo
O “-mundo” O argumento é opcional; Se você deixar de fora, O servidor gerará um mundo para você a partir de uma semente aleatória na primeira execução.
De outra forma, Especifica o nome de um mundo para usar, que deve existir no diretório “/Home/Steam/.Config/Unity3D/irongate/Valheim/Worlds/”. Na unidade Systemd acima, Especificamos o mundo nomeado “Midgard”, Portanto, deve existir um arquivo nomeado “/Home/Steam/.config/unity3d/irongate/Valheim/Worlds/Midgard.fwl”. Isso permite que você use um mundo copiado de outros lugares.
Se você quiser usar um mundo existente no seu PC, mantendo seu progresso, Você também deve copiar o correspondente “.dB” arquivo para o mesmo local que o “.bulbo” arquivo.
Se você quiser usar um novo mundo, mas com uma semente específica, você deve criar o mundo com o cliente do jogo, Como o servidor não oferece como especificar uma semente para a criação do mundo inicial.
Permitindo o serviço
Que define o serviço, Mas o Systemd não sabe disso até recarregar as unidades. Faça isso correndo
$ SUDO SystemCTL Daemon-Reload
Em seguida, ative -o com
$ sudo systemctl Ativar Valheim.Service
Agora o servidor Valheim começará automaticamente na inicialização, Mas não até que a rede esteja acordada (É isso que a linha “Depois = rede-online.target” faz.) Para começar agora sem reiniciar, correr
$ SUDO SystemCtl Start Valheim.Service
Isso é tudo o que estamos compartilhando hoje para isso Valheim guia. Este guia foi originalmente criado e escrito por Aidalgol. Caso não atualizemos este guia, você pode encontrar a atualização mais recente seguindo este link.