Introdução: Por que hospedar Valheim em Linux via Docker?
O sucesso de Valheim transformou a experiência de sobrevivência em mundo aberto, mas jogar com amigos exige estabilidade e baixa latência. Embora seja possível rodar servidores na nuvem da Steam (Listen Server), essa opção é limitada por hardware e não oferece controle total sobre o ambiente. A alternativa profissional é utilizar um servidor dedicado Linux, que garante recursos dedicados, backups automatizados e independência do cliente de jogos.
Para sysadmins e desenvolvedores, a melhor abordagem moderna para esse cenário é o uso de Docker. Ao containerizar o servidor Valheim, você isola as dependências (como Mono e bibliotecas nativas), simplifica atualizações e facilita a migração entre diferentes VPS providers. Este guia técnico demonstra como configurar um Valheim Dedicated Server Linux utilizando Docker Compose em uma distribuição baseada em Debian/Ubuntu, o padrão da indústria para serviços web e de jogos.
Pré-requisitos e Infraestrutura
Antes de iniciar a instalação, certifique-se de que sua infraestrutura esteja preparada. Um servidor Valheim VPS mínimo recomendado deve possuir:
- CPU: 2 vCPUs ou mais (Valheim é sensível à velocidade single-core).
- RAM: 4 GB de memória RAM dedicada.
- Armazenamento: SSD NVMe com pelo menos 10 GB livres para o sistema operacional, container e arquivos do jogo.
- Sistema Operacional: Ubuntu 20.04/22.04 LTS ou Debian 11/12.
- Acesso: Root ou usuário com privilégios sudo.
Além disso, você precisará de um domínio (opcional, mas recomendado para facilitar a conexão) e acesso SSH ao seu servidor. Se estiver utilizando uma VPS da Toda Solução ou qualquer outro provedor, verifique se as portas 2456-2457 (UDP) e 2458 (TCP) estão abertas no firewall do servidor.
Etapa 1: Preparação do Ambiente Linux
O primeiro passo é garantir que o sistema esteja atualizado e que as dependências básicas de virtualização estejam instaladas. Conecte-se ao seu servidor dedicado Linux via SSH:
ssh root@seu_ip_servidor
Atualize os pacotes do sistema para garantir compatibilidade com as imagens mais recentes:
apt update && apt upgrade -y
Agora, instale o Docker Engine. Embora existam scripts de instalação automática, a maneira recomendada para produção é adicionar o repositório oficial da Docker para garantir atualizações seguras e estáveis:
apt-get install ca-certificates curl gnupg lsb-release -y
Crie o diretório para as chaves GPG do Docker:
mkdir -p /etc/apt/keyrings
Baixe a chave oficial e adicione o repositório:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
Instale o Docker Engine, o CLI e o Compose Plugin:
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Verifique a instalação adicionando seu usuário atual ao grupo docker (evitando usar sudo para cada comando docker no futuro, embora neste tutorial usaremos root):
docker --version
docker compose version
Etapa 2: Configuração do Docker Compose para Valheim
Agora que o Docker está rodando, vamos criar a estrutura de diretórios e o arquivo de configuração. O uso de Docker Compose é essencial para gerenciar variáveis de ambiente e mapeamentos de volume de forma limpa.
Crie um diretório dedicado para o servidor:
mkdir -p /opt/valheim-docker
cd /opt/valheim-docker
Crie os subdiretórios para manter a organização. O Docker exige que os volumes existam ou sejam criados, mas é boa prática definir a estrutura:
mkdir -p data/worlds
mkdir -p config
O segredo de um servidor Valheim Linux está nas variáveis de ambiente. Crie o arquivo docker-compose.yml na raiz do diretório criado:
nano docker-compose.yml
Cole a seguinte configuração. Note os campos críticos para segurança e performance:
version: '3.8'
services:
valheim-server:
image: lloesche/valheim-server:latest
container_name: valheim-dedicated
restart: unless-stopped
ports:
- "2456:2456/udp"
- "2457:2457/udp"
- "2458:2458/tcp"
environment:
SERVERNAME: "Meu Servidor Valheim Brasil"
WORLDNAME: "MundoSurvival"
PUBLICINTERFACES: 1
PASSWORD: "senha_forte_aqui"
SERVERMODS: ""
volumes:
- ./data:/opt/valheim-server-data
healthcheck:
test: ["CMD", "/bin/bash", "-c", "echo exit"]
interval: 30s
timeout: 10s
retries: 5
Análise Técnica da Configuração:
- Image: Utilizamos a imagem
lloesche/valheim-server, que é amplamente reconhecida pela comunidade por manter as dependências atualizadas e suportar mods. - Ports: O mapeamento UDP é crítico. A porta
2456é para dados do jogo,2457para descoberta de servidor e2458para status HTTP (painel de controle web). - Servername/Worldname: Defina nomes únicos. O nome do mundo não pode conter espaços.
- Password: Se não definir, o servidor aceitará qualquer conexão, expondo seu mundo a griefers. Use senhas complexas.
- Volumes: O mapeamento
./data:/opt/valheim-server-dataé vital. Todos os saves e configurações ficam no seu disco local (ou cloud storage), garantindo que você não perca dados se o container for recriado.
Etapa 3: Inicialização do Servidor
Com o arquivo docker-compose.yml salvo, inicie o serviço em modo detached (segundo plano):
docker compose up -d
O Docker baixará a imagem base, que pode levar alguns minutos dependendo da sua largura de banda. Após a conclusão, verifique se o container está rodando:
docker ps
Você deve ver o container valheim-dedicated com o status "Up". Para monitorar os logs em tempo real e verificar se o servidor iniciou corretamente (carregamento de mundo, geração de chaves, etc.), utilize:
docker compose logs -f
Aguarde até ver mensagens indicando que o servidor está aceitando conexões. Geralmente, a primeira inicialização leva alguns minutos para gerar o mapa proceduralmente.
Etapa 4: Acesso ao Painel de Controle Web (RCON)
Uma das grandes vantagens de hospedar um servidor Valheim VPS via Docker é o acesso ao painel web integrado. Ele permite gerenciar jogadores, banimentos e comandos sem precisar acessar o terminal do servidor a cada mudança.
Acesse a interface web através do navegador usando o IP público da sua VPS na porta 2458:
http://<seu_ip_servidor>:2458
Ao acessar, você verá uma tela de login. As credenciais padrão geralmente são:
- Usuário:
admin - Senha:
admin
Importante: Assim que fizer login, altere a senha imediatamente nas configurações do painel ou editando o arquivo docker-compose.yml e reiniciando o container. Isso é uma prática de segurança básica para qualquer serviço exposto na internet.
No painel, você pode:
- Ver o número de jogadores online e a latência (ping).
- Banir ou kickar jogadores problemáticos.
- Alterar configurações do mundo em tempo real (como dificuldade, dano aumentado, etc.).
- Fazer backup manual dos saves.
Etapa 5: Conexão dos Clientes e Firewall
Para que seus amigos consigam entrar no servidor, é necessário configurar o firewall do seu sistema Linux. Se estiver usando UFW (Uncomplicated Firewall), abra as portas necessárias:
ufw allow 2456/udp
ufw allow 2457/udp
ufw allow 2458/tcp
ufw reload
Se você estiver atrás de um roteador doméstico (caso hospede em casa, o que não é recomendado para produção), precisará configurar Port Forwarding no seu modem. No entanto, para uma VPS, apenas as regras do firewall do sistema operacional são suficientes.
Para conectar:
- Abra o Valheim no seu PC.
- Clique em "Jogar Online".
- Clique em "Adicionar Favoritos".
- No campo "IP", insira o IP público da sua VPS.
- No campo "Nome", coloque um identificador.
- A senha será solicitada na primeira conexão. Use a senha definida no
docker-compose.yml.
Etapa 6: Manutenção e Backups Automatizados
Um servidor dedicado Linux requer manutenção periódica. A principal preocupação é a perda de dados. O Docker Compose já garante que os arquivos fiquem no diretório /opt/valheim-docker/data, mas você deve criar backups externos.
Crie um script simples de backup usando cron. Crie o arquivo backup.sh:
nano /opt/valheim-docker/backup.sh
Insira o seguinte conteúdo:
#!/bin/bash
DATE=$(date +"%Y%m%d_%H%M%S")
BACKUP_DIR="/opt/backups/valheim"
SOURCE_DIR="/opt/valheim-docker/data"
mkdir -p $BACKUP_DIR
# Comprime e move o backup
tar -czf "$BACKUP_DIR/valheim_backup_$DATE.tar.gz" -C $(dirname $SOURCE_DIR) $(basename $SOURCE_DIR)
# Remove backups com mais de 7 dias
find $BACKUP_DIR -name "valheim_backup_*.tar.gz" -mtime +7 -delete
echo "Backup realizado em $DATE" >> /var/log/valheim-backup.log
Torne o script executável e adicione ao crontab para rodar diariamente às 4 da manhã:
chmod +x /opt/valheim-docker/backup.sh
crontab -e
Adicione a linha:
0 4 * * * /opt/valheim-docker/backup.sh
Etapa 7: Atualização do Servidor
Quando a Iron Gate Studio lançar atualizações, você precisará atualizar sua imagem Docker. Não é necessário parar o servidor manualmente na maioria dos casos, mas é recomendado para garantir consistência.
cd /opt/valheim-docker
docker compose pull
docker compose up -d
O docker compose pull baixa as novas imagens e o up -d recria os containers com a nova versão. Como seus dados estão em volume persistente (./data), seu mundo e configurações serão preservados.
Considerações Finais sobre Hospedagem de Jogos Linux
Configurar um Valheim Dedicated Server Linux via Docker oferece o equilíbrio perfeito entre controle técnico e facilidade de uso. Diferente de setups tradicionais com Mono direto no sistema, o container garante que as dependências não conflitem com outros serviços do seu servidor.
Para quem busca escalar para outros jogos ou gerenciar múltiplos servidores de jogos em uma única VPS, a metodologia Docker Compose é a base da infraestrutura moderna. Ela permite isolar recursos, limitar CPU/RAM por container e manter um ambiente limpo.
Lembre-se sempre de monitorar o uso de memória RAM. Valheim pode ser voraz em mapas grandes com muitos jogadores. Se seu servidor começar a ficar lento, considere aumentar a swap ou migrar para uma VPS com mais recursos. Além disso, mantenha as senhas do servidor e do painel web seguras para evitar invasões.
Agora que você tem um servidor Valheim Linux rodando, pode focar no que realmente importa: a sobrevivência e a exploração do seu mundo procedural com sua guilda.