Sobre o TShock
TShock é o toolkit padrão de servidor Terraria desde 2011. Mantido pelo time Pryaxis, oferece:
- Anti-cheat integrado
- Server-side characters (personagens salvos no servidor, não no cliente)
- Sistema de grupos + permissões
- Warps, spawn, kits
- Build protection
- Ban list, bans temporários
- 100+ comandos
- Ecossistema de plugins
Segundo a doc oficial (tshock.readme.io), TShock roda em .NET 9 (não precisa mais de Mono no Linux).
Requisitos
Terraria é bem leve:
| Players | RAM | vCPU | Disco |
|---|---|---|---|
| 2-8 | 1 GB | 1 vCPU | 5 GB |
| 8-32 | 2 GB | 2 vCPU | 10 GB |
| 32-100 | 4 GB | 2 vCPU | 20 GB |
Recomendação mínima oficial: 1 GB de memória.
Instalação (Linux)
1. Preparar
apt update
apt install -y unzip screen wget curl libicu-dev
useradd -m -s /bin/bash terraria
su - terraria
mkdir server && cd server
2. Baixar .NET 9 runtime
TShock precisa de .NET 9. Se ainda não tem:
# Adiciona repo Microsoft
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update
sudo apt install -y dotnet-runtime-9.0
Verifique: dotnet --list-runtimes deve mostrar Microsoft.NETCore.App 9.0.x.
3. Baixar TShock
cd ~/server
# Última versão (troque URL pela mais recente):
wget https://github.com/Pryaxis/TShock/releases/latest
unzip TShock-*.zip
rm TShock-*.zip
chmod +x TShock.Server
4. Rodar (primeira vez)
screen -S terraria ./TShock.Server
Ao primeiro start, TShock pergunta:
- Servidor World: escolha "Create new" e nome do mundo
- World size: Small (2 hors), Medium (4h), Large (8h)
- Difficulty: Classic, Expert, Master
- Max players: 8, 16, 32...
- Port: 7777 (padrão)
- Password: (opcional pra servidor privado)
TShock salva tudo em config.json.
Detach do screen: Ctrl+A D. Reanexar: screen -r terraria.
5. Firewall
ufw allow 7777/udp # Terraria (protocolo UDP)
Criar admin e primeiro login
No console TShock:
/user add admin senha admin
Cria usuário admin com senha senha no grupo admin.
No jogo:
- Join Server → IP:7777
- No chat:
/login admin senha - Você agora tem todos os comandos
Grupos e permissões
TShock tem grupos padrão:
- superadmin — tudo
- admin — comandos de moderação
- trustedadmin — admin com menos poder
- vip — comandos exclusivos
- default — nenhuma perm especial
Adicionar permissão:
/group addperm admin tshock.tp
/group listperm admin
Criar grupo novo:
/group add moderador default
/group addperm moderador tshock.kick
/group addperm moderador tshock.mute
Promover jogador:
/user group PlayerX moderador
Comandos essenciais
/help lista comandos
/tp <player> teleport
/tphere <player> puxar player pra você
/pvp alternar PvP
/give <item> <player> dar item
/heal <player> curar
/god <player> modo deus
/kick <player>
/ban <player> ban permanente
/mute <player>
/warp <name> ir para warp
/setwarp <name> criar warp
/spawn ir ao spawn
/region gerenciar regiões protegidas
/reload recarregar config
/save salvar mundo
Lista completa: tshock.readme.io/docs/commands
Instalar plugins
Baixe .dll de forums.terraria.org ou TShock Discord.
Coloque em ~/server/ServerPlugins/ e reinicie.
Plugins populares:
- Reports — sistema de report entre jogadores
- AutoSave — save automático em intervalo custom
- CustomPvp — regras PvP configuráveis
- HouseRegions — proteção de casas
- SEconomy — sistema de economia
- TShockAPI-derived plugins — vários no fórum
Multi-mundos
TShock roda 1 mundo por instância. Para múltiplos mundos:
- Rode várias instâncias TShock em portas diferentes (7777, 7778, 7779)
- Use plugin MultiWorld para gerenciar
Backup automático
# ~/backup.sh
#!/bin/bash
DATE=$(date +%F-%H)
cp ~/server/tshock/save/*.wld /backup/terraria-$DATE.wld
find /backup -name "terraria-*" -mtime +14 -delete
Cron:
0 */6 * * * /home/terraria/backup.sh
Otimização
- TShock salva mundo em intervalo. Padrão bom. Não reduza abaixo de 10 min (I/O).
- Se mundo grande + muitos players: aumentar
SaveIntervalemconfig.json. - Para 50+ players: aumente RAM. Terraria não é multithreaded (single-core intensivo).
Update do TShock
Toda versão nova do Terraria (major) requer TShock atualizado. Antes de atualizar:
- Backup do mundo (
.wld,.wld.bak) - Backup do config:
tshock/config.json,tshock/tshock.sqlite - Baixa nova versão, extrai por cima
- Roda — se der erro, restaura backup
Perguntas frequentes
"Meu personagem some ao entrar no servidor"
Server-side characters está ativo. Você começa com char zerado (por design). Desativar em config.json: ServerSideCharacter: false (mas desliga anti-cheat).
"Player pode usar itens hackeados?"
Não, anti-cheat bloqueia stack sizes ilegais e prefixes inválidos.
"E mods (tModLoader)?"
tModLoader tem seu próprio server dedicado. Você não pode rodar TShock + tModLoader mods juntos (protocolos diferentes).
Conclusão
TShock é obrigatório pra servidor Terraria comunitário. Setup em 30min, roda em VPS pequena, ecossistema maduro.
Nossos VPS-BR-01 rodam Terraria + TShock com folga para até 30 amigos.

