A configuração de um servidor Terraria VPS exige atenção especial, pois o jogo é single-threaded e depende intensamente da velocidade do clock do processador. Para jogadores que desejam uma experiência estável com múltiplos usuários, a escolha de uma vps linux jogos robusta é o primeiro passo. Neste tutorial, vamos focar na implementação do TShock, o framework mais popular para gerenciamento de servidores multiplayer, e nas técnicas de otimização para maximizar os slots disponíveis sem comprometer a latência.
O TShock (Terra Server Hosted Online) transforma um servidor vanilla em uma plataforma robusta, permitindo controle de permissões, proteção contra griefing, economia integrada e suporte a mods. Além disso, ele oferece ferramentas de administração que facilitam o gerenciamento diário da sua comunidade. Vamos começar pelo ambiente Linux, preferencialmente Ubuntu 20.04 ou 22.04 LTS, conhecido por sua estabilidade e compatibilidade.
1. Preparação do Ambiente Linux
Antes de instalar qualquer software relacionado ao Terraria, é crucial garantir que o sistema operacional esteja atualizado e com as bibliotecas necessárias para a execução da Mono Runtime ou .NET Core, dependendo da versão do TShock.
- Atualize o sistema: Execute os comandos abaixo para garantir que todos os pacotes estejam na versão mais recente de segurança.
sudo apt update
sudo apt upgrade -y
Em seguida, instale as dependências básicas necessárias para compilação e execução de softwares .NET/Mono:
sudo apt install -y wget unzip curl mono-complete libmono-system-net-http4.0-cil
O pacote mono-complete é frequentemente necessário para versões mais recentes do TShock que ainda não foram totalmente migradas para o .NET 6/7/8 nativo, embora algumas builds utilizem Mono. Verifique sempre a documentação oficial do TShock para a versão específica que você está baixando.
2. Instalação e Configuração do TShock
A instalação do TShock deve ser feita em um diretório dedicado para facilitar backups e atualizações. Crie um usuário dedicado para rodar o servidor, melhorando a segurança do seu host terraria brasil.
- Crie o usuário do sistema:
sudo adduser --disabled-password --gecos "" tshock_user
sudo mkdir -p /opt/tshock
sudo chown -R tshock_user:tshock_user /opt/tshock
cd /opt/tshock
sudo -u tshock_user wget https://github.com/PaperMC/TShock/releases/latest/download/TShock.zip
Nota: Verifique sempre o link de download oficial, pois URLs podem mudar com novas versões.
sudo -u tshock_user unzip TShock.zip
sudo chown -R tshock_user:tshock_user /opt/tshock/*
Agora, execute o servidor pela primeira vez para gerar os arquivos de configuração padrão:
cd /opt/tshock
mono TerrariaServer.exe -configfile /opt/tshock/config.json
O servidor iniciará, pedirá um administrador e depois fechará. Isso cria o arquivo TShockDB.sqlite e o config.json.
3. Otimização do Configuração para Mais Slots
A otimizacao servidor terraria começa pela configuração de memória e limites de conexão. Edite o arquivo TShock.json (gerado na etapa anterior) com um editor como nano.
sudo nano /opt/tshock/TShock.json
Dentro do arquivo, procure pelas seções de configuração. Os seguintes parâmetros são críticos:
- MaxPlayers: Defina este valor conforme a capacidade da sua VPS. Para uma VPS com 2GB de RAM e 2 vCPUs, 30-40 jogadores é um limite seguro. Se você tiver recursos dedicados maiores, pode subir para 60 ou mais.
- MaxHP: Aumente a vida máxima dos jogadores se desejar um jogo mais "tanky".
- RegenRate: A taxa de regeneração. Valores muito altos podem causar lag em servidores lotados devido ao cálculo constante.
Além disso, no arquivo serverconfig.json, ajuste o Port (geralmente 7777) e certifique-se de que o Password esteja definido se o servidor for privado.
4. Plugins Essenciais para Gerenciamento
Os plugins terraria linux expandem drasticamente a funcionalidade do seu servidor. A pasta de plugins fica localizada em /opt/tshock/Plugins. Para instalar, basta baixar o arquivo .dll do plugin e colocá-lo nesta pasta.
TShock API e Permissões
O TShock já vem com um sistema de permissões integrado. Use os comandos dentro do jogo ou via console SSH para gerenciar grupos:
/group add Admin
/group add Moderador
/user setgroup nome_usuario Moderador
TShock Plugins Recomendados
- TShockAPI: Base para execução de outros plugins.
- TShockSpamProtection: Fundamental para evitar floods de chat e comandos, mantendo o servidor limpo.
- TShockReAuth: Melhora a segurança contra bots de login.
- TShockTeleportation: Permite teletransportes seguros entre jogadores ou pontos salvos.
Para instalar, baixe o .dll e reinicie o servidor. O TShock carregará automaticamente os plugins na inicialização.
5. Configuração de Firewall e Segurança
A segurança da sua vps para jogos é vital. Use UFW (Uncomplicated Firewall) para liberar apenas as portas necessárias.
- Instale o UFW:
sudo apt install ufw -y
sudo ufw allow 7777/udp
sudo ufw allow 7777/tcp
O Terraria usa principalmente UDP para comunicação em tempo real, mas o TCP é necessário para algumas conexões iniciais e atualizações.
sudo ufw allow ssh
sudo ufw enable
sudo ufw status verbose
Verifique se a saída mostra as portas 7777 e 22 como "ALLOWED".
6. Execução com Systemd (Gerenciamento de Processo)
Não rode o servidor manualmente usando mono TerrariaServer.exe. Isso faz com que o processo termine se você fechar o terminal. Crie um serviço systemd para mantê-lo rodando em segundo plano.
sudo nano /etc/systemd/system/tshock.service
Cole a seguinte configuração:
[Unit]
Description=TShock Terraria Server
After=network.target
[Service]
Type=simple
User=tshock_user
WorkingDirectory=/opt/tshock
ExecStart=/usr/bin/mono TerrariaServer.exe -configfile /opt/tshock/config.json
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
Salve o arquivo (Ctrl+O, Enter) e saia (Ctrl+X). Então, recarregue o systemd, ative e inicie o serviço:
sudo systemctl daemon-reload
sudo systemctl enable tshock
sudo systemctl start tshock
Para verificar o status do servidor:
sudo systemctl status tshock
Para ver os logs em tempo real, use:
journalctl -u tshock -f
7. Otimizações Avançadas de Performance
A otimizacao servidor terraria não para nas configurações do jogo. O kernel Linux pode ser ajustado para melhorar a latência de rede e o uso de CPU.
Tuning de Kernel (sysctl)
Edite o arquivo /etc/sysctl.conf para otimizar o buffer de rede:
sudo nano /etc/sysctl.conf
Adicione estas linhas ao final do arquivo:
# Otimização de Rede para Jogos
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.core.netdev_max_backlog = 5000
Aplique as mudanças:
sudo sysctl -p
Governor de CPU
Garanta que a VPS esteja usando o governor "performance" para evitar quedas de clock durante picos de processamento.
sudo apt install cpufrequtils -y
echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils
sudo service cpufrequtils restart
Verifique se o governor está ativo:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
8. Backups Automatizados
Nunca ignore backups. Crie um script simples para backup diário do banco de dados e dos mundos.
sudo nano /opt/backup_tshock.sh
Conteúdo do script:
#!/bin/bash
BACKUP_DIR="/var/backups/tshock"
DATE=$(date +%F_%H%M%S)
mkdir -p $BACKUP_DIR
# Parar o servidor temporariamente para garantir integrididade (opcional, mas recomendado)
sudo systemctl stop tshock
# Copiar arquivos
cp -r /opt/tshock/TShockDB.sqlite $BACKUP_DIR/
cp -r /opt/tshock/worlds/* $BACKUP_DIR/
# Reiniciar o servidor
sudo systemctl start tshock
# Remover backups antigos (manter últimos 7 dias)
find $BACKUP_DIR -type f -mtime +7 -delete
echo "Backup realizado em $DATE" >> /var/log/tshock_backup.log
Torne o script executável e adicione ao crontab:
sudo chmod +x /opt/backup_tshock.sh
sudo crontab -e
Adicione a linha para rodar às 3 da manhã:
0 3 * * * /opt/backup_tshock.sh
9. Conclusão e Boas Práticas
Agora você possui um terra server dedicado virtual, seguro e otimizado. Lembre-se de monitorar o uso de recursos regularmente usando comandos como htop ou top. Se a CPU estiver constantemente em 100%, considere migrar para uma VPS com clock mais alto (GHz) em vez de apenas mais núcleos.
Mantenha o TShock atualizado. Versões desatualizadas podem conter vulnerabilidades de segurança ou bugs que afetam a jogabilidade. Participe da comunidade do TShock no Discord para suporte rápido e novas ideias de plugins.
Com essas configurações, sua vps linux jogos estará pronta para receber jogadores com baixa latência e alta estabilidade, proporcionando uma experiência digna de um servidor profissional.